一个程序,两个窗口,一个用来更改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
照理说,我成功更改了表中的数据后,再次读取应该是更新后的数据,为什么不行呢?
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
照理说,我成功更改了表中的数据后,再次读取应该是更新后的数据,为什么不行呢?
关闭一次重新打开可能就好了
我以为form1.show出来以后,程序会停在那里,现在发现不是这样
Private Sub Form_Load()
Timer1.Interval = 100
End SubPrivate Sub Timer1_Timer()
print1.Refresh
End Sub
这样的话程序就停在那里了,但是就不能同时打开form2了
刚刚看了主贴,我来纠正我自己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