vb筛选access数据库
strsql="select*fromshujuwhere日="&Trim(Combo3.Text)筛选多个条件要怎么写?还要筛选月和年,都是数值型的。还有一个文本型的条...
strsql = "select*from shuju where 日=" & Trim(Combo3.Text)
筛选多个条件要怎么写?还要筛选月和年,都是数值型的。还有一个文本型的条件,这些引号和字符把我弄懵了,在线等,急!! 展开
筛选多个条件要怎么写?还要筛选月和年,都是数值型的。还有一个文本型的条件,这些引号和字符把我弄懵了,在线等,急!! 展开
2个回答
展开全部
你不要眉毛胡子一把抓,日期类型、数字类型、字符类型的条件在SQL里面是有严格区分的,在ACCESS又有很大的出入,在VB SQL、VB ACCESS效果又不一样。
如在VB SQL里面可以使用IIF函数,在其他开发环境是不能使用IIF函数的,ACCESS本来就是VBA的翻版,所以他也支持IIF函数。VB方法对日期格式的引用是#日期#,SQL方法是直接使用,但是格式要对应,SQL要用Convert函数去转换一下格式。所以楼主你要熟悉这些用法。比如你说的要把年月作为字符来筛选,那就这样做
strsql = "select * from shuju where CStr(Year(年))+CStr(Month(日期字段))+CStr(Day(日期字段))= '"+Trim(Combo1.Text)+Trim(Combo2.Text)+
+ Trim(Combo3.Text)+'"
在Combo1、2、3里放年、月、日数值,Combo1.Text格式就是String,ACCESS里面Cstr()意思是去空格。你的写法不是把Combo3做条件参数,是把他做成表名了
如在VB SQL里面可以使用IIF函数,在其他开发环境是不能使用IIF函数的,ACCESS本来就是VBA的翻版,所以他也支持IIF函数。VB方法对日期格式的引用是#日期#,SQL方法是直接使用,但是格式要对应,SQL要用Convert函数去转换一下格式。所以楼主你要熟悉这些用法。比如你说的要把年月作为字符来筛选,那就这样做
strsql = "select * from shuju where CStr(Year(年))+CStr(Month(日期字段))+CStr(Day(日期字段))= '"+Trim(Combo1.Text)+Trim(Combo2.Text)+
+ Trim(Combo3.Text)+'"
在Combo1、2、3里放年、月、日数值,Combo1.Text格式就是String,ACCESS里面Cstr()意思是去空格。你的写法不是把Combo3做条件参数,是把他做成表名了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询