我有代码将Excel中的表导入Access,但我希望能够在表中添加带有标题的列。然后,此列将包含为所有行选择为“x”的数字。这应该由附带的代码解释。
Private Sub Import_Click()
Dim dlg As Object
Set dlg = Application.FileDialog(3)
x = InputBox("Harvest Data Number:")
With dlg
.Title = "Select the Excel file to import"
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Excel Files", "*.xlsx", 1
.Filters.Add "All Files", "*.*", 2
If .Show = -1 Then
StrFileName = .SelectedItems(1)
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "Harvest " & x & " Peptide Data", StrFileName, True, "DENOVO sorted by AMP!A21:Z"
End If
End With
End Sub
答案 0 :(得分:1)
由于您要填充工作表中不存在的列,请考虑附加查询而不是TransferSpreadsheet
。您可以使用查询参数来获取 x 的值(收获数据编号)。
此示例来自名为 temp.xls 的工作簿中的 Sheet1 $ ,并将这些数据存储在名为 tblDestination 的表中。请注意,源和目标字段名称可以不同。
INSERT INTO tblDestination ([Harvest Data Number], fld2, fld3, fld4)
SELECT [x] AS [Harvest Data Number], s1.[Seq#], s1.Name, s1.Location
FROM [Excel 8.0;HDR=YES;IMEX=2;DATABASE=C:\SomeFolder\temp.xls].[Sheet1$] AS s1;