如何显示查询结果
编号:QA001840
建立日期: 1999年10月9日 最后修改日期:1999年10月9日
所属类别:
庄严:
vb6
windows95
1.我在c:\vbzy目录下建立了一个名为 zdrk.mdb 的数据库文件,该文件里建了一个表:家庭成员,里面包含两个字段:姓名,出生年月
2、我用VB6建了个窗体里面有两个TEXTBOX 分别用来显示姓名和出生年月还有个查询按纽
3、我点击查询后
dim db as database
dim re as recordset
set db=dbengine.workspaces(0).opendatabase("c:\vbzy\zdrk.mdb")
set re=db.openrecordset("重点人口",dbopentable)
if re.recordcount>0 then
re.movefirst
do until re.eof
if re("姓名")="庄严" then
把查到的记录的相关字段如何显示到我那两个文本框中?就是每一个字段的内容如何赋值给TEXTBOX中,前题有两个
1、所有记录中只有一条符合条件 2、有两条以上符合条件
如果有两条以上那么在查询按纽边上动态显示下一个按纽并且在我按了下一个按纽后又把下一条符合的记录的字段内容显示在相应的TEXTBOX中,结束后又动态的显示上一个按纽,按上一个按纽又回到刚才显示的符合条件的记录?
end if
以上IF里面的程序希望主持人能帮忙写出来,本人表示万分感谢!
回答:
在窗体上添加两个按钮分别是“上一条”和“下一条”,两个按钮的Visible属性设置为False。
把db和re的定义写到窗体的声明部分。
Dim db As database
Dim re As recordset
查询过程这样写:
Set db = DBEngine.WorkSpaces(0).OpenDatabase("c:\vbzy\zdrk.mdb")
' 采用dbOpenDynaset方式,而不是使用dbOpenTable方式,
' 除非你建立的索引
Set re = db.OpenRecordset( _
"SELECT * FROM 重点人口 WHERE 姓名='庄严'", dbOpenDynaset)
If re.RecordCount > 0 Then
re.MoveLast
' 如果有超过两条符合条件的记录
btnNext.Visible = re.RecordCount > 1
re.MoveFirst
' 显示结果
Text1.Text = re("姓名")
Text2.Text = re("出生年月")
End If
' 上一条记录
Private Sub btnPrevious_Click()
re.MovePrevious
Text1.Text = re("姓名")
Text2.Text = re("出生年月")
btnNext.Visible = True
re.MovePrevious
btnLast.Visible = Not re.BOF
re.MoveNext
End Sub
' 下一条记录
Private Sub btnNext_Click()
re.MoveNext
Text1.Text = re("姓名")
Text2.Text = re("出生年月")
btnLast.Visible = True
re.MoveNext
btnNext.Visible = Not re.EOF
re.MovePrevious
End Sub
此问题由李海回答。
| |
|
|
| |
|
|