使用表单

时间:2015-08-06 16:13:36

标签: forms vba ms-access access-vba

我正在使用表单在表格中输入新数据:tblMonthlySummary。我正在输入帐号,货币和结算本地余额。

当我在表tblMonthlySummary中输入帐号时,我希望通过宏或VBA来访问表tblStaticBankDetails以获取将添加到{{1}的帐号}}。

如果tblMonthlySummary中不存在帐号,我希望VBA或宏返回一个显示“tblStaticBankDetails”的Windows对话框。

以下是我在VBA中为“添加表项按钮,清除字段”和“关闭表单”添加的当前代码。这些按钮位于标有Invalid account number的表单上。

添加数据代码

frmMonthlyManualUpdate

Private Sub cmdAdd_Click() 'add data to table CurrentDb.Execute "INSERT INTO tblMonthlySummary([Account Number], [Currency], [Closing Balance]) " & _ " VALUES('" & Me.txtAccountNumber & "','" & Me.cboGender2 & "', '" & Me.txtClosingBalance & "')" 'clear form cmdClear_Click 'refresh data in list on form frmMonthlySummarySub.Form.Requery 'confirmation of end MsgBox "Account number and balance successfully recorded." End Sub 是我的货币空白。

清除字段代码

Me.cbogender2

关闭表格代码

Private Sub cmdClear_Click()
    Me.txtAccountNumber = ""
    Me.cboGender2 = ""
    Me.txtClosingBalance = ""

    'focus on TxtAccountNumber
    Me.txtAccountNumber.SetFocus
End Sub

1 个答案:

答案 0 :(得分:1)

使用组合框是可行的方法。

您可以将其属性设置为仅允许将列表中的值输入到字段中。用户可以从列表中选择一个值,也可以手动键入帐户。它不会让输入的值不在列表中。

有多少帐户可能会丢失其摘要行?

如果只是一小部分,您可能需要考虑:

  1. 使用SQL插入tblStaticBankDetails中不在tblMonthlySummary中的帐号。

  2. 然后,用户可以看到哪些缺失,并找出值应该是什么。 (即过滤以形成查看缺少详细信息的帐户)

  3. 您正在使用按钮执行并插入语句,这很奇怪。更常见的是,Access表单基于可更新的记录源(如您的列表),并且用户只需单击“新记录”按钮即可插入行。

  4. PS。我希望在这两个表之间设置参照完整性,以阻止为帐号输入任何不正确的值。

    哈维