Foxtable(狐表)用户栏目专家坐堂 → 动态加载数据问题


  共有14998人关注过本帖树形打印复制链接

主题:动态加载数据问题

帅哥哟,离线,有人找我吗?
wqc360
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
动态加载数据问题  发帖心情 Post By:2010/1/29 13:41:00 [只看该作者]

现在有2个问题:
1.目录树加载数据和文本框筛选各自独立实现,即用目录树加载时,不管文本框,文本框输入数据时,不管目录树,各自独立实现加载数据,怎样实现。
2.DataTables
("产品工序")和DataTables("产品工艺")表加载数据条件为图号列=产品目录表光标所在行图号列相等。(注意,不是窗口关联表Tables("产品目录.产品工序"),和Tables("产品目录.产品工序.产品工艺").因为我还有其他窗口要调用数据,需要图号一样的3个表都加载数据,本窗口只显示关联数据而以
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.table

[此贴子已经被作者于2010-1-29 13:41:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/1/29 15:11:00 [只看该作者]

1、 If 文本框 = “” 。。。。执行你原来的代码。。。。
      else

              修改你原来的代码的filter条件中的‘ Value(x) ’
      End If

2、 使用关联表,跟你的:“因为我还有其他窗口要调用数据,需要图号一样的3个表都加载数据” 并不矛盾呀~ ,想怎么调用数据就怎么调用嘛。


 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/1/29 16:38:00 [只看该作者]

谢谢mr725的回复,但是还是不行。
我在产品目录CurrentChanged事件中加代码:
With DataTables("产品工序")
    .LoadFilter = "[图号] = '" & Tables("产品目录").Current("图号") & "'"
    .Load()
End With
With DataTables("产品工艺")
    .LoadFilter = "[图号] = '" & Tables("产品目录").Current("图号") & "'"
    .Load()
End With

功能达到要求,但是产品目录也是动态加载数据,在切换数据时,(从A到B条件加载数据切换时)有空行的存在,就报错。帮我看看怎样加一个空行时不执行可能就对了。
我在窗口控件文本框TextChanged事件加入代码:
Dim Filter As string
with e.Form
    Dim txb1 As WinForm.TextBox = .Controls("TextBox1")
    Filter =  "[图号] Like '*" & txb1.text & "*'or [名称] Like '*" & txb1.text & "*'"
end with
DataTables("产品目录").LoadFilter = Filter
DataTables("产品目录").Load()
还是有冲突,帮我看看,应该怎么改才合适。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目19.table


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/1/29 16:47:00 [只看该作者]

如果因为空行报错的话,加上:
if tables("xxx").count > 0 
   你原来的currentchanged里的代码
end if


 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/1/29 17:28:00 [只看该作者]

谢谢mr725,空行问题解决,太好了。现在看看这一段怎么搞:
Dim Filter As string
with e.Form
    Dim txb1 As WinForm.TextBox = .Controls("TextBox1")
    Filter =  "[图号] Like '*" & txb1.text & "*'or [名称] Like '*" & txb1.text & "*'"
end with
DataTables("产品目录").LoadFilter = Filter
DataTables("产品目录").Load()

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/1/29 17:38:00 [只看该作者]

LoadFilter的语法是SQL格式:



LIKE运算符

LIKE运算符用于将指定表达式的值和一个模式字符串进行比较,判断两者是否匹配。

LIKE可以使用通配符,通配符包括:

_(下划线)
匹配单个字符

%(百分号)
匹配任意个数的字符

例如:

Like 'C%',

表示以字符C开始的值。

在例如:

Like 'A_e%'

表示第一个字母是A,第三个字母是e。

找出姓名为三个字,且第二个字是“文”的客户:

Select * From {客户} Where 姓名 Like '_文_'

找出客户表中的贸易公司:

SELECT * FROM {客户} WHERE 公司名称 LIKE '%贸易%'

可以利用NOT关键词进行反向操作,例如:

SELECT * FROM {客户} WHERE 公司名称 NOT LIKE '%贸易%'

找出所有非贸易公司。 


 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/1/29 17:48:00 [只看该作者]

如果我把表直接加载,用代码:
with e.Form
    Dim txb1 As WinForm.TextBox = .Controls("TextBox1")
    Tables("产品目录").Filter =  "[图号] Like '*" & txb1.text & "*'or [名称] Like '*" & txb1.text & "*'"
end with
是可以筛选的,再加上重新加载数据就不行,搞不懂,帮帮忙了,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/1/29 18:09:00 [只看该作者]

这样就可以了:
Dim Filter As string
with e.Form
    Dim txb1 As WinForm.TextBox = .Controls("TextBox1")
    Filter =  "[图号] Like '*" & txb1.text & "*'or [名称] Like '*" & txb1.text & "*'"
end with
Tables("产品目录").Filter = Filter

数据行没有全部load过来时,Tables("产品目录").Filter = Filter 还是不行~   !!!
[此贴子已经被作者于2010-1-29 20:57:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/1/29 21:48:00 [只看该作者]

8楼也是不行,谢谢了,看看怎么做,窗口文本框输入数据模糊查询加载数据问题,可以搞一个课题供大家研究了。呵呵
[此贴子已经被作者于2010-1-29 22:03:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5677 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2010/1/29 22:03:00 [只看该作者]


If  Vars("用户组") = "浏览员"
    e.Form.Controls ("产品目录录入"). Visible = False
End If
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 客户,机型,所属部分,图号 From 产品目录"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildDataTree(dt, "","客户", "机型","所属部分","图号")
if tables("产品目录").count > 0
Tables("产品目录").OpenView("车间主管")
Tables("产品目录.产品工序").OpenView("车间主管")
Tables("产品目录.产品工序.产品工艺").OpenView("车间主管")
end if

 回到顶部
总数 17 1 2 下一页