关于VB中查询两DTPicker之间记录的问题

[复制链接]
查看11 | 回复4 | 2011-10-30 10:38:31 | 显示全部楼层 |阅读模式
简述:查询按钮、复选框、两个DTPicker问题:当复选框9为选定时执行查询两个DTPicker之间的数据到Datagird中,下述代码无查询结果。PrivateSubCommand1_Click()DimcnAsNewADODB.ConnectionDimrsAsNewADODB.Recordsetrs.CursorLocation=adUseClientconnectionstring=\"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\\vb6\\实例\\登录设定成功\\登录及菜单成功(备份)\\xiayier.mdb;PersistSecurityInfo=False\"\'cn.Openconnectionstringrs.Open\"select*fromyhbhwhere单位名称=\'\"defds123Combo1.Textdefds123\"\'or办理日期=\'\"defds123DTPicker1.Valuedefds123\"\'or业务类型=\'\"defds123Combo2.Textdefds123\"\'or银行保函受益人=\'\"defds123Text1.Textdefds123\"\'or所涉具体事项=\'\"defds123Text2.Textdefds123\"\'or保函担保金额=\'\"defds123Text3.Textdefds123\"\'or有效期至=\'\"defds123DTPicker2.Valuedefds123\"\'or银行保函编码=\'\"defds123Text4.Textdefds123\"\'\",cn,adOpenKeyset,adLockOptimisticIfCheck9.Value=1Thensqlfind=\"select*fromyhbhwhere办理日期between#\"defds123DTPicker1.Valuedefds123\"#and#\"defds123DTPicker2.Valuedefds123\"#\"ElseIfrs.RecordCount=0ThenMsgBox\"没有此项记录!\",vbExclamation,\"提示信息\"EndIfEndIfSetDataGrid1.DataSource=rsDataGridRows=rs.RecordCountEndSub请帮忙看看怎么修改DTPicker那才能正常查询期间的全部记录,吸血
回复

使用道具 举报

千问 | 2011-10-30 10:38:31 | 显示全部楼层
rs.Open\"select*fromyhbhwhere单位名称=\'\"defds123Combo1.Textdefds123\"\'or办理日期=\'\"defds123DTPicker1.Valuedefds123\"\'or业务类型=\'\"defds123Combo2.Textdefds123\"\'or银行保函受益人=\'\"defds123Text1.Textdefds123\"\'or所涉具体事项=\'\"defds123Text2.Textdefds123\"\'or保函担保金额=\'\"defds123Text3.Textdefds123\"\'or有效期至=\'\"defds123DTPicker2.Valuedefds123\"\'or银行保函编码=\'\"defds123Text4.Textdefds123\"\'\",cn,adOpenKeyset,adLockOptimistic改为rs.Open\"select*fromyhbhwhere单位名称=\'\"defds123Combo1.Textdefds123\"\'or办理日期=#\"defds123DTPicker1.Valuedefds123\"#or业务类型=\'\"defds123Combo2.Textdefds123\"\'or银行保函受益人=\'\"defds123Text1.Textdefds123\"\'or所涉具体事项=\'\"defds123Text2.Textdefds123\"\'or保函担保金额=\'\"defds123Text3.Textdefds123\"\'or有效期至=#\"defds123DTPicker2.Valuedefds123\"#or银行保函编码=\'\"defds123Text4.Textdefds123\"\'\",cn,adOpenKeyset,adLockOptimistic另外不知道你这个“保函担保金额”是字符型的还是数值型的字段?如果是数值型的,还要改为:...保函担保金额=\"defds123Text3.Textdefds123\"or...要根据字段类型来选择定界符,日期型用##,字符型用\'\',数值型不用定界符追问谢谢网海1书生,你看我的sqlfind这句对吗?为什么在选中check9执行查询时没有结果呢?
回复

使用道具 举报

千问 | 2011-10-30 10:38:31 | 显示全部楼层
你这个sqlfind字符串赋值后并没有使用啊,也就是说并没有查询啊,怎么可能有结果呢。可改为如下:PrivateSubCommand1_Click()DimcnAsNewADODB.ConnectionDimrsAsNewADODB.Recordsetrs.CursorLocation=adUseClientconnectionstring=\"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\\vb6\\实例\\登录设定成功\\登录及菜单成功(备份)\\xiayier.mdb;PersistSecurityInfo=False\"\'cn.OpenconnectionstringIfCheck9.Value=1Thensqlfind=\"select*fromyhbhwhere办理日期between#\"defds123DTPicker1.Valuedefds123\"#and#\"defds123DTPicker2.Valuedefds123\"#\"Elsesqlfind=\"select*fromyhbhwhere单位名称=\'\"defds123Combo1.Textdefds123\"\'or办理日期=#\"defds123DTPicker1.Valuedefds123\"#or业务类型=\'\"defds123Combo2.Textdefds123\"\'or银行保函受益人=\'\"defds123Text1.Textdefds123\"\'or所涉具体事项=\'\"defds123Text2.Textdefds123\"\'or保函担保金额=\'\"defds123Text3.Textdefds123\"\'or有效期至=#\"defds123DTPicker2.Valuedefds123\"#or银行保函编码=\'\"defds123Text4.Textdefds123\"\'\"endifrs.Opensqlfind,cn,adOpenKeyset,adLockOptimisticIfrs.eofThenMsgBox\"没有此项记录!\",vbExclamation,\"提示信息\"elseSetDataGrid1.DataSource=rsDataGridRows=rs.RecordCountEndIfEndSub
回复

使用道具 举报

千问 | 2011-10-30 10:38:31 | 显示全部楼层
请不吝赐教……我整个东西都是东拼西凑的,一知半解,刚赋值了也没整对……麻烦告诉我如何将这个sqlfind查询到的记录列示到Datagrid1中,谢谢
回复

使用道具 举报

千问 | 2011-10-30 10:38:31 | 显示全部楼层
已改,见上。但如果和数据库字段类型不符,那我也无能为力了
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行