代码之家  ›  专栏  ›  技术社区  ›  MDavies

使用Access 2016表单中的数据更新SQL表

  •  0
  • MDavies  · 技术社区  · 7 年前

    我知道通过访问传递查询可以保存ODBC连接,但是必须使用VBA使用访问表单中的数据更新查询。

    目前我在VBA中的代码是;

       mysql = "Update dbo.MRollData Set dbo.MRollData.PolyPart = '" + Me.ActiveControl.Value + "' WHERE dbo.MRollData.LotNum = '" + Me.MRollLotNum.Value + "' AND dbo.MRollData.Side = '" + Me.MRollSide.Value + "' AND dbo.MRollData.MRIndex = '" + Me.MRollIndex.Value + "' AND dbo.MRollData.PolyPart = '" + Me.CurrentValue.Value + "'"
    
       CurrentDb().QueryDefs("PolyPartChange").SQL = mysql
    
       DoCmd.OpenQuery "PolyPartChange", , acEdit
    

    VBA代码是使用来自另一个数据库的类似代码位编写的,该数据库更新执行SQL查询的查询。

    我还试着自己运行查询,并不断得到错误“查询必须至少有一个目标字段”

    我是否遗漏了什么,或者无法在访问传递查询中运行执行SQL更新查询?还有没有更简单的方法来做我正在尝试的事情?

    更新;我在这里列出了一个标记,我没有将自动生成视为ActiveControl,这应该是我。实际值。价值

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gustav    7 年前

    您可以尝试:

    CurrentDb.QueryDefs("PolyPartChange").SQL = mysql
    CurrentDb.QueryDefs("PolyPartChange").Execute