有一个查询:当同意修改时,数据库更新,如果不同意则文本框恢复原来的值. 问题是:如果我设MDIFORM.(全局)变量时.文本框内容会恢复,
但是如果设局部变量时,文本框内容则是空的. 请高手指点迷经!!!!!万分感谢
Private Sub Command1_Click()
aa = MsgBox("是否完成此次修改操作!", vbOKOnly + vbYesNo, "通知")
If aa = vbYes Then
Adodc1.Recordset("IP地址") = Trim(Text1.Text)
Adodc1.Recordset("用途") = Trim(Text2.Text)
Adodc1.Recordset("型号") = Trim(Text3.Text)
Adodc1.Recordset("存放地点") = Trim(Text4.Text)
Adodc1.Recordset("备注") = Trim(Text5.Text)
Adodc1.Recordset.Update
Else
Text1.Text = MDIForm1.sss ( ? 文本框里有内容 )
Text2.Text = a ( !! 文本框里有内容)
Command1.SetFocus
End If
End SubPrivate Sub Form_Load()
Adodc1.RecordSource = "select * from route where 编号 =val('" & MDIForm1.route_id & "')"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Text1.Text = Trim("" & Adodc1.Recordset("IP地址"))
Text2.Text = Trim("" & Adodc1.Recordset("用途"))
Text3.Text = Trim("" & Adodc1.Recordset("型号"))
Text4.Text = Trim("" & Adodc1.Recordset("存放地点"))
Text5.Text = Trim("" & Adodc1.Recordset("备注"))
MDIForm1.sss = Text1.Text (全局变量)
a = Text2.Text (局部变量,在本窗体里设置的)
End IfEnd Sub
但是如果设局部变量时,文本框内容则是空的. 请高手指点迷经!!!!!万分感谢
Private Sub Command1_Click()
aa = MsgBox("是否完成此次修改操作!", vbOKOnly + vbYesNo, "通知")
If aa = vbYes Then
Adodc1.Recordset("IP地址") = Trim(Text1.Text)
Adodc1.Recordset("用途") = Trim(Text2.Text)
Adodc1.Recordset("型号") = Trim(Text3.Text)
Adodc1.Recordset("存放地点") = Trim(Text4.Text)
Adodc1.Recordset("备注") = Trim(Text5.Text)
Adodc1.Recordset.Update
Else
Text1.Text = MDIForm1.sss ( ? 文本框里有内容 )
Text2.Text = a ( !! 文本框里有内容)
Command1.SetFocus
End If
End SubPrivate Sub Form_Load()
Adodc1.RecordSource = "select * from route where 编号 =val('" & MDIForm1.route_id & "')"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Text1.Text = Trim("" & Adodc1.Recordset("IP地址"))
Text2.Text = Trim("" & Adodc1.Recordset("用途"))
Text3.Text = Trim("" & Adodc1.Recordset("型号"))
Text4.Text = Trim("" & Adodc1.Recordset("存放地点"))
Text5.Text = Trim("" & Adodc1.Recordset("备注"))
MDIForm1.sss = Text1.Text (全局变量)
a = Text2.Text (局部变量,在本窗体里设置的)
End IfEnd Sub
Else
'取消修改,然后恢复文本框的内容
Adodc1.Recordset.CancelUpdate
Text1.Text = Trim("" & Adodc1.Recordset("IP地址"))
Text2.Text = Trim("" & Adodc1.Recordset("用途"))
Text3.Text = Trim("" & Adodc1.Recordset("型号"))
Text4.Text = Trim("" & Adodc1.Recordset("存放地点"))
Text5.Text = Trim("" & Adodc1.Recordset("备注"))
... Command1.SetFocus
End If
如果再通用里面定义的窗体级的 就没有问题 直到窗体被Unload才会释放掉
应该是这样
UP
楼主本来对变量就云山雾罩的,还搞什么变量,越搞越晕.
能不用变量就不用变量,这是编程准则,也是能够看出你的水平的地方.滥用变量本就是大忌.
Text1.Text = Trim("" & Adodc1.Recordset("IP地址"))
Text2.Text = Trim("" & Adodc1.Recordset("用途"))只要把文本框控件和数据库源绑定就行了.再加一个"取消修改"按钮,在里面写一条"Adodc1.Recordset.CancelUpdate"就行了.如果用户修改了内容,并且跳转到其它记录,则修改的内容自动保存.
如果用户修改了内容又想放弃修改,只要点击"取消修改"就自动恢复原来内容了.代码尽量地少,同时功能一目了然,这才是程序员的目标.