北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
如下图,Dlookup写在数据来源属性里,如下图
在窗口时可以出来数据,如下图:
但保存时却报错,如下图:
回到代码时显示的是“rst.Update”这行代码是**的,如下图:
具体代码如下:
Private Sub btnSave_Click()
' On Error GoTo ErrorHandler
Dim strWhere As String
Dim strSQL As String
Dim cnn As Object 'ADODB.Connection
Dim rst As Object 'ADODB.Recordset
Dim rstTmp As Object 'DAO.Recordset
Dim blnTransBegin As Boolean
If Not CheckRequired(Me) Then Exit Sub
If Not CheckTextLength(Me) Then Exit Sub
If Not CheckRequired(Me.sfrDetail) Then Exit Sub
Set cnn = CurrentProject.Connection
cnn.BeginTrans: blnTransBegin = True
strSQL = "SELECT * FROM [tblwfssdh] WHERE [WFSSBM]=" & SQLText(Me![WFSSBM])
Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
If rst.EOF Then
rst.AddNew
rst![WFSSBM] = GetAutoNumber("外发消数编码")
End If
rst![SSZLDHDATA] = Me![SSZLDHDATA]
rst.Update
Me![WFSSBM] = rst![WFSSBM]
rst.Close
strSQL = "SELECT * FROM [tblwfss] WHERE [WFSSBM]=" & SQLText(Me![WFSSBM])
Set rst = OpenADORecordset(strSQL, adLockOptimistic, cnn)
Do Until rst.EOF
rst.Delete
rst.MoveNext
Loop
Set rstTmp = CurrentDb.OpenRecordset("TMP_tblwfss")
Do Until rstTmp.EOF
rst.AddNew
rst![WFSSBM] = Me![WFSSBM]
rst![SCDBM] = rstTmp![SCDBM]
rst![CPBM] = rstTmp![CPBM] 'DLookup("[CPBM]", "tblwfscdmx", "SCDBM = '" & [SCDBM] & "'") ' rstTmp![CPBM]'
rst![GS] = rstTmp![GS] 'DLookup("[GS]", "tblwfscdmx", "SCDBM='" & [SCDBM] & "'") ' rstTmp![GS]'
rst![CPMC] = rstTmp![CPMC] 'DLookup("[CPMC]", "tblwfscdmx", "SCDBM='" & [SCDBM] & "'") ' rstTmp![CPMC]'
rst![SSSHDBM] = rstTmp![SSSHDBM]
rst![SSSHSL] = rstTmp![SSSHSL]
rst![SSSHGBP] = rstTmp![SSSHGBP]
rst![SSSHDATE] = rstTmp![SSSHDATE]
rst![SSBZ] = rstTmp![SSBZ]
rst![SSSF1] = rstTmp![SSSF1]
rst![SSSF2] = rstTmp![SSSF2]
rst![SSSF3] = rstTmp![SSSF3]
rst![SSSF4] = rstTmp![SSSF4]
rst![SSSF5] = rstTmp![SSSF5]
rst![SSBY1] = rstTmp![SSBY1]
rst![SSBY2] = rstTmp![SSBY2]
rst![SSBY3] = rstTmp![SSBY3]
rst![SSBY4] = rstTmp![SSBY4]
rst![SSBY5] = rstTmp![SSBY5]
rst![SSZLDATE] = rstTmp![SSZLDATE]
rst.Update
rstTmp.MoveNext
Loop
rst.Close
rstTmp.Close
cnn.CommitTrans: blnTransBegin = False
Form_frmwfssdh.RefreshDataList
MsgBoxEx LoadString("Saved Successfully."), vbInformation
' If Me.DataEntry Then
' ClearControlValues Me
' CurrentDb.Execute "DELETE FROM [TMP_tblwfss]"
' Me.sfrDetail.Requery
' Else
' DoCmd.Close acForm, Me.Name, acSaveNo
' End If
ExitHere:
Set rst = Nothing
Set cnn = Nothing
Set rstTmp = Nothing
Exit Sub
ErrorHandler:
If blnTransBegin Then
cnn.RollbackTrans
blnTransBegin = False
End If
RDPErrorHandler Me.Name & ": Sub btnSave_Click()"
Resume ExitHere
End Sub
请问要怎么改,才可以成功保存???