读书人

请帮忙VB控件添加修改删除后如何刷新

发布时间: 2012-02-20 21:18:23 作者: rapoo

请帮忙,VB控件添加修改删除后怎么刷新。(有详细代码)。
请问各位高手这两个控件里面都绑定表格(DataGrid1 MSHFlexGrid)我想在添加、修改和删除时。它们能时时刷新。
比如说我点添加按扭后,马上就可以在我的说那两个控件中的任何一个控件看到我刚刚添加的数据。
比如说我点删除按扭后,马上就可以在我的说那两个控件中的任何一个控件看到我刚刚删除的数据。
修改也是一样的。 谢谢各位了,烦请尽量详细一些。
以下是代码:
------------------------------------(添加)
Private Sub cmdOK_Click()
If Admin_Name.Text = " " Or Admin_PassWord.Text = " " Or Admin_RegPassWord.Text = " " Or Admin_Sex.Text = " " Then
MsgBox "用户名或密码不能为空,请返回输入! ", vbExclamation + vbOKOnly, "提示! "
Admin_Name.SetFocus
ElseIf Admin_PassWord.Text <> Admin_RegPassWord.Text Then
MsgBox "两次密码输入不一致,重新输入! ", vbExclamation + vbOKOnly, "提示! "
Admin_PassWord.Text = " "
Admin_RegPassWord.Text = " "
Admin_PassWord.SetFocus
Else
Dim Conn As New ADODB.Connection
Dim Rs As New ADODB.Recordset

Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\Data\Hydata.mdb " & ";Mode=ReadWrite;Persist Security Info=False "
Conn.Open Connstr

Rs.Open "Select AdminUser from Admin Where AdminUser= ' " & Admin_Name.Text & " ' ", Conn, adOpenForwardOnly

If Not Rs.EOF Then
MsgBox "该用户名已存在,请重新输入! ", vbExclamation + vbOKOnly, "提示! "
Admin_Name.Text = " "
Admin_Name.SetFocus
Rs.Close
Else
Dim StrSql As String
StrSql = "insert into Admin (AdminUser,AdminPassWord,AdminSex,AdminMobileTel,AdminHomeTel,AdminAddress) Values ( ' " & Admin_Name.Text & " ', ' " & Admin_PassWord.Text & " ', ' " & Admin_Sex.Text & " ', ' " & Admin_MobileTel.Text & " ', ' " & Admin_HomeTel.Text & " ', ' " & Admin_Address.Text & " ') "


Conn.Execute StrSql
Conn.Close
MsgBox "用户添加成功,请返回! ", vbExclamation + vbOKOnly, "提示! "
Admin_Name.Text = " "
Admin_PassWord.Text = " "
Admin_RegPassWord = " "
Admin_MobileTel.Text = " "
Admin_HomeTel.Text = " "
Admin_Address.Text = " "
End If
End If
End Sub
------------------------------------(删除)
Private Sub AdminDel_Click()
If Frame1(1).Enabled = False Then
MsgBox "如需修改资料,请单击“编辑”按钮! ", vbExclamation + vbOKOnly, "提示! "
Else
Dim Str1 As String
Str1 = "确定要删除帐户为:《 " & AdminUser.Text & "》 的用户? "

If MsgBox(Str1, vbYesNo + vbExclamation + vbDefaultButton2, "确认 ") = vbYes Then
Dim StrSql As String
StrSql = "delete from Admin Where AdminUser= ' " & AdminUser.Text & " ' "

Dim Conn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\Data\Hydata.mdb " & ";Mode=ReadWrite;Persist Security Info=False "
Conn.Open Connstr
Rs.Open StrSql, Conn, adOpenStatic, adLockOptimistic
Rs.Close


Conn.Close
MsgBox "删除成功,请继续操作! ", vbExclamation + vbOKOnly, "提示! "
End If
End If
End Sub

[解决办法]
思路是这样的:
点击“添加”按钮时,先将待添加记录写入DB中,然后在显示控件中再添加一行记录(刚刚所添加的,必要时将光标也定位到该条记录上来),以达到同步效果。
点击“删除”时,先将DB中的该条记录删除掉,然后在显示控件中将选中行移除,并给出提示信息。
不是很难

读书人网 >VB

热点推荐