listview为什么不刷新??????????!!!!!!!!!!!
这个程序有个窗体,一个窗体上放了listview控件,另外一个窗体输数据
'''''第一窗体的代码(main)
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\sjk.mdb;Persist Security Info=False"
cn.Open
Set rs = New ADODB.Recordset
Dim str As String
str = "select * from 用户"
rs.Open str, cn, 1, 3
'显示网格线
ListView1.GridLines = True
ListView1.ColumnHeaders.Clear
ListView1.ListItems.Clear
ListView1.Refresh
ListView1.ColumnHeaders.Add , , rs.Fields(0).Name
ListView1.ColumnHeaders.Add , , rs.Fields(1).Name
ListView1.ColumnHeaders.Add , , rs.Fields(2).Name
ListView1.ColumnHeaders.Add , , rs.Fields(3).Name
ListView1.ColumnHeaders.Add , , rs.Fields(4).Name
ListView1.ColumnHeaders.Add , , rs.Fields(5).Name
Dim itm As ListItem
For i = 1 To rs.RecordCount
On Error Resume Next
Set itm = ListView1.ListItems.Add(, , rs.Fields(0).Value)
itm.SubItems(1) = rs.Fields(1).Value
itm.SubItems(2) = rs.Fields(2).Value
itm.SubItems(3) = rs.Fields(3).Value
itm.SubItems(4) = rs.Fields(4).Value
itm.SubItems(5) = rs.Fields(5).Value
rs.MoveNext
Next i
ListView1.Refresh
End Sub
Private Sub Command1_Click()
unload me
input_user.show
End Sub
________________________________________________________________________________
''''''''''第二个窗体(input)
Private Sub Command1_Click()
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\sjk.mdb;Persist Security Info=False"
cn.Open
Set rs = New ADODB.Recordset
Dim str As String
str = "select * from 用户 where 简称='" & Text1.Text & "'"
rs.Open str, cn, 1, 3
If rs.RecordCount = 0 Then
If Text1.Text = "" Then MsgBox "用户简称不能为空", vbExclamation + vbOKOnly, "提示": Text1.SetFocus: Exit Sub
If Text2.Text = "" Then MsgBox "用户姓名不能为空", vbExclamation + vbOKOnly, "提示": Text2.SetFocus: Exit Sub
If Text5.Text = "" Then MsgBox "用户密码不能为空", vbExclamation + vbOKOnly, "提示": Text5.SetFocus: Exit Sub
If Combo1.Text <> "标准" And Combo1.Text <> "管理" Then MsgBox "权限应为“标准”或“管理”!", vbExclamation + vbOKOnly, "提示": Exit Sub
rs.Close
str = "select * from 用户"
rs.Open str, cn, 1, 3
rs.AddNew
rs.Fields(0).Value = Text1.Text
rs.Fields(1).Value = Text2.Text
rs.Fields(2).Value = Text3.Text
rs.Fields(3).Value = Text4.Text
rs.Fields(4).Value = Text5.Text
rs.Fields(5).Value = Combo1.Text
rs.Update
rs.Close
Unload Me
input_user.Show
Else
MsgBox "简称已存在,请更换", vbCritical + vbOKOnly, "提示"
End If
End Sub
_________________________________________
说明:在调用第二个窗体时,第一个窗体(main)已经unload me,从第二个窗体input返回时再重新main.show,但是很奇怪listview的值没有同步更新,这个为什么呢?):