access2003中的VBA,请帮我看看哪里的代码错误了,为什么有语句不执行

skyfly2000 2007-12-19 03:25:15
Dim my_db As Database
Dim my_tb1 As Recordset
Dim my_tb2 As Recordset
Set my_db = CurrentDb
Set my_tb1 = my_db.OpenRecordset("select * from [" & Text0.Value & "] order by [时间]", dbOpenDynaset)
Set my_tb2 = my_db.OpenRecordset("select * from [" & Text1.Value & "] order by [时间]", dbOpenDynaset)
my_tb1.MoveFirst
my_tb2.MoveFirst
Do Until my_tb1.EOF
my_tb2.FindFirst "[时间]=" + "'" + my_tb1("时间") + "'"
If my_tb1("价格") <> my_tb2("价格") Then
MsgBox (my_tb1("时间") + " 表1价格为: " + Str(my_tb1("价格")) + " " + my_tb2("时间") + " 表2价格为: " + Str(my_tb2("价格")))
End If
my_tb1.MoveNext
my_tb2.MoveFirst
Loop
MsgBox ("检查完毕")
my_tb1.Close
my_tb2.Close





这个是我写的一段程序
有两张表,那我分别建立两个记录集,my_tb1和my_tb2.
两个表中都有[时间]这么一个字段,但是my_tb1中的时间比my_tb2中的要少,而且同样的时间的其他字段也是不同的.
那么我在这里想要实现的功能是
比如在my_tb1中时间为20060110 14:45,那我想在记录集my_tb2中也找到为这一时间的记录.
然后把这两张表中时间字段为20060110 14:45的其他字段进行比较.

举个例子就是my_tb1中时间为20060110 14:45的这条记录的某一个字段为10
my_tb2中时间为20060110 14:45中这条记录的某一个字段的值为20

我在程序中的后面会对这10和20进行比较.


说了半天,我遇到的麻烦是什么呢.是my_tb2.FindFirst "[时间]=" + "'" + my_tb1("时间") + "'"这条语句老是不执行.
换句话说,my_tb1我让它指针按顺序下移的,然后依次查找my_tb2中的相应记录.
但是my_tb2却一直停在第一个记录

我想知道是不是我上面的语句哪里写错了,那该怎么写呢?
请老师指导.谢谢.
...全文
71 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaddis 2007-12-19
有没有高手解答一下呀
一有答案立刻结帖
并追加分数
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7450

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告