在VBA子例程中引用Microsoft Access 2010表值

时间:2013-07-19 03:27:58

标签: sql vba ms-access access-vba ms-access-2010

我试图从函数调用中的表引用特定字段。具体来说,我想打开一个可执行文件并从表中获取路径。 这里,路径是硬编码的:

    Shell(“C:\ECLIPSE_CPP\eclipse.exe”)

但是,我想将路径存储在一个表中,并在该表的路径上调用一个函数(可能是Shell函数?)。

这就是我的尝试:

    strSQL = “SELECT Path FROM Paths WHERE Tool = “”Eclipse””;”
    Shell(strSQL)

Paths表如下所示:     

 
    Tool    | Path
    ========|=============================
Eclipse | “C:\ECLIPSE_CPP\eclipse.exe”

有没有人知道在VBA代码中引用此表值的方法?

2 个答案:

答案 0 :(得分:2)

strPath = DLookup("Path" , "Paths" , "Tool = 'Eclipse'")
Shell(strPath)

DLookup效率不高。它可能适用于您的目的,但如果没有,您可以使用recordset来检索该值。

答案 1 :(得分:2)

Dim dbs as DAO.Database
Dim rs as DAO.Recordset
Dim strpath as String

Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("Select Path from Paths where Tool = 'Eclipse'")

strpath = rs.Fields(0)
    '   = rs!Path       alternative
    '   = rs("Path")    alternative

Application.FollowHyperlink(strpath)