以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码请教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33780) |
-- 作者:CRM2013 -- 发布时间:2013/5/24 10:12:00 -- 代码请教 刚开始学习代码编写,请教下面的代码为何不正常工作,谢谢回复。 目标:在客户信息表中,设立了按照客户代码输入值和客户名称输入值2个模糊查询后的加载数据条件,如果都为空时加载最新更新的10行 Dim Filter As String Dim dm As WinForm.TextBox = e.Form.controls("khdm") Dim mc As winform.TextBox = e.Form.controls("khmc") If dm.Value IsNot Nothing Then Filter = "客户代码 like \'%" & dm.Value & "%\'" \'按照客户代码动态加载 If mc.Value IsNot Nothing Then filter = filter & "And " & "客户名称 Like \'%" & dm.Value & "%\'" \'都不为空时代码和名称合并加载 End If ElseIf mc.Value IsNot Nothing Then Filter = "客户名称 like \'%" & mc.Value & "%\'" \'按照客户代码动态加载 End If If Filter >"" DataTables("客户信息").LoadFilter = Filter DataTables("客户信息").Loadtop ="" DataTables("客户信息").Load Else DataTables("客户信息").Loadtop ="10" \'查询条件为空时默认加载最新修改的10行 DataTables("客户信息").LoadOrder = "维护日期 Desc" DataTables("客户信息").Load End If |
-- 作者:夕然 -- 发布时间:2013/5/24 10:21:00 -- Dim Filter As String With e.Form.Controls("khdm") If .Value IsNot Nothing Then Filter = "客户代码 = \'" & .Value & "\'" End If End With With e.Form.Controls("khmc") If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "客户名称 = \'" & .Value & "\'" End If End With If Filter >""
DataTables("客户信息").LoadFilter = Filter
DataTables("客户信息").Loadtop =""
DataTables("客户信息").Load
Else
DataTables("客户信息").Loadtop ="10" \'查询条件为空时默认加载最新修改的10行
DataTables("客户信息").LoadOrder = "维护日期 Desc"
DataTables("客户信息").Load
End If
差不多这样吧
|
-- 作者:CRM2013 -- 发布时间:2013/5/24 10:52:00 -- 谢谢! 用with 看起来比 if 更容易理解些 |
-- 作者:CRM2013 -- 发布时间:2013/5/24 14:05:00 -- [求助] 如图,希望参考模拟关联的方式实现数据加载,其中客户信息表与客户联系表的共同列是客户代码。 要实现的功能是在点击截图下部tabcontrol的不同page时,为该page上的表(副本)加载数据,加载的条件是为截图上部分current行的客户代码 我写的代码如下,但好像不好用,请高手指点。 Dim tabc As WinForm.TabControl tabc = Forms("客户信息").Controls("TabControl1") If tabc.SelectedIndex<>0 Then With Tables("客户信息_客户") Dim Filter As String Filter = "客户代码 = " & .Current("客户代码") Dim st As String st = tabc.SelectedPage.text Select Case st Case "联系人信息" If Filter >"" DataTables("联系人信息").LoadFilter = Filter DataTables("联系人信息").Loadtop ="" DataTables("联系人信息").Load End If End Select End With End If 同时在截图上部附表的currentchanged增加事件,也不工作,没捣鼓出原因来 If Forms("客户信息").Opened() \'一定要判断用于模拟关联表的窗口是否已经打开 Dim tabc As WinForm.TabControl tabc = Forms("客户信息").Controls("TabControl1") If tabc.SelectedIndex<>0 Then With Tables("客户信息_客户") Dim Filter As String Filter = "客户代码 = " & .Current("客户代码") Dim st As String st = tabc.SelectedPage.text Select Case st Case "联系人信息" If Filter >"" DataTables("联系人信息").LoadFilter = Filter DataTables("联系人信息").Loadtop ="" DataTables("联系人信息").Load End If End Select End With End If End If |