第七步
前条、首条
数据库中有了数据后,我开始想实现简单的查询,想想还是一条一条查吧,于是就整了前条,所谓前条,就是当年记录的前一条记录,我的思路是,先从数据库中把所有记录查询出来,然后用循环找到当前显示在文本框中的记录(我是用ID字段来比较的,因为它不会重复),然后前移一条记录,显示在文本框中,如果是第一条记录,就把前条、首条按钮禁止掉,当然,向前移了,后条、末条按钮当然不能再禁止了。
首条就相对容易一点了,先从数据库中把所有记录查询出来,然后移到第一条记录后,显示在文本框中就行了。
代码如下:
Private Sub CommandButton2_Click() '前条
Dim Strsql As String
Call mycnn
Strsql = "Select * From 通讯录"
rst.Open Strsql, cnn, 1, 3
Do Until rst.Fields(0) = myID
rst.movenext
Loop
rst.MovePrevious
If rst.BOF Then
CommandButton1.Enabled = False
CommandButton2.Enabled = False
rst.movenext
End If
myID = rst.Fields(0)
For i = 1 To 12
Me.Controls("textbox" & i) = rst.Fields(i)
Next
Set rst = Nothing
Set cnn = Nothing
CommandButton3.Enabled = True
CommandButton4.Enabled = True
End Sub
Private Sub CommandButton1_Click() '首条
Dim Strsql As String
Call mycnn
Strsql = "Select * From 通讯录"
rst.Open Strsql, cnn, 1, 3
rst.movefirst
myID = rst.Fields(0)
For i = 1 To 12
Me.Controls("textbox" & i) = rst.Fields(i)
Next
Set rst = Nothing
Set cnn = Nothing
CommandButton1.Enabled = False
CommandButton2.Enabled = False
CommandButton3.Enabled = True
CommandButton4.Enabled = True
End Sub
PS:后面的后条和前条的思路类似,都是用循环,感觉效率有点低,但我实在想不出其他办法了。哪位仁兄仁姐知道的,就告诉我哈,多谢先。
再PS:由于世界杯,我有小小慢,不好意思哈,偶肯定会完成的。希望乱七八糟的文字和代码没有倒了大家伙的胃口哈。
[此贴子已经被作者于2006-6-22 21:38:29编辑过]