1
我試圖加快將相同庫存項目添加到銷售表的過程。數據對於每個要添加的記錄是相同的。我有一個有七個領域的未綁定表格。 BookID,購買日期(日期),項目大小(文本),說明(文本),賣家名稱(文本),條件(文本)和價格付款(貨幣)。第8個字段的數字代表要添加的記錄數,即50,表示要添加的50個庫存項目。MSACCESS從表單txt和cbo框中向表中添加記錄
我一直在試圖用追加查詢來做到這一點。我在運行追加查詢的窗體上有一個cmd按鈕。
我只在追加查詢中添加了兩個字段。當我運行查詢時,它添加了兩條記錄而不是一條記錄!爲什麼?我還沒有嘗試添加日期 - 日期通常是一個問題!
我這樣做是基於我在stackoverlow上閱讀的另一個問題,但不認爲這會按我需要的方式工作。最終,當我點擊按鈕時,如果這是第8個字段中的數字,我希望它添加記錄數,例如50。
有關最佳方式的任何建議嗎?下面是使用前兩個字段的追加查詢中的sql。
由於
INSERT INTO tblSale (BookID, BookCoverType)
SELECT tblSale.BookID,
tblSale.BookCoverType
FROM tblSale
WHERE tblSale.BookID = [forms]![FrmAddKawekaStock]![txtBookID] AND
tblSale.BookCoverType) = [forms]![FrmAddKawekaStock]![cboKaweka]
最終的結果如下所示。
Private Sub cmdAddStockver2_Click()
On Error GoTo errorhandler
Dim sql As String
Dim rs As DAO.Recordset
Dim intx As Integer
Dim intz As Integer
intz = Forms!frmaddkawekastock!txtQuantityToAdd
sql = "tblSale"
Set rs = CurrentDb.OpenRecordset(sql)
MsgBox " adding the record to rs"
For intx = 1 To intz
With rs
.AddNew
.Fields!BookID = Forms!frmaddkawekastock!txtBookID
.Fields!bookPurchaseDate = Forms!frmaddkawekastock!txtPurchaseDate
.Fields![Book Size] = Forms!frmaddkawekastock!cboSize
.Fields!BookCoverType = Forms!frmaddkawekastock!cboKaweka
.Fields!Seller = Forms!frmaddkawekastock!cboSellerName
.Fields!BookCondition = Forms!frmaddkawekastock!txtCondition
.Fields!BookPaid = Forms!frmaddkawekastock!txtPaidPrice
.Update
End With
MsgBox "Loop done and record added, next loop"
Next intx
rs.Close
Set rs = Nothing
MsgBox "Completed sucessfully"
ExitSub:
Exit Sub
errorhandler:
MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
Resume ExitSub
End Sub
您應該在一個'UPDATE'語句中添加所有數據。獲得多條記錄的原因是因爲'SELECT'返回多條記錄。嘗試限制它,如果你真的希望插入一條記錄。 –
如果我理解正確,爲了在銷售表中添加50件物品的銷售,您實際上添加了50個單獨的記錄,而不是一個記錄的數量爲50.是否正確? – SunKnight0
爲什麼要添加這麼多的記錄? – Brad