我的tblT1中有超过5000条记录 我在访问2010中使用MS Sql server数据库上的链接表执行以下查询。
通过查询:
PTQuery1 =“SELECT tblT1。* from tblT1;”
但我需要根据条件(tempQuotationNo)执行上面的Pass Through查询。
我的朋友在下面查询了我:
基于直通查询的选择查询:
Query1 =“SELECT PTQuery1。* FROM PTQuery1 WHERE PTQuery1.QuotationNo = tempQuotationNO;”
tempQuotationNO可以是表单中的变量或字段。
据我所知,两个查询都将tblT1的所有记录加载到客户端(加载后第二个查询过滤结果为PTQuery1)。 两者都运行正常,但我需要减少将记录加载到客户端的时间。
有人为我建议解决方案吗?
目标是(首先)过滤SQL Server
上的记录,然后根据表单或用户定义变量中的字段将结果加载到FE,以减少将数据从SQL Server加载到客户端的时间。
答案 0 :(得分:1)
只需修改PT查询,如下所示:
Dim strSQL As String
strSQL = "select * from table where QuotationNo = " & lngQuoteNum
CurrentDb.QueryDefs("MyPass").SQL = strSQL
此时你可以启动你的表单等,它将使用这个新的sql进行传递。以上假设longQuoteNum是VBA var。如果引号是文本,那么你需要这个:
strSQL = "select * from table where QuotationNo = '" & lngQuoteNum & "'"