以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 窗口查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50441)
|
-- 作者:xiaohuli
-- 发布时间:2014/5/6 20:53:00
-- 窗口查询
在查询窗口中,有一个textbox1,table1,table1是绑定gdzc表的,我想实现当文本框中输入资产编号或类型等等之类的,能够查询出来结果,下面是代码,可以运行代码的时候出现错误,求大侠们帮我修改一下。
Dim tbl As Table = Tables("gdzc") If e.Form.Controls("TextBox1")="" Then tbl.Filter = "" Else tbl.Filter = "资产编号 like \'%"& e.form.controls("TextBox1").text & "%\'or 类型 like\'%"& e.Form.Controls("TextBox1").text & "%\'or 名称 like\'%"& e.Form.Controls("TextBox1").text & "%\'or 部门1 like\'%"& e.Form.Controls("TextBox1").text & "%\' or 部门2 like\'%"& e.Form.Controls("TextBox1").text & "%\' or 使用部门 like\'%"& e.Form.Controls("TextBox1").text & "%\' or 使用人员 like\'%"& e.Form.Controls("TextBox1").text & "%\' or 目前状态 like\'%"& e.Form.Controls("TextBox1").text & "%\' or 经办人员 like\'%"& e.Form.Controls("TextBox1").text & "%\' or 资产来源 like\'%"& e.Form.Controls("TextBox1").text & "%\'" End If DataTables("gdzc").LoadFilter = tbl.Filter DataTables("gdzc").Load()
|
-- 作者:有点甜
-- 发布时间:2014/5/6 21:02:00
--
目测代码没有错,提示什么错误?
试一下
Dim tbl As Table = Tables("gdzc") If e.Form.Controls("TextBox1")="" Then tbl.Filter = "" Else tbl.Filter = "资产编号 like \'%" & e.form.controls("TextBox1").text & "%\' or 类型 like \'%" & e.Form.Controls("TextBox1").text & "%\' or 名称 like \'%" & e.Form.Controls("TextBox1").text & "%\' or 部门1 like \'%" & e.Form.Controls("TextBox1").text & "%\' or 部门2 like \'%" & e.Form.Controls("TextBox1").text & "%\' or 使用部门 like \'%" & e.Form.Controls("TextBox1").text & "%\' or 使用人员 like \'%" & e.Form.Controls("TextBox1").text & "%\' or 目前状态 like \'%" & e.Form.Controls("TextBox1").text & "%\' or 经办人员 like \'%" & e.Form.Controls("TextBox1").text & "%\' or 资产来源 like \'%" & e.Form.Controls("TextBox1").text & "%\'" End If DataTables("gdzc").LoadFilter = tbl.Filter DataTables("gdzc").Load()
[此贴子已经被作者于2014-5-6 21:05:15编辑过]
|
-- 作者:xiaohuli
-- 发布时间:2014/5/6 21:14:00
--
提示错误如图所示: 此主题相关图片如下:qq图片20140506211336.jpg
|
-- 作者:xiaohuli
-- 发布时间:2014/5/6 21:16:00
--
我将原先的代码改了一下,改为:
Dim txt As String = e.Form.Controls("TextBox1") Dim tbl As Table = Tables("gdzc") If txt = "" Then tbl.Filter = "" Else txt = "\'%" & txt & "%\'" tbl.Filter = " 类型 like " & txt & "or 名称 like " & txt & " or 部门1 like " & txt & " Or 部门2 like " & txt & " or 使用部门 like " & txt & " or 使用人员 like " & txt & " or 目前状态 like " & txt & " or 经办人员 like " & txt & " or 资产来源 like " & txt & "" End If DataTables("gdzc").LoadFilter = tbl.Filter DataTables("gdzc").Load()
出现的错误是就发的图片。
|
-- 作者:lsy
-- 发布时间:2014/5/6 21:18:00
--
Dim tbl As Table = Tables("gdzc") If e.Form.Controls("TextBox1") .Text = "" Then tbl.Filter = "" Else
|
-- 作者:有点甜
-- 发布时间:2014/5/6 21:21:00
--
这样改
Dim txt As String = e.Form.Controls("TextBox1").Text Dim tbl As Table = Tables("gdzc") If txt = "" Then tbl.Filter = "" Else txt = "\'%" & txt & "%\'" tbl.Filter = " 类型 like " & txt & "or 名称 like " & txt & " or 部门1 like " & txt & " Or 部门2 like " & txt & " or 使用部门 like " & txt & " or 使用人员 like " & txt & " or 目前状态 like " & txt & " or 经办人员 like " & txt & " or 资产来源 like " & txt & "" End If DataTables("gdzc").LoadFilter = tbl.Filter DataTables("gdzc").Load()
|
-- 作者:xiaohuli
-- 发布时间:2014/5/6 21:22:00
--
谢谢lsy老师
|
-- 作者:xiaohuli
-- 发布时间:2014/5/6 21:24:00
--
谢谢有点甜。
|
-- 作者:xiaohuli
-- 发布时间:2014/5/6 21:33:00
--
老师,还有一个查询问题,如图所示: 此主题相关图片如下:qq图片20140506212420.jpg
我想实现,当开始日期和结束日期都未输入时,类型一列的值我都已经取到了,选择一种类型就会从gdzc表中加载出来,若是开始日期和结束日期都输入,就加载该
时间段的数据,若是三个都输入了,那就满足这三个条件的加载过来,下面的代码不能满足我的要求,不知改如何修改。请老师帮忙改改。
Dim Filter As String Tables("固定资产").Filter = "" With e.Form.Controls("DateTimePicker1") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If \'Filter = Filter & "zt = \'" & .Value & "\'" Filter = Filter & " 购置日期 >= \'" & .Value & "\' " End If End With With e.Form.Controls("DateTimePicker2") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If \'Filter = Filter & "zt = \'" & .Value & "\'" Filter = Filter & " 购置日期 <= \'" & .Value & "\' " End If With e.Form.Controls("ComboBox1") If .Value IsNot Nothing Then Filter = "类型 = \'" & .Value & "\'" End If End With DataTables("固定资产").LoadFilter = Filter DataTables("固定资产").Load()
|
-- 作者:有点甜
-- 发布时间:2014/5/6 21:38:00
--
这样
Dim Filter As String = "1=1 "
With e.Form.Controls("DateTimePicker1") If .Value <> Nothing Then Filter = Filter & " and 购置日期 >= #" & .Value & "# " End If End With With e.Form.Controls("DateTimePicker2") If .Value <> Nothing Then Filter = Filter & " and 购置日期 <= #" & .Value & "# " End If With e.Form.Controls("ComboBox1") If .Value > "" Then Filter = " and 类型 = \'" & .Value & "\'" End If End With Tables("固定资产").Filter = "" DataTables("固定资产").LoadFilter = Filter DataTables("固定资产").Load()
|