Private Sub cmdSave_Click()
Dim rst As Object
Dim strSQL As String
Dim currentID As String
Dim strFrm As String '前面四句是定义变量类型
If IsNull(Me.txtygxm) Then
MsgBox "员工姓名不允许空缺,请录入相关数据!", vbCritical, "提示" ‘文本框不能为空
Me.txtygxm.SetFocus ‘光标焦点在文本框内
Exit Sub
End If
currentID = Form_frmYg_sg_List.Form.ygID ‘currentID变量的值来源于LIst窗体中的ygID
strSQL = "select * from tblCodeyg where ygID='" & currentID & "'" ‘通过查询tblCodeyg数据源表,返回ygID等于currentID的数值,strSQL可以看作在内存中的数据,问题来了,为什么不直接:strSQL=select ygid from tblCodeyg
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset) ‘打开strSQL这个数据
rst.MoveFirst ‘默认光标置于数据第一行
rst.Edit ‘需要编辑的数据,即光标处于行
rst!ygxm = Me.txtygxm ‘ygxm调整为txtygxm
rst.Update ‘数据刷新,但为什么是刷新的rst,而不是数据的窗体
rst.Close
Set rst = Nothing
DoEvents ‘这是干嘛的?求指导
strFrm = Form_frmYg_sg_Main!frmChild.SourceObject
Form_frmYg_sg_Main!frmChild.SourceObject = strFrm
MsgBox "您提交的数据更新已完成!", vbInformation, "消息"
DoCmd.Close acForm, "frmYg_sg_Edit" ‘这句不是很清楚,求指导
End Sub