Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 13667|回复: 6

[已解决]vba中 sql 语句 日期变量 的写法

[复制链接]
发表于 2013-7-18 22:00 | 显示全部楼层 |阅读模式
sql = "Select * from  table1  Where  日期 between ld_1 and ld _2'"
其中 table1为标明 日期为字段明   ;      ld_1 和 ld_2 为 日期变量。
请问大侠怎样写,   才能正确执行?谢谢。
最佳答案
2013-7-21 10:40
1) 取决于你连接的数据库是什么,如果是Access或Excel,并且"日期"Field的格式是真正的日期格式时,用数字键:#,如果是DB2, SQL Server等等,用单引号:'

2) 即便是连接Access,也不一定都用#,如果table1中的"日期"Field的格式是文本格式,就要用单引号'

在假设"日期"格式是真正的日期格式的前提下,并且你引用的数据库是Excel或Access时,你的变量引用可以如下:

sql = "Select * from  table1  Where  日期 between #" & ld_1 & "# and #" & ld _2 & "# "

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-7-18 22:52 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2013-7-20 20:45 | 显示全部楼层
楼上是常量的写法。我问的是变量的写法。
回复

使用道具 举报

发表于 2013-7-20 21:43 | 显示全部楼层
between  '"&id-2&" and  "&id-2&"'"这样试一下
回复

使用道具 举报

发表于 2013-7-20 21:43 | 显示全部楼层
between  '"&id-2&" and  "&id-2&"'"这样试一下
回复

使用道具 举报

发表于 2013-7-21 10:40 | 显示全部楼层    本楼为最佳答案   
1) 取决于你连接的数据库是什么,如果是Access或Excel,并且"日期"Field的格式是真正的日期格式时,用数字键:#,如果是DB2, SQL Server等等,用单引号:'

2) 即便是连接Access,也不一定都用#,如果table1中的"日期"Field的格式是文本格式,就要用单引号'

在假设"日期"格式是真正的日期格式的前提下,并且你引用的数据库是Excel或Access时,你的变量引用可以如下:

sql = "Select * from  table1  Where  日期 between #" & ld_1 & "# and #" & ld _2 & "# "

回复

使用道具 举报

发表于 2013-7-21 10:43 | 显示全部楼层
学习了,好东西
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-3 06:23 , Processed in 0.309227 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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