Sql 将Access accdb查询拉入Excel 2007错误3265

Sql 将Access accdb查询拉入Excel 2007错误3265,sql,database,excel,vba,Sql,Database,Excel,Vba,我是新手。在internet上找到以下代码。它已经存在多年了。我已经为我的应用定制了它。更新了对MS Office 12.0 access数据库引擎库的参考。我不断地在.Parameters行中得到3265错误。该查询在Access内部运行良好,我已经能够使用此代码导入非参数查询。检查拼写是否正确。参数中的“Rez ID”是一个别名。实际航向为AIANHH。已尝试了别名和实际标题的所有组合,但仍在.Parameter处获得3265个 由于Excel中的特定格式,不希望执行推送。试图避免MS查询,

我是新手。在internet上找到以下代码。它已经存在多年了。我已经为我的应用定制了它。更新了对MS Office 12.0 access数据库引擎库的参考。我不断地在.Parameters行中得到3265错误。该查询在Access内部运行良好,我已经能够使用此代码导入非参数查询。检查拼写是否正确。参数中的“Rez ID”是一个别名。实际航向为AIANHH。已尝试了别名和实际标题的所有组合,但仍在.Parameter处获得3265个
由于Excel中的特定格式,不希望执行推送。试图避免MS查询,因为我已经在Access中一切正常。我有很多查询,不想用MS Query重新开始。我注意到的唯一区别是,在Access中,条件的格式为:[“Rez ID”]尝试移动[]和“”,但没有成功。看来我很快就要把这件事做好了,但却无法克服困难。任何帮助都将不胜感激

子运行参数查询()
'步骤1:声明变量
Dim MyDatabase作为DAO.Database
将MyQueryDef设置为DAO.QueryDef
将MyRecordset设置为DAO.Recordset
作为整数的Dim i
'步骤2:识别数据库和查询
设置MyDatabase=DBEngine.OpenDatabase\u
(“C:\Users\Phil\Documents\Indians\Population&Employment\2010 Population\Census\u Data\u Set\MS2007\u Files\2010\u AIANSF\u a\u 1\u 2\u 6\u 8\u 9\u 10.accdb”)
设置MyQueryDef=MyDatabase.QueryDefs(“保留\u TTRACT”)
'步骤3:定义参数
用MyQueryDef
.参数(“[Rez ID]”=范围(“D3”).值
“.Parameters(“[CHARITER]”)=范围(“D4”).Value
以
'步骤4:打开查询
Set MyRecordset=myquerydf.OpenRecordset
'步骤5:清除以前的内容
图纸(“图纸1”)。选择
ActiveSheet.Range(“A6:K10000”).ClearContent
'步骤6:将记录集复制到Excel
ActiveSheet.Range(“A7”).CopyFromRecordset MyRecordset
'步骤7:将列标题名称添加到电子表格
对于i=1到MyRecordset.Fields.Count
单元格(6,i).Value=MyRecordset.Fields(i-1).Name
接下来我
MsgBox“您的查询已运行”
端接头

好的,我想出来了。我不得不在Access查询中添加一个Like语句。我不知道为什么,但现在一切都正常了。

是否要在where语句中添加参数?您实际填写的查询是什么?该查询在Access中,在Access中运行良好,选择不同的aiangeo.SUMLEV、AIANSF_段_031.CHARITER、aiangeo.AIANHH、aiangeo.TTRACT、AIANSF_段_031.PCT0030001、AIANSF_段_031.PCT004001、AIANSF_段_031.PCT0030002、AIANSF_段_031.PCT004002、AIANSF_段031.PCT0030106,AIANSF_段_031.PCT0040003来自(AIANSF_段_031内部连接aiangeo上的AIANSF_段_031.LOGRECNO=aiangeo.LOGRECNO)内部连接aiangeo上的AIANSF_段_01.LOGRECNO=AIANSF_段_01.LOGRECNO其中((aiangeo.SUMLEV)=“250”)和((aiangeo.AIANHH)=[“Rez ID”);我是这个论坛的新成员,所以仍然在尝试弄清楚语法,我只是尝试使用MyQueryDef从Excel调用查询