中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual Basic > 综合文章
VB数据库数据的选项录入及增减与编辑之四
作者:未知 时间:2004-02-14 12:12 出处:PConline 责编:chinaitpower
              摘要:VB数据库数据的选项录入及增减与编辑之四
3 数据的选项录入、选项增减及选项编辑

  有些字段的值域较小且相对固定,但会有一定的变化,如“省市”字段会产生变化,如增设一个省或市,撤县设市等等,程序除提供一个合法的基本的选项框供用户选择外,还应允许用户对这个基本的选项框进行增减或编辑。下面的程序实现了此功能,用户双击表单则可对选项框进行增减和编辑,完成后再双击表单关闭编辑功能。

  先建立一个数据库“c:myrand.mdb”,其表“rank”中加入一个字段“name”;再从工具箱中拖入一个数据控件data2,一个数据绑定组合框dbcombol和数据绑定网格控件dbgrid1。属性设置为:(1)data2控件的:databasename属性设为“c:\myrand.mdb”,recordsource为“rank”;(2)dbcombo控件的:name设为dbcombo1,rowsource设为data2,listfiele设为“name”,datasource设为data1。datafield设为“name”;(3)dbgrid控件的:name设为dbgrid1,将allowaddnew、allowdelete、allowupdate均设为true, datasource设为data2。

程序代码如下:

option explicit

dim last as string

dim dd as boolean

private sub form-activate()

dim mark as variant

mark=data1.recordset.bookmark

data1.recordset.movelast

last=data1.recordset("name")

data1.recordset.bookmark=mark

text1.visible=true

dbcombol.visible=false

dbgrid1.visible=false

end sub

private sub form-dblclick() ’双击表单打开或关闭选项增减和选项编辑功能

static dd as boolean

dd=not dd ’第一次双击打开编辑功能第二次双击关闭编辑功能

if dd then

dbgrid1.visible=true

else

dbgrid1.visible=false

exit sub

end if

end sub

private sub dbgrid1-dblclick() ’选择当前项后,再双击删除当前记录选项

data2.recordset.delete

dbcombol.refresh

dbgrid1.refresh

end sub

private sub dbgrid1-lostfocus()

dbcombol.refresh ’刷新dbcombol

end sub

private sub command1-click(index as integer)

dim i as integer

select case index

case0’addnew

data1.recordset.addnew

dbcombol.setfocus

dbcombol.visible=true

text1.visible=false

case1’edit

data1.recordset.edit

text1.setfocus

dbcombol.visible=false

text1.visible=true

case2’giveup

data1.recordset.cance1update

data1.refresh

dbcombol.visible=false

text1.visible=true

case3’save

data1.recordset. update

data1.recordset.movelast

last=data1.recordset("name")

data1.refresh

dbcombol.visible=false

text1.visible=true

case4’delete

data1.recordset.delete

data1.refresh

case5’end

end

end select

end sub

private sub dbcombol-keydown

(keycode as integer,shift as integer)

if shift=2 then ’按下ctrl-key复制上条记录中的同名字段的内容

if data1.recordset.editmode=dbeditinprogress or

data1.recordset.editmode=dbeditadd

then

dbcombol.text=last

end if

end if

end sub% private sub text1-keydown(keycode as integer,shift as integer)

if shift=2 then ’按下ctrl-key复制上条记录中的同名字段的内容

if data1.recordset.editmode=dbeditinprogress or

data1.recordset.editmode=dbeditadd

then

text1.text=last

end if

end if

end sub

  通过上述方法使录入速度进一步得到提高,使用户的功效达到事半功倍的效果。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有