MSACCESS从表单txt和cbo框中向表中添加记录

时间:2016-09-09 04:12:43

标签: ms-access

我试图加快将相同的库存商品添加到销售表的过程。要添加的每条记录的数据相同。我有一个包含七个字段的未绑定表单。 BookID,购买日期(日期),项目大小(文本),描述(文本),卖方名称(文本),条件(文本)和价格支付(货币)。有一个第8个字段,其中一个数字代表要添加的记录数,即50,表示要添加的50个库存项目。

我一直尝试使用追加查询来执行此操作。我在表单上有一个运行追加查询的cmd按钮。

我目前只在追加查询中添加了两个字段。当我运行查询时,它会添加两个记录而不是一个!为什么?我还没有尝试添加日期 - 日期通常是一个问题!

我是根据我在stackoverlow上读到的另一个问题这样做的,但不要认为这会按我需要的方式工作。最终,当我单击按钮时,我希望它添加记录数,例如50,如果这是第8个字段中的数字。

有关最佳方法的任何建议吗?下面是使用前两个字段的追加查询中的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 个答案:

答案 0 :(得分:0)

回答这个问题就可以了。上面的记录集代码是我最终得到的。欢呼声