如何将数据从Excel导入到Access并获取外键

我想从Excel表导入数据到预定义的Access表中。 我有8个表,其中3个依赖于外键。 所以,我想在导入时能够获得这些外键,这样可以正确导入信息。

例如,表tblSubcomponents具有以下字段: – SubcomponentID(自动编号) – SubcomponentNumber – SubcomponentName – MaterialField

字段SubcomponentID然后是表tblBrushholderDetails上的外键。 这个表的字段包括: – BHDetailsID(自动编号) – BHID(外键) – SubcomponentID(外键) – Parts / BH

我已经看了线程: 如何在Excel中导入表中的Access中分配外键 。 然而,我正在考虑进一步沿着INSERT INTO和@@ IDENTITY的方式做一些事情…这可能吗?

谢谢您的意见! 🙂

我在类似的情况下使用下面的代码:

DB.Execute "insert into [Book to Tax import files] ([file name],[update date]) values (" & "'" & file.Name & "',#" & file.DateLastModified & "#);" Source = DB.OpenRecordset("SELECT @@IDENTITY")(0) DoCmd.TransferText , , "Book to Tax import Temp", Source_folder & "\" & file.Name SQL = "INSERT INTO [Book to Tax Import data] ([source], Account, [Book Balance], [Book Adjustments], [Adjusted Book Balance], [Tax Reclass], [Balance After Tax Reclass], [Tax Adjustments], [Historical tax Adjustments], [Tax Balance] )" SQL = SQL & "select " & Source & ",trim(F1),F2,F3,F4,F5,F6,F7,F8,F9 FROM [Book to Tax import temp] ;" DoCmd.RunSQL SQL DoCmd.DeleteObject acTable, "Book to Tax Import Temp" 

在这种情况下,我基本上把文件名放在一个带有自动编号主键的表中。 然后我用@@ Identity获取这个键,并把它作为外键,当我将数据追加到第二个表中时。