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 中的数字字段)所以要么 .. .

  1. 将文字值添加到与字段对应的 select 语句(为了说明,我使用 Null 但可以是任何你想要的)

SELECT ... , [SmallItemsImport].Amount, Null, Null, Null, Null, Null FROM ...

  1. 只需将它们从插入子句中删除,让数据库创建一个默认值
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]"

感谢您的回复。