2016-09-09 68 views
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 
+1

您應該在一個'UPDATE'語句中添加所有數據。獲得多條記錄的原因是因爲'SELECT'返回多條記錄。嘗試限制它,如果你真的希望插入一條記錄。 –

+0

如果我理解正確,爲了在銷售表中添加50件物品的銷售,您實際上添加了50個單獨的記錄,而不是一個記錄的數量爲50.是否正確? – SunKnight0

+0

爲什麼要添加這麼多的記錄? – Brad

回答

0

只需回答此問題即可關閉它。上面的記錄集代碼就是我最終的結果。歡呼聲

相關問題