【问题标题】:excel vba writing to specific field and value in Accessexcel vba写入Access中的特定字段和值
【发布时间】:2012-03-01 09:05:46
【问题描述】:

我正在构建一个能够根据用户输入列出工具的 Excel 应用程序。从这个输入中,他们可以单击工具(在这种情况下,工具是不同的 excel 文件),然后打开新工具。由于我在远程服务器上运行此应用程序并且许多人都可以访问这些工具,因此我想在 Access 数据库中创建一个更新字段 isLocked,其中包含所有工具信息(该工具的其他字段包括名称、路径, 项目编号)。所以我的问题是,如何查看用户打开的工具,然后进入访问数据库并将字段 isLocked 更改为 YES?我想我最终是在寻找一种特定类型的 SQL 语句......

感谢您的帮助。

【问题讨论】:

    标签: excel ms-access vba


    【解决方案1】:

    我假设您可以将其添加到打开用户选择的 Excel 文件“工具”的代码中。其他假设包括: tblExcelTools 作为表名;一个数字主键字段,tool_id;一个名为 cboToolChooser 的组合框控件,它的绑定字段是 tool_id。

    Dim strSql AS String
    strSql = "UPDATE tblExcelTools" & vbCrLf & _
        "SET isLocked = -1" & vbCrLf & _
        "WHERE tool_id = " & Me.cboToolChooser
    Debug.Print strSql ' look in Immediate window (Ctrl+g) if problems '
    CurrentDb.Execute strSql, dbFailonerror
    

    您应该添加一个错误处理程序来处理出现 dbFailonerror 的任何问题。

    我认为与此大致相似的方法可以满足您的近期目标 --- 当用户打开该工具时,将 isLocked 设置为 -1(真)。但是,当用户使用完该工具后,我不知道您将如何将 isLocked 设置回 False。

    编辑:我建议该代码示例认为您会从 Access 运行它,但您是从 Excel 执行此操作的。我不将 Excel 与用户表单一起使用。也许该代码可以简单地适用于 ADO。打开与 Access db 的 ADO 连接,然后使用:cn.Execute strSql

    【讨论】:

    • 好的,谢谢您的帮助。我正计划从用户正在使用的 excel 工具中更新 isLocked 字段。
    猜你喜欢
    • 2013-04-04
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多