北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
点击平台上的修改窗体,首先弹出下列错误提示框:
点击确定出现了下列窗体:
窗体代码是:
Private Sub Form_Load()
On Error GoTo Err_Form_Load:
Me.linHeader.Width = Me.WindowWidth
Me.frmsfchild.Form.AllowAdditions = True
Me.frmsfchild.Form.AllowEdits = True
Me.frmsfchild.Form.AllowDeletions = True
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("SELECT * FROM tblrpmx WHERE rpid='" & strSelectID & "'", , dbReadOnly)
strSelectID_old = strSelectID
If rst.RecordCount = 0 Then
rst.Close
Err.Raise 10001, , "未能正确加载数据"
End If
Me.RpID = rst!RpID
Me.fzxm = rst!fzxm
Me.fzxb = rst!fzxb
Me.fage = rst!fage
Me.rpje = rst!rpje
Me.ldiagnose = rst!ldiagnose
Me.dpt = rst!dpt
Me.ldoctor = rst!ldoctor
Me.fdate = rst!fdate
rst.Close
CurrentDb.Execute "DELETE FROM tblsfmz_temp" '清空收费门诊临时表 tblrpmx_temp
'把收费明细数据从正式表追加到临时表
CurrentDb.Execute "INSERT INTO tblsfmz_temp SELECT * FROM tblsfmz WHERE rpid='" & Me.RpID & "'"
Me.frmsfchild.Form.Requery '清空临时表必须要刷新子窗体,否则会显示"#已删除"
Exit_Form_Load:
Set rst = Nothing
Exit Sub
Err_Form_Load:
MsgBox Err.Description, vbCritical, "错误 #" & Err
If Err = 10001 Then DoCmd.Close acForm, Me.Name
Resume Exit_Form_Load
End Sub
Private Sub ToolbarFrm_ButtonClick(ByVal Button As Object)
Dim rst As DAO.Recordset
If Not CheckRequired(Me) Then Exit Sub
Beep
If MsgBox("您确认要保存吗?", vbQuestion + vbYesNo, "提示") = vbNo Then
Exit Sub
End If
DoCmd.SetWarnings False '关闭系统提示
Set rst = CurrentDb.OpenRecordset("SELECT * FROM tblrpmx WHERE rpid='" & Me.RpID & "'")
rst.Edit
rst!RpID = Me.RpID
rst!fzxm = Me.fzxm
rst!fzxb = Me.fzxb
rst!fage = Me.fage
rst!rpje = Me.rpje
rst!ldiagnose = Me.ldiagnose
rst!dpt = Me.dpt
rst!ldoctor = Me.ldoctor
rst!fdate = Me.fdate
rst.Update
rst.Close
Set rst = Nothing
'由于临时表中的rpid字段没有添加到子窗体,这里通过更新查询来完成自动录入
DoCmd.RunSQL "UPDATE tblsfmz_temp SET rpid='" & Me.RpID & "'"
'先从正式表中删除明细数据
DoCmd.RunSQL "DELETE FROM tblsfmz WHERE rpid='" & Me.RpID & "'"
'再从临时表中追加数据到正式表中,以实现明细数据的修改更新
DoCmd.RunSQL "INSERT INTO tblsfmz SELECT * FROM tblsfmz_temp"
DoCmd.SetWarnings True '恢复系统提示
MsgBox "保存成功!", vbInformation, "提示"
If IsLoaded("usysfrmMain") Then
With Forms!usysfrmMain!frmChild.Form
.Requery
.Recordset.FindFirst "处方编号='" & Me!RpID & "'"
End With
End If
DoCmd.Close acForm, Me.Name
End Sub
请问老师们,为什么总是出错,我调试了几天了,没有调试好,请老师们予以帮助与指导!