【问题标题】:VBA/SQL issue accessVBA/SQL 问题访问
【发布时间】:2018-12-22 21:55:12
【问题描述】:

我不断收到编译错误,说找不到 where 行中的 txtlln。我对 SQL/VBA 还很陌生,所以我不确定我是否使用了正确的表达式来完成这项工作。

Private Sub btnlledit_Click()
Dim strSQL As String
SQL = "UPDATE tblll " & _
      "SET [Component/Product] = '" & Forms!frmaddll!txtllcomponent & "',[HN] = '" & Forms!frmaddll!txtllhn & "' " & _          
      "WHERE [LLN] = '" & Forms!frmaddll!txtlln.value & "';"
debug.print sql
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
DoCmd.Requery

Me.Refresh 
End Sub

【问题讨论】:

  • 您可以尝试在 Forms!frmaddll!txtlln 的末尾添加一个 .Value 吗?
  • 添加 .value 现在我收到错误 Sub or Function not defined for Where LLN = Forms!frmaddll!txtlln.Value
  • 您似乎在字符串连接中使用& "" 而不是& "'

标签: sql vba ms-access-2016


【解决方案1】:

您的字符串连接似乎有一些问题。

Private Sub btnlledit_Click()
    Dim strSQL As String

    SQL = "UPDATE tblll " & _
          "SET [Component/Product] = '" & Forms!frmaddll!txtllcomponent & "' " & _
          "WHERE [LLN] = '" & Forms!frmaddll!txtlln.value & "';"
    debug.print sql
    DoCmd.RunSQL strSQL
    DoCmd.SetWarnings True
    DoCmd.Requery

    Me.Refresh

End Sub

【讨论】:

  • debug.print sql 是做什么的?我还没有输入代码,因为我回家了,我明天要试试。
  • 顺便说一句,据我所知,它的发音是“kuh-ool”。
  • 该代码效果很好,但是我尝试复制/粘贴其他输入行的设置,因为要更新多个内容并将表格放在不同的位置以供表格使用,我得到了语法错误。
  • nvm,我为多次更新找到了答案!谢谢你的分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-04
  • 1970-01-01
  • 2019-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多