我有与 Ms SQL Server 连接的 Access 数据库项目。数据(表)存储在 Ms SQL 服务器中,而表单和报告存储在 Access .ADP 文件中。无法使用设计视图创建查询、表、视图,但可以使用 SQL 查询创建表和视图并将其存储在服务器上。我没有 Ms SQL Server Management Studio,也无法将它安装在我办公室的计算机上。
所以,我想要的是获取一个动态生成的 SELECT SQL 查询数据表,以临时查看结果以进行数据分析。我在表单中放置了一个文本框和一个按钮,并希望显示一个数据表,其中包含单击按钮时写入文本框中的 SQL 查询的结果。
我试过了,但它对我不起作用,而且似乎不是我想要的:
MS Access VBA - 在数据表子表单中显示动态构建的 SQL 结果
我还尝试通过将查询分配给表单的 Recordsource 属性。它显示空白数据表,但数据表下方的导航窗格显示检索到的实际记录数。所以,它正在工作,但没有显示数据。
我试过(来自http://www.pcreview.co.uk/forums/create-query-dynamically-vba-t3146896.html):
Dim db As DAO.Database
Dim qd As DAO.QueryDef
Dim strSQL As String
Set db = CurrentDb
strSQL = "select * from analysts"
Set qd = db.CreateQueryDef("NewQueryName", strSQL)
DoCmd.OpenQuery "db.NewQueryName"
它显示运行时错误 91、对象变量或未在行上设置块变量Set qd = db....
还有(来自同一页面):
Dim strSql As String
strSql = "select * from analysts"
CurrentDb.QueryDefs("qryExport").SQL = strSql
DoCmd.OpenQuery "qryExport"
在行上返回相同的错误CurrentDb.QueryDefs....
。
任何想法或解决方法?