【问题标题】:How to use a Form to Append a row to a table with Access 2010Access 2010 如何使用表单将行追加到表中
【发布时间】:2014-10-19 03:05:39
【问题描述】:

我正在尝试在我的数据库中创建一个简单的“添加记录”表单。这是添加一个新的记录集。这些数据需要在三个表中复制/添加(尽管现在我正在努力将它添加到一个表中!

我曾尝试使用追加查询,但它不会将表单中的数据提取到追加记录中。这是我尝试追加查询:

INSERT INTO Log ( State, Jurisdiction, Company, DueDate, Preparer )
SELECT Log.State, Log.Jurisdiction, Log.Company, Log.DueDate, Log.Preparer
FROM Log
WHERE (((Log.State)=[Forms]![NewEntry_Form]![TxtState]) AND
((Log.Jurisdiction)=[Forms]![NewEntry_Form]![TxtJurisdiction]) AND 
((Log.Company)=[Forms]![NewEntry_Form]![TxtCoNo]) AND 
((Log.DueDate)=[Forms]![NewEntry_Form]![TxtDueDate]) AND 
((Log.Preparer)=[Forms]![NewEntry_Form]![TxtPrep]));

我不明白我哪里出错了。编写一个 VBA 脚本来插入一条新记录,然后立即使用表单中的信息更新该记录会更容易吗?

谢谢!我对此很陌生。

莎拉

【问题讨论】:

    标签: sql database vba ms-access ms-access-2010


    【解决方案1】:

    如果该记录与您的表单匹配,您所做的就是将记录从日志插入到日志中。试试这个:

    Sub InsertRecord()
        Dim SQL As String
        SQL = ""
        SQL = SQL & "INSERT INTO Log ( State, Jurisdiction, Company, DueDate, Preparer )" & vbCrLf
        SQL = SQL & "VALUES ("
        SQL = SQL & Me.TxtState.Value & ", " & vbCrLf
        SQL = SQL & Me.TxtJurisdiction.Value & ", " & vbCrLf
        SQL = SQL & Me.TxtCoNo.Value & ", " & vbCrLf
        SQL = SQL & Me.TxtDueDate.Value & ", " & vbCrLf
        SQL = SQL & Me.TxtPrep.Value & ")"
        CurrentDb.Execute SQL
    End Sub
    

    【讨论】:

    • 它几乎可以工作。 Access 没有将表单识别为从中提取信息的地方。有没有办法创建一个 temp 表/查询结果并使用该信息附加到主表?
    • 我更改了我的代码。在表单中的事件上运行它。
    【解决方案2】:

    我最终使用了 VBA

    Private Sub CmdAdd_Click()
        'add data to table
        CurrentDb.Execute "INSERT INTO FileInfo(Company, State, Jurisdiction, Taxtype,     acctno, frequency, filemeth, pymtmeth, month, duedate, preparer, reviewer) " & _
            " VALUES(" & Me.TxtCoNo & ",'" & Me.TxtState & "','" & Me.TxtJurisdiction & "','" & _
            Me.TxtTaxType & "','" & Me.TxtAcctNo & "','" & Me.TxtFrequency & "','" & _
            Me.txtFileMeth & "','" & Me.txtPymtMeth & "','" & _
            Me.TxtMonth & "','" & Me.TxtDueDate & "','" & Me.TxtPrep & "','" & Me.TxtReviewer & "')"
    
        FileInfosubform.Form.Requery
    

    【讨论】:

      猜你喜欢
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多