vb与access数据更新的问题

jww1986 2009-10-05 06:39:38
一个程序,两个窗口,一个用来更改access表数据(Form1),另一个窗口有个combo1用来显示数据(Form2)。form2有一个按钮(command1)用来打开form1。现在我先打开form2,combo1读取出数据,点击command1打开form1,更改数据(添加或修改或删除)并关闭form1后,让combo1重新读取表中数据,发现还是更新前的数据,这怎么回事啊?当我再次更改数据后,发现这时读取的数据是第一次更改后的数据。
form2中command1代码如下:
Private Sub Command1_Click()
form1.Show
combo1.Clear
'****************信息填充***************
print1.ConnectionString = GetDatabaseConnectionString()
print1.RecordSource = "select * from kind "
print1.Refresh

If print1.RecordSet.EOF = False Then
print1.RecordSet.MoveFirst
End If
Do While print1.RecordSet.EOF = False
combo1.AddItem print1.RecordSet.Fields(2).Value
print1.RecordSet.MoveNext
Loop
End Sub
照理说,我成功更改了表中的数据后,再次读取应该是更新后的数据,为什么不行呢?
...全文
71 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jww1986 2009-10-05
  • 打赏
  • 举报
回复
谢了可以了
getemail 2009-10-05
  • 打赏
  • 举报
回复
不支持用Timer,占用系统资源

[Quote=引用 5 楼 golden8510 的回复:]
VB code
PrivateSub Form_Load()
Timer1.Interval=100End SubPrivateSub Timer1_Timer()
print1.RefreshEnd Sub

[/Quote]
getemail 2009-10-05
  • 打赏
  • 举报
回复
这是另一个问题,可另外开帖子
[Quote=引用 8 楼 jww1986 的回复:]
有米有一个方法就是在form1出来时程序暂停,就像msgbox一样,然后等form1关闭后,再接下来执行程序?
[/Quote]
jww1986 2009-10-05
  • 打赏
  • 举报
回复
有米有一个方法就是在form1出来时程序暂停,就像msgbox一样,然后等form1关闭后,再接下来执行程序?
clear_zero 2009-10-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 clear_zero 的回复:]
form1.show 1
这样的话程序就停在那里了,但是就不能同时打开form2了
[/Quote]

刚刚看了主贴,我来纠正我自己

Private Sub Command1_Click()
form1.Show 1 'form1打开,然后更改你的数据
combo1.Clear
'****************信息填充***************
print1.ConnectionString = GetDatabaseConnectionString()
print1.RecordSource = "select * from kind "
print1.Refresh

If print1.RecordSet.EOF = False Then
print1.RecordSet.MoveFirst
End If
Do While print1.RecordSet.EOF = False
combo1.AddItem print1.RecordSet.Fields(2).Value
print1.RecordSet.MoveNext
Loop
End Sub
clear_zero 2009-10-05
  • 打赏
  • 举报
回复
form1.show 1
这样的话程序就停在那里了,但是就不能同时打开form2了
golden8510 2009-10-05
  • 打赏
  • 举报
回复

Private Sub Form_Load()
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
print1.Refresh
End Sub

getemail 2009-10-05
  • 打赏
  • 举报
回复
应该有,自己找找啊
[Quote=引用 2 楼 jww1986 的回复:]
print1.close有这个方法吗????
[/Quote]
jww1986 2009-10-05
  • 打赏
  • 举报
回复
我发现我犯了一个错误:
我以为form1.show出来以后,程序会停在那里,现在发现不是这样
jww1986 2009-10-05
  • 打赏
  • 举报
回复
print1.close有这个方法吗????
getemail 2009-10-05
  • 打赏
  • 举报
回复
print1.close
关闭一次重新打开可能就好了

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧