MS Access问题

时间:2017-06-09 20:07:18

标签: sql database vba ms-access

Hello Stackoverflow社区!

我遇到了一个问题,我喜欢一些建议。

我正在使用MS Access,我正在尝试将一个表中的两个特定字段附加到另一个表中;然而,这个实现是一种形式,它有点复杂...所以,我会解释一切尽我所能

背景资料: 首先,我有两张桌子;其中一个是来自另一个目录的链接excel电子表格(谁不愿意改变任何格式,所以我不能对此文件进行任何更改,并且每天都在更新)。这个excel电子表格非常大,包含大约50列

另一个表不是那么大,但有大约20列,意味着从excel电子表格(第一列和第三列)中提取两列。我正在尝试为这个数据库创建一个尽可能方便用户的表单,而且我办公室里很多人都不熟悉VBA中Access查询和编程的技术细节。

情况: 在我的表单上,用户将数据输入TextBoxA,从那里他们将点击一个按钮;此按钮将触发通过链接的Excel电子表格搜索输入到TextBoxA中的数据。然后,它将从Field1(键入的数据)和Field3复制数据,并将这些选定的字段附加到Access数据库中表的前两个字段中。所有这些都是通过一段VBA代码完成的

Private Sub CmdCloseForm_Click()

If IsNull(Me.TextBoxA) Or Me.TextBoxA = "" Then
    MsgBox ("Field is empty, please try again!")
Else
    Dim VendorNum As String
    SearchingValue = Me.TextBoxA

    Dim SQL As String
    SQL = "INSERT INTO tbleRecord (Field1,Field2)" & _
          "SELECT * " & _
          "FROM tbleLinkedExcel " & _
          "WHERE Field1 = '" & SearchingValue & "';"

    DoCmd.RunSQL SQL

End If
End Sub

所以这里最大的问题是在Field1中,每次我尝试运行代码时,  我收到一个错误;我假设它是因为空间(不幸的是我不能给出ACTUAL变量名称,因为它是保密的)

错误消息 INSERT INTO语句包含以下未知字段名称:'FIELD 1'。确保您已正确输入名称,然后再次尝试操作。

问题是,这个'FIELD 1'变量/名称不在我的代码中,而是在链接的Excel电子表格中(再次,我无法在此电子表格中更改任何内容)。

谢谢你们!

0 个答案:

没有答案