Foxtable(狐表)用户栏目专家坐堂 → 查询


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

主题:查询

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7909 威望:0 精华:0 注册:2016/6/11 11:10:00
查询  发帖心情 Post By:2016/12/25 11:28:00 [只看该作者]

老师你好  麻烦抽个时间帮我写个代码   实现功能:在查询窗口的文本框中输入要查询的内容  点击查询按钮  把查询所得的结果填写在查询结果表中
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:店铺品种销售价格查询.zip


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/25 11:29:00 [只看该作者]


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/25 11:33:00 [只看该作者]

1、你的表设计不正确。你的价格明细表,应该是要一行一个品种价格的,而不是用多列来表示。

 

2、参考2楼的方法设计筛选。


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


加好友 发短信
等级:三尾狐 帖子:672 积分:7909 威望:0 精华:0 注册:2016/6/11 11:10:00
  发帖心情 Post By:2016/12/25 11:33:00 [只看该作者]

补充说明:第一个:品种销售登记表中名称(如名称1、名称2、。。。。。。)很多,不一定是2个名称,甚至达到名称80.在这里只是简化。第二个:名称1等录入的顺序是随意的。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/25 11:34:00 [只看该作者]

 不能那样做, 看3楼。

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


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2016/12/25 13:32:00 [只看该作者]

看这个,N多列都可以。

Dim jb As New SQLJoinTableBuilder("查询表1","品种销售登记表")
jb.C onnection Name = ""
jb.AddCols("日期","店铺 as 店名","名称1 as 名称","价格1 as 价格")
jb.Filter = "1<>1"

Dim lms As String = "名称1/价格1|名称2/价格2" '这里可以动态的
For Each lm As String In lms.Split("|")
    Dim jb1 As New SQLJoinTableBuilder("查询表1","品种销售登记表")
    jb1.C onnection Name = ""
    jb1.AddCols("日期","店铺 as 店名",lm.Split("/")(0) & " As 名称",lm.Split("/")(1) & " As 价格")
    jb1.Filter = lm.Split("/")(0) & " = '红富士'"
    jb.Union(jb1)
Next
jb.Build()

MainTable = Tables("查询表1")
[此贴子已经被作者于2016/12/25 15:33:45编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/25 15:31:00 [只看该作者]

以下是引用蓝蚂蚁在2016/12/25 11:33:00的发言:
补充说明:第一个:品种销售登记表中名称(如名称1、名称2、。。。。。。)很多,不一定是2个名称,甚至达到名称80.在这里只是简化。第二个:名称1等录入的顺序是随意的。

 

如果真要这样做,就必须这样写代码

 

Dim str As String = "红富士"

Dim dt1 As DataTable = DataTables("品种销售登记表")
Dim t As Table = Tables("品种销售登记表")
Dim dt2 As DataTable = DataTables("查询结果表")
dt2.DataRows.Clear

For Each dr As DataRow In dt1.Select("店铺 is not null")
    For i As Integer = 2 To t.Cols.Count - 1 Step 2
        If dr(t.Cols(i).name) Like "*" & str & "*" Then
            Dim ndr As DataRow = dt2.AddNew
            ndr("日期") = dr("日期")
            ndr("店名") = dr("店铺")
            ndr("名称") = dr(t.Cols(i).name)
            ndr("价格") = dr(t.Cols(i+1).name)
        End If
    Next
Next


 回到顶部