VBA 从 table 和表单中插入
VBA INSERT FROM a table and also from a form
我是使用 VBA 代码的新手,无法将完整的代码片段添加到 运行。
我正在尝试完成对 table“SmallItems”的插入,从 table“SmallItemsImport”中获取现有字段,但也插入我希望留空以备后用的新字段,以及从表单中获取 2 个值并将它们插入“SmallItems”中的字段 table.
SmallItemsImport table 字段 = ItemNo、Caseworker、VSSID、ItemDescription、Framework、Amount
我想插入并留空的额外字段 = QueryDate、QueryUser、VouchedDate、VouchedUser、Status
我想创建的字段和从表单下拉菜单中获取的值 = Organisation, ReturnDate
我尝试了以下代码,但它不起作用:
strSQL = "INSERT INTO SmallItems (Organisation, ReturnDate, ItemNo, Caseworker, ID, ItemDescription, Framework, Amount, QueryDate, QueryUser, VouchedDate, VouchedUser, Status) SELECT 表格![SmallItemsImportValidationForm]![ OrganisationDropDown]" & ",[SmallItemsImportValidationForm]![ReturnDateDropDown]" & " ,[SmallItemsImport].ItemNo,[SmallItemsImport].Caseworker,[SmallItemsImport].ID,[SmallItemsImport].ItemDescription,[SmallItemsImport].Framework,[Small]ItemsIm .Amount " & "FROM [SmallItemsImport]"
感谢任何帮助。谢谢
通过将它们包含在插入子句中,您告诉数据库期望字段值 QueryDate, QueryUser, VouchedDate, VouchedUser, Status
INSERT INTO SmallItems ( Organisation, ReturnDate, ItemNo, Caseworker,
ID, ItemDescription, Framework, Amount,
QueryDate, QueryUser, VouchedDate, VouchedUser, Status )
但是在您的 select 中您没有为最后 5 个字段提供相应的值,因此您有一个不匹配(插入中的数字字段 <> select 中的数字字段)所以要么 .. .
- 将文字值添加到与字段对应的 select 语句(为了说明,我使用 Null 但可以是任何你想要的)
SELECT ... , [SmallItemsImport].Amount, Null, Null, Null, Null, Null FROM ...
或
- 只需将它们从插入子句中删除,让数据库创建一个默认值
INSERT INTO SmallItems ( Organisation, ReturnDate, ItemNo,
Caseworker, ID, ItemDescription, Framework, Amount)
我解决了这个问题,在添加 Null 值后,我在 ReturnDate SELECT 之前缺少单词“Forms”,在添加它之后它按我想要的方式工作。
strSQL = "INSERT INTO SmallItems (Organisation, ReturnDate, ItemNo, Caseworker, ID, ItemDescription, Framework, Amount, QueryDate, QueryUser, VouchedDate, VouchedUser, Status) SELECT 表格![SmallItemsImportValidationForm]![ OrganisationDropDown]" & ", Forms![SmallItemsImportValidationForm]![ReturnDateDropDown]" & " ,[SmallItemsImport].ItemNo, [SmallItemsImport].Caseworker, [SmallItemsImport].ID, [SmallItemsImport].ItemDescription, [SmallItemsImport].框架, [ SmallItemsImport].Amount, Null, Null, Null, Null, Null " & "FROM [SmallItemsImport]"
感谢您的回复。
我是使用 VBA 代码的新手,无法将完整的代码片段添加到 运行。
我正在尝试完成对 table“SmallItems”的插入,从 table“SmallItemsImport”中获取现有字段,但也插入我希望留空以备后用的新字段,以及从表单中获取 2 个值并将它们插入“SmallItems”中的字段 table.
SmallItemsImport table 字段 = ItemNo、Caseworker、VSSID、ItemDescription、Framework、Amount
我想插入并留空的额外字段 = QueryDate、QueryUser、VouchedDate、VouchedUser、Status
我想创建的字段和从表单下拉菜单中获取的值 = Organisation, ReturnDate
我尝试了以下代码,但它不起作用:
strSQL = "INSERT INTO SmallItems (Organisation, ReturnDate, ItemNo, Caseworker, ID, ItemDescription, Framework, Amount, QueryDate, QueryUser, VouchedDate, VouchedUser, Status) SELECT 表格![SmallItemsImportValidationForm]![ OrganisationDropDown]" & ",[SmallItemsImportValidationForm]![ReturnDateDropDown]" & " ,[SmallItemsImport].ItemNo,[SmallItemsImport].Caseworker,[SmallItemsImport].ID,[SmallItemsImport].ItemDescription,[SmallItemsImport].Framework,[Small]ItemsIm .Amount " & "FROM [SmallItemsImport]"
感谢任何帮助。谢谢
通过将它们包含在插入子句中,您告诉数据库期望字段值 QueryDate, QueryUser, VouchedDate, VouchedUser, Status
INSERT INTO SmallItems ( Organisation, ReturnDate, ItemNo, Caseworker,
ID, ItemDescription, Framework, Amount,
QueryDate, QueryUser, VouchedDate, VouchedUser, Status )
但是在您的 select 中您没有为最后 5 个字段提供相应的值,因此您有一个不匹配(插入中的数字字段 <> select 中的数字字段)所以要么 .. .
- 将文字值添加到与字段对应的 select 语句(为了说明,我使用 Null 但可以是任何你想要的)
SELECT ... , [SmallItemsImport].Amount, Null, Null, Null, Null, Null FROM ...
或
- 只需将它们从插入子句中删除,让数据库创建一个默认值
INSERT INTO SmallItems ( Organisation, ReturnDate, ItemNo,
Caseworker, ID, ItemDescription, Framework, Amount)
我解决了这个问题,在添加 Null 值后,我在 ReturnDate SELECT 之前缺少单词“Forms”,在添加它之后它按我想要的方式工作。
strSQL = "INSERT INTO SmallItems (Organisation, ReturnDate, ItemNo, Caseworker, ID, ItemDescription, Framework, Amount, QueryDate, QueryUser, VouchedDate, VouchedUser, Status) SELECT 表格![SmallItemsImportValidationForm]![ OrganisationDropDown]" & ", Forms![SmallItemsImportValidationForm]![ReturnDateDropDown]" & " ,[SmallItemsImport].ItemNo, [SmallItemsImport].Caseworker, [SmallItemsImport].ID, [SmallItemsImport].ItemDescription, [SmallItemsImport].框架, [ SmallItemsImport].Amount, Null, Null, Null, Null, Null " & "FROM [SmallItemsImport]"
感谢您的回复。