这个程序有个窗体,一个窗体上放了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 = TrueListView1.ColumnHeaders.Clear
ListView1.ListItems.Clear
ListView1.RefreshListView1.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).NameDim 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.RefreshEnd SubPrivate 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, 3If 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 IfEnd Sub
_________________________________________说明:在调用第二个窗体时,第一个窗体(main)已经unload me,从第二个窗体input返回时再重新main.show,但是很奇怪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 = TrueListView1.ColumnHeaders.Clear
ListView1.ListItems.Clear
ListView1.RefreshListView1.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).NameDim 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.RefreshEnd SubPrivate 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, 3If 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 IfEnd Sub
_________________________________________说明:在调用第二个窗体时,第一个窗体(main)已经unload me,从第二个窗体input返回时再重新main.show,但是很奇怪listview的值没有同步更新,这个为什么呢?):
解决方案 »
- datagrid中如何添加单选按钮?
- VC写的DLL里参数为结构体数组,在VB中怎么引用啊
- 论坛消息模块有问题呀!散分帖(每天发帖可得30分了)
- 请小吉哥哥来帮忙看!~
- 无奈啊!对发贴不结贴的无奈!
- 在Win2000下,能否用Administrator的权限的修改其它用户的设置?
- 请高手解决这是什么问题?搞了半天摸不到头脑
- 关于MSComm 控件的CommEvent 属性的判断与延时
- 小马哥请进!关于isnull()函数
- 关于win98下拷贝文件,提示不支持长文件名的错误。
- 我下载了个李洪根大哥的局域网消息发送器,但一发送就提示找不到NETAPI32.DLL?
- 大家谈谈使用Oracle数据进行编程,与Sqlserver编程有哪些注意事项
dim a as form
set a=new 窗体名
a.show
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 = TrueListView1.ColumnHeaders.Clear
ListView1.ListItems.Clear
ListView1.RefreshListView1.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).NameDim 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.Refreshend sub