ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3833|回复: 2

[求助] 如何在EXCEL VBA中将参数传递到ACCESS查询中

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-2-1 11:35 | 显示全部楼层 |阅读模式
请教:

请看附件Access中,有一个查询叫GL transaction 2006,它用了一个Parameter,在字段的Monthly_Amount中,我用了一个参数[Please input the report TB month],如果输入200610,这样就可以使查询按2006年10月得出有效结果。但我想在VBA中使用这个查询的话,必须传递这个查询,我试了一下代码,使用CreatParameter,但不太行。

Public Sub GetParaQuery()
    Dim mydata As String, mytable As String
    Dim cmd As New ADODB.Command
    Dim Par As ADODB.Parameter
    Dim rs As ADODB.Recordset
    Dim i As Integer
    Dim myNo As String
    Cells.Clear    '清除工作表的全部数据
    myFile = ThisWorkbook.Path & "\tb.mdb"    '指定数据库
    mytable = "GL transaction 2006"      '指定数据表
    '建立与数据库的连接
    cmd.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & myFile
    '建立查询参数
    myNo = InputBox("请输入要查询的年月:", "年+月")
    If Len(myNo) <> 6 Then
        MsgBox "年+月的长度必须为6!", vbCritical + vbOKOnly, "警告"
        myNo = InputBox("请输入要查询的年月:", "年+月")
    End If
   '写到下面这一句就有点不对了
    cmd.CommandText = "select * from " & mytable '& " where [Please input the report TB month]=?"
    Set Par = cmd.CreateParameter("Please input the report TB month", adinterger, adParamInput, 6, myNo)
    cmd.Parameters.Append Par
    '开始查询记录
    Set rs = New ADODB.Recordset
    Set rs = cmd.Execute()
    If rs.BOF And rs.EOF Then
        MsgBox "没有编号为<" & myNo & ">的职工记录", vbCritical
    Else

TA的精华主题

TA的得分主题

发表于 2010-2-1 12:10 | 显示全部楼层
cmd.CommandText = "select * from " & mytable '& " where month="&myNo

[ 本帖最后由 leecg 于 2010-2-1 12:11 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-2-1 13:01 | 显示全部楼层
二楼的,不行
我重新把ACCESS的例子贴到后面的发贴中,能不能具体看一看帮帮忙
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 21:38 , Processed in 0.018053 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表