【问题标题】:How to execute a query in ms-access in VBA code?如何在 VBA 代码中的 ms-access 中执行查询?
【发布时间】:2010-12-31 01:08:29
【问题描述】:

如何使用 VBA 代码执行查询以返回 ms-access 数据库中的记录?

【问题讨论】:

  • 是的,它将返回本地存储在 db 中的图片的路径和每个图片的 id
  • 您希望它们返回哪里以及如何返回?

标签: ms-access vba


【解决方案1】:

这样的事情怎么样...

Dim rs As RecordSet
Set rs = Currentdb.OpenRecordSet("SELECT PictureLocation, ID FROM MyAccessTable;")

Do While Not rs.EOF
   Debug.Print rs("PictureLocation") & " - " & rs("ID")
   rs.MoveNext
Loop

【讨论】:

    【解决方案2】:

    查看本教程,了解如何在 VBA 中使用 SQL:

    http://www.ehow.com/how_7148832_access-vba-query-results.html

    对于不会返回结果的查询,请使用 (reference here):

    DoCmd.RunSQL
    

    如果愿意,请使用 (reference here):

    Dim dBase As Database
    dBase.OpenRecordset
    

    【讨论】:

    • @Remou 请提供有关 DoCmd.RunQuery 的更多信息,我不想使用 SQL,我已经在 ms-access 中完成了查询
    • 哎呀 Openquery:msdn.microsoft.com/en-us/library/bb238028(v=office.12).aspx。使用打开查询,您会收到警告消息,但如果它们成为问题,可以将其关闭并重新打开。
    • @Remou 谢谢,我在 ms-access 中有一个表,其中包含本地图片的路径并想打印它,请帮我检查此链接stackoverflow.com/questions/4567204/…
    • 关闭 SetWarnings 绝不是一个好主意。一方面,您将不知道是否出了问题。也就是说,DoCmd.SetWarnings False 不仅关闭了确认提示,还关闭了任何错误的报告。而在 DoCmd.RunSQL 的情况下,您无法知道整个更新是否成功,因为 SQL 将被执行并且尽可能多的 UPDATE/INSERT 完成。我不知道 DoCmd.OpenQuery 是否有同样的缺陷,但它可能有。对于实现@Remou 的第一个建议的替代品,请在 SO 中搜索我的 SQLRun() 函数。
    猜你喜欢
    • 1970-01-01
    • 2013-04-28
    • 2012-04-13
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 2018-06-14
    相关资源
    最近更新 更多