Recordset(记录集)对象代表你在程序中使用的数据。
在上面的程序中,曾使用一个名为RecordsetType(记录集类型)的数据属性指明数据库信息为一个表。在Visual Basic中,Recordset(记录集)是一个代表你正在程序中使用的数据库部分的对象。当把数据控件的RecordSource属性设置为表或查询的名称时,就定义了一个新的名为Recordset的对象。Recordset对象有它自己的一套特殊属性和方法,使你能查找、排序、添加和删除记录。
在下面的练习中,将使用Recordset对象在zgda.mdb数据库中按编号查找项目,并将它们显示出来。
1、在zgda.mdb中查找数据
在修改程序之前,为保护原始程序,请先以新文件名将它存盘。
1) 在文件菜单中,单击另存为窗体、另存为工程菜单项。以MyFindRec.frm、MyFindRec.vbp为文件名分别保存窗体和工程。
2)在窗体的左下方创建两个命令按钮对象,Caption属性分别设置为“查找”、“结束”。
3)添加代码。
Option Explicit
Dim prompt As String, searchSearchStr As String
Private Sub Command1_Click()
prompt$ = "输入要查找的编号:"
searchSearchStr$ = InputBox(prompt$, "搜索记录")
Data1.Recordset.Index = "Primarykey" '使用类名
Data1.Recordset.Seek "=", searchSearchStr '进行搜索。Seek方法可以查找匹配的记录。
If Data1.Recordset.NoMatch Then '如果不匹配
Data1.Recordset.MoveFirst '则取第1课记录
End If
End Sub
程序说明:
该事件过程显示一个查找对话框,以便用户能输入编号(SearchStr$)。接下来它使用Seek方法从头至尾对数据库“编号”字段进行搜索,直至找到匹配项或者搜索到表的结尾。如果未找到匹配项,Visual Basic将显示一条信息“No current record”,并且在第一个文本框中显示Recordset(记录集)的第一条记录。该事件过程所使用的Recordset属性和方法如下表所示:
Recordset属性或方法
说明
Index 用于定义查找和排序过程中所使用的数据库字段的属性
Seek 用于查找记录的方法。除=以外,关系运算符>=、>、<=和<也可用来将所查找的字符串与数据库中的文本进行比较
NoMatch 该属性的值为True时表示未查找到匹配项
MoveFirst 使Recordset的第一条记录成为当前记录的一个方法
2、向zgda.mdb数据库添加记录
在向数据库添加新记录时,应在设计模式下将数据对象的ReadOnly(只读)属性设定为False(假),然后使用事件过程中的AddNew(添加新记录)方法在数据库中添加新记录。当窗体中出现空白记录时,用户就可以在需要的字段中填写内容了,添加完毕后,将当前记录移动到数据库中的其它记录即可。用户移动到不同记录的较简单的方法是单击数据对象的一个按钮。当用户移动到其它记录时,新的记录就按字母顺序被插入数据库中了。下面的练习演示了如何使用ReadOnly属性和AddNew方法在数据库中插入新记录。在该过程中,InputBox函数为用户提供了一些可视化反馈信息。
注:AddNew方法用来向数据库添加一条新记录。
让用户向数据库中添加记录在修改程序之前,为保护原始程序,请先以新文件名保存原始程序。
1) 在File(文件)菜单中,单击Save MyFindRec.frm As(MyFindRec.frm另存为)菜单项。将MyFindRec窗体另存为MyAddRec.frm。使用Save Project As(工程另存为)菜单项将该工程另存为MyAddRec.vbp。
2)将Data1对象的ReadOnly属性设定为False。
3)在窗体的Find按钮右边再创建一个命令按钮对象Command3,并设置“Caption”属性为“添加”。
4)双击“添加”按纽,编写代码。
Private Sub Command3_Click()
Dim reply
prompt$ = "Enter the new record, and then click the left arrow button."
reply = MsgBox(prompt$, vbOKCancel, "Add Record")
If reply = vbOK Then 'if the user clicks OK
Text3.SetFocus 'move cursor to Title box
Data1.Recordset.AddNew 'and get new record
End If
End Sub
该过程首先向用户显示一个包含数据输入提示的对话框。MsgBox函数使用vbOKCancel参数(由Visual Basic定义的数字型常量)显示一个含有OK(是)和Cancel(取消)按钮的对话框。如果用户单击OK,AddNew方法将创建一条新记录。如果用户单击Cancel,则操作被取消。该事件过程还使用SetFocus方法使Text3文本框中得到输入焦点。SetFocus方法可用来激活任何一个可以得到输入焦点的对象。
现在你就可以使用“添加”按钮向数据库添加新记录了。
运行:单击“添加”按钮,程序显示Add Record对话框,单击OK按钮,窗体中出现新的空记录。按顺序输入新记录信息(按Tab键在字段间切换)。你可以使用“添加”铵钮向zgda.mdb数据库中添加任意条记录。
【VB考试教程:使用Recordset对象】相关文章:
2025年外省高中学业水平合格性考试成绩转入江苏认定的通告公布05-07
2012宁夏高考报名方式05-07
Vb中控件的自动排列05-07
广西壮族自治区财政厅会计继续教育报名登录入口:https://czt.gxzf.gov.cn/kjgl/05-07
2023年广东梅州中考成绩查询时间及查分入口[7月7日起]05-07
儿童舞蹈教程:国标新手上路05-07
2024年江苏中级导游等级考试准考证打印时间及入口(11月18日9:00起)05-07
2018湖南省农村信用社联合社招聘科技专业人才拟聘公告05-07
at(the)least和not(in)the least用法区别 相似词语辨析(17)05-07
浅析助学贷款对经济发展的正向影响05-07
