(1)在ps.bas中有:
Public kc As Long
Public s1 As New ADODB.Recordset(2)文件名:main.bas
在启动系统时,SQL语句已经正确执行,系统能正常运行。
Public Sub Main()
Call ConnectDB
s1.open "select * from book where ldd=" + Str(kc), cn, adOpenStatic, adLockOptimistic
.............
End Sub
(3)
在DialogCheckOut.frm文件中有过程:
Public Sub cs()
kc=1
s1.Requery
i= s1.RecordCount
...............
end sub问题:在执行cs过程时,当kc=1时应该能选出i=5条记录,结果i=0。检查的结果发现,在执行s1.Requery时,SQL语句中的变量kc不是1,而是一个“超出上下文”的不确定,结果是s1.RecordCount=0,因此没有选到任何记录。请问,如何在执行s1.Requery时使得SQL语句的变量kc有值1呢?问题出在用Requery刷新记录集s1时,执行SQL语句无法(即没有)激活全局变量kc,因此使得kc无值造成的。如何解决?
Public kc As Long
Public s1 As New ADODB.Recordset(2)文件名:main.bas
在启动系统时,SQL语句已经正确执行,系统能正常运行。
Public Sub Main()
Call ConnectDB
s1.open "select * from book where ldd=" + Str(kc), cn, adOpenStatic, adLockOptimistic
.............
End Sub
(3)
在DialogCheckOut.frm文件中有过程:
Public Sub cs()
kc=1
s1.Requery
i= s1.RecordCount
...............
end sub问题:在执行cs过程时,当kc=1时应该能选出i=5条记录,结果i=0。检查的结果发现,在执行s1.Requery时,SQL语句中的变量kc不是1,而是一个“超出上下文”的不确定,结果是s1.RecordCount=0,因此没有选到任何记录。请问,如何在执行s1.Requery时使得SQL语句的变量kc有值1呢?问题出在用Requery刷新记录集s1时,执行SQL语句无法(即没有)激活全局变量kc,因此使得kc无值造成的。如何解决?
Public Sub cs()
dim s2 as new ADODB.Recordset
s2=s1.clone
kc=1
s2.filter="ldd='1'"
i= s1.RecordCount
...............
end sub
這樣不用每次都去查找數據庫,如果TABLE有很多記錄的話,只能重新OPEN,不知其它人有沒有什么方法。