我有一個帶有子表單的 Access 表單,我正在嘗試創建一個命令,該命令將在 VBA 中運行 Insert 陳述句以將資料從子表單插入到另一個表中。我遇到的問題是它復制了第一條記錄,而不是插入單獨的記錄。我的代碼如下。
Private Sub Command52_Click()
Dim strSQL As String
Dim rs As DAO.Recordset
strSQL = "INSERT INTO DA_CC_QAQC_DRAWINGS_DETAIL (DRAW_ID, REV_DATE, REV_DESC, REV_TYPE)" & _
"VALUES ('" & Forms!frmASI!sfrmASI!cboDrawNumRef.Column(2) & "', Forms!frmASI.ASIDIFCDATE, Forms!frmASI!sfrmASI!ITEM_DESC, 'ASI');"
Set rs = Forms!frmASI!sfrmASI.Form.RecordsetClone
With rs
Do Until .EOF
DoCmd.RunSQL strSQL
.MoveNext
Loop
End With
End Sub
uj5u.com熱心網友回復:
由于 SQL 代碼參考了表單上的控制元件,并且不回圈表單記錄,因此保存了相同的資料。參考和連接記錄集欄位而不是嵌入的表單控制元件。并且 SQL 必須在記錄集回圈內。照原樣,記錄集沒有任何用途。
我認為代碼在主表單后面。
Private Sub Command52_Click()
Dim strSQL As String
Dim rs As DAO.Recordset
Set rs = Me.sfrmASI.Form.RecordsetClone
With rs
Do Until .EOF
strSQL = "INSERT INTO DA_CC_QAQC_DRAWINGS_DETAIL (DRAW_ID, REV_DATE, REV_DESC, REV_TYPE)" & _
"VALUES ('" & Me.sfrmASI.Form.cboDrawNumRef.Column(2) & "', #" & _
!ASIDIFCDATE & "#, '" & !ITEM_DESC & "', 'ASI');"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
.MoveNext
Loop
End With
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/531297.html
標籤:vba毫秒访问
上一篇:比較Access資料庫中的3個表
