求教一个VBA宏,EXCEL高手进

来源:百度知道 编辑:UC知道 时间:2024/07/05 07:09:31
SQL里面一张表,第一列是订单号,第二列是发货单号,关系是多对多
现在在EXCEL表中,有一个单元格专门输入发货单号(暂且设置为A1也可以),做一个按钮,根据用户输入的发货单号进行查询操作,在下面显示一系列数据
现在的主要问题是:我知道当VBA和数据库整合时用到的SQL语句那是针对SQL中固定的数据而不是可变数据,比如select * from 某表 where 发货单=1001 ,有没有办法 让where发货单=A1?
一楼的,那个命令能写在SQL语句里面吗?select * from 销售 where activecell.value ?
如果不是这样的话,请具体写一句给我看下
————————————————————————————————————————————
恩,成功了,非常谢谢你
能告诉我mySql="select * from 某表 where 发货单=" & "'" & abc & "'"
里面第一个&以及单引号双引号什么意思吗?要我写的话mySql="select * from 某表 where 发货单=" & abc & "" 可惜我的是错的

activesheet.cells(1,1).select
activecell.value

就能返回a1里的值啊

不能直接写到sql代码里啊.你的sql应该是在程序里拼合生成的.
比如:
dim abc as string
dim mySql as string
abc=activesheet.cells(1,1).value
mySql="select * from 某表 where 发货单=" & "'" & abc & "'"

这样就行啦
--------------------------------------
补充说明:
一般来说,sql语句里,字符串是用单引号提示的,所以,你要表达的发货单号,如果是字符串的话,必须用单引号括起来,否则sql语句会出错的.
反正,mySql变量里最后出现的内容应该是:
select * from list_table where 发货单='DO-2008-1001'
这样才是完整正确的查询.你要做的就是拼接出这个句子.