gpt4 book ai didi

ms-access - 在 VBA 中追加查询(运行时错误 3067)

转载 作者:行者123 更新时间:2023-12-04 22:10:38 28 4
gpt4 key购买 nike

我将表单上未绑定(bind)文本框中的七个值提取到变量中。其中五个变量是字符串类型,两个是 double 变量。然后,我使用 sql 使用 where 语句和包含我从另一个表中使用的外键的全局变量将数据附加到表中,因为我不确定如何将 openargs 与 browseto 一起使用...

Option Compare Database
Private Sub Form_Load()

Dim rowN, rowR, mat, crew, perCom As String
Dim budEst, curBud As Double
End Sub

Private Sub btnCapSubmit_Click()
rowN = Me.CAP_ROW_N
rowR = Me.CAP_ROW_R
mat = Me.CAP_MAT
crew = Me.CAP_CREW
perCom = Me.CAP_PER
budEst = Me.CAP_BUD_EST
curBud = Me.CAP_BUD_CUR

Dim appendIt As String
appendIt = "INSERT INTO CAPITAL " & _
"([CAPITAL].[CAP_ROW_N], CAPITAL.[CAP_ROW_R], [CAPITAL].[CAP_MAT], [CAPITAL].[CAP_CREW], [CAPITAL].[CAP_PER], [CAPITAL].[CAP_BUD_EST], [CAPITAL].[CAP_BUD_CUR]) " & _
"VALUES ('" & rowN & "','" & rowR & "','" & mat & "','" & crew & "','" & perCom & "','" & budEst & "','" & curBud & "') WHERE [PRO_ID] = '" & gblFind & "';"
Debug.Print appendIt
DoCmd.RunSQL appendIt
DoCmd.BrowseTo acBrowseToForm, "frmSearchEdit", "NavForm.NavigationSubform", , , acFormEdit
End Sub

Access 报错 #3067,“查询输入必须包含至少一个表或查询。”

我不知道我在做什么。我尝试使用 debug.print 但没有立即看到任何内容。再说一次,我整天都在研究这个数据库,所以我可能会忽略一些非常容易的事情。

附:我还尝试用 Me.CAP_ROW_N(文本框名称)替换变量,但没有骰子。

最佳答案

不清楚您在此处尝试做什么,但 INSERT INTO ... VALUES () 语句不采用 WHERE 子句。错误 3067 是“查询输入必须至少包含一个表或查询”。您可能会看到此错误,因为您包含了 WHERE 子句,但您没有从表中选择现有值。

试试这个:

appendIt = "INSERT INTO CAPITAL " & _
"([CAPITAL].[CAP_ROW_N], CAPITAL.[CAP_ROW_R], [CAPITAL].[CAP_MAT], [CAPITAL].[CAP_CREW], [CAPITAL].[CAP_PER], [CAPITAL].[CAP_BUD_EST], [CAPITAL].[CAP_BUD_CUR]) " & _
"VALUES ('" & rowN & "','" & rowR & "','" & mat & "','" & crew & "','" & perCom & "','" & budEst & "','" & curBud & "');"

这里还有其他几个问题。我只会列出它们,让您谷歌以获得更多指导:

  • 您应该使用 .Execute DAO 方法而不是 DoCmd.RunSQL,因为它可以更好地处理错误,尤其是与 dbFailOnError 一起使用时> 选项。
  • 在未转义的输入上使用单引号最终会遇到麻烦。例如,WHERE LastName = 'O'Malley'
  • 您似乎将所有七个值都用引号括起来,将它们视为文本,即使您说您的两个值是数字( double )。数值不带引号。

关于ms-access - 在 VBA 中追加查询(运行时错误 3067),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27713095/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com