以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]刚才发的忘记图片了,大家再帮我看看吧  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=50480)

--  作者:lesliecheung912
--  发布时间:2014/5/7 14:11:00
--  [求助]刚才发的忘记图片了,大家再帮我看看吧
各位老师中午好,不好意思我又来了
现在我要单独做一个查询窗口(档案明细查询),因为我刚开始启动这个窗口的时候不想让表加载数据,另外主窗口中又有关联表,因此没有将表绑定到明细表,而是将表定义为SQLQuery类型,并连接数据源。然后进行查询,通过查询将明细表中符合查询条件的数据在表中表示出来。以下是查询按钮的代码:
Dim filter As String
Dim dtp1 As WinForm.DateTimePicker
Dim dtp2 As WinForm.DateTimePicker
Dim cmb As WinForm.ComboBox
dtp1 = e.Form. Controls("起始日期").text
dtp2 = e.Form. Controls("结束日期").text
cmb = e.Form. Controls("档案类型").text
If dtp1 Is Nothing
    Messagebox.show("请输入起始日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else If dtp2 Is Nothing
    Messagebox.show("请输入结束日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else If cmb Is Nothing
    Messagebox.show("请输入档案类型!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
DataTables("档案明细查询_Table1").Fill("Select * From {档案管理明细} Where 归档日期 >= dtp1  And 归档日期 <= dtp2 And 档案类型 = cmb ","sqlserver",True)

请大家帮我看看哪地方有问题呀?
此主题相关图片如下:111.png
按此在新窗口浏览图片

--  作者:Bin
--  发布时间:2014/5/7 14:12:00
--  
Dim dtp1 As date
Dim dtp2 As date
Dim cmb As string
dtp1 = e.Form. Controls("起始日期").Value
dtp2 = e.Form. Controls("结束日期").Value
cmb = e.Form. Controls("档案类型").text

--  作者:有点甜
--  发布时间:2014/5/7 14:22:00
--  
Dim filter As String
Dim dtp1 As Date
Dim dtp2 As Date
Dim cmb As String
dtp1 = e.Form. Controls("起始日期").text
dtp2 = e.Form. Controls("结束日期").text
cmb = e.Form. Controls("档案类型").text
If dtp1 = Nothing
    Messagebox.show("请输入起始日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
Else If dtp2 = Nothing
    Messagebox.show("请输入结束日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
Else If cmb = Nothing
    Messagebox.show("请输入档案类型!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
DataTables("档案明细查询_Table1").Fill("Select * From {档案管理明细} Where 归档日期 >= #" & dtp1 & "#  And 归档日期 <= #" & dtp2 & "# And 档案类型 = \'" & cmb & "\' ","sqlserver",True)

--  作者:lesliecheung912
--  发布时间:2014/5/7 14:26:00
--  
当日期控件为空时我要做判断,如图dtp1 is nothing是不可以的(如图333),然后我又改成了 dtp1 =“”,当进行查询时又出现错误(图444)
如果先不做这些判断,又报Select语法或者数据源的问题(如图222)

图片点击可在新窗口打开查看此主题相关图片如下:333.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:444.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:222.png
图片点击可在新窗口打开查看
这么多问题,头都大了,帮主帮帮忙图片点击可在新窗口打开查看


--  作者:Bin
--  发布时间:2014/5/7 14:28:00
--  
Dim filter As String
Dim dtp1 As Date
Dim dtp2 As Date
Dim cmb As String
dtp1 = e.Form. Controls("起始日期").Value
dtp2 = e.Form. Controls("结束日期").Value
cmb = e.Form. Controls("档案类型").text
If e.Form. Controls("起始日期").Value is Nothing
    Messagebox.show("请输入起始日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
Else If e.Form. Controls("结束日期").Value is Nothing
    Messagebox.show("请输入结束日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
Else If e.Form. Controls("档案类型").text = ""
    Messagebox.show("请输入档案类型!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
DataTables("档案明细查询_Table1").Fill("Select * From {档案管理明细} Where 归档日期 >= #" & dtp1 & "#  And 归档日期 <= #" & dtp2 & "# And 档案类型 = \'" & cmb & "\' ","sqlserver",True)

--  作者:lesliecheung912
--  发布时间:2014/5/7 14:32:00
--  
谢谢甜姐!
日期类型是没问题了,但是又报Select语法或者数据源的问题
我的设计:现在我要单独做一个查询窗口(档案明细查询),因为我刚开始启动这个窗口的时候不想让表加载数据,另外主窗口中又有关联表,因此没有将表绑定到明细表,而是将表定义为SQLQuery类型,并连接数据源。然后进行查询,通过查询将明细表中符合查询条件的数据在表中表示出来。
数据源应该没问题啊,我是从外部数据源那儿获得的数据源名称
请看图:
图片点击可在新窗口打开查看此主题相关图片如下:587.png
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2014/5/7 14:33:00
--  
如果是MSSQL数据源, 要把# 号换为 单引号 \'
--  作者:lesliecheung912
--  发布时间:2014/5/7 14:35:00
--  
多谢Bin斑竹,关于Select语法或数据源的问题仍然存在,是怎么回事啊?
--  作者:lesliecheung912
--  发布时间:2014/5/7 14:36:00
--  
是SQLServer
--  作者:Bin
--  发布时间:2014/5/7 14:37:00
--  
改为单引号仍然报错?

你把拼接的SQL语句 利用messagebox.show弹出来看看那