Foxtable(狐表)用户栏目专家坐堂 → 变量设置问题


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

主题:变量设置问题

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
变量设置问题  发帖心情 Post By:2011/5/19 9:31:00 [显示全部帖子]

 

Dim Filter As String
Dim i As String = e.Form.Controls("ComboBox1").value   

Dim n As String = e.Form.Controls("ComboBox3").value   
With e.Form.Controls("combobox5")
       If .Value IsNot Nothing Then
     
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "  列名称  = '"& .Value &"' " 
    End If
End With
If Filter > "" Then
    Tables(i).Filter = Filter
End If
Tables(i).Filter  = Filter
MainTable = Tables(i) '打开生成的统计表

 

上面代码中的这句:     Filter = Filter & "  列名称  = '"& .Value &"' "   中的"列名称
"用变量 n  一个如何设置,请师傅指导,谢谢!

[此贴子已经被作者于2011-5-20 8:21:49编辑过]

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2011/5/20 8:51:00 [显示全部帖子]

 

一楼的代码为筛选按钮代码

如果 i 为订单表 将这句Filter = Filter & "  列名称  = '"& .Value &"' " 中的"列名称" 改为"产品"或"客户"都能够达到预期的目的,但将该句Filter = Filter & "  列名称  = '"& .Value &"' " 改为Filter = Filter & "  n  = '"& .Value &"' " 就提示 "未找到列 [ n ]"

   另  Filter = Filter & "  n  = '"& .Value &"' "   这句中 n =  的 "= "号是否可以用变量代替

反复看了贺老师指点的章节, 还是没有找到答案,请师傅帮忙,谢谢!

[此贴子已经被作者于2011-5-20 8:55:37编辑过]

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2011/5/20 9:02:00 [显示全部帖子]

 

n 是这个的 Dim n As String = e.Form.Controls("ComboBox3").value   我设置了代码在combobox3 能显示所选择表的所有列啊

[此贴子已经被作者于2011-5-20 9:03:43编辑过]

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2011/5/20 10:48:00 [显示全部帖子]

谢谢MR725老师!

加上楼上代码后,不提示任何错误,但是无动于衷,没有任何反应'可能确实是"列名,作为筛选条件是不能在等号左边用变量替代的!"

[此贴子已经被作者于2011-5-20 10:48:56编辑过]

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2011/5/20 15:09:00 [显示全部帖子]

 

mr725老师9楼代码可以筛选,但是筛选的值好像比需要的值大一点,如

筛选产品=PD01时,会筛选出PD05  客户=CS01 筛选出的是CS04 ,雇员=EP01,筛选出的是EP02 有时要点击两次按钮

见文件高级筛选表窗口1

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2011/5/20 16:57:00 [显示全部帖子]

现在也还没有弄懂代码的含义,慢慢琢磨.

现在9楼代码能准确理解人的意图,精华!

谢谢!


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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2011/5/20 18:04:00 [显示全部帖子]

 

这条 r = .Find(f,0,Tables(i).cols(n).index, False, False, True) 的意思不大理解

为什么要false 和 true

[此贴子已经被作者于2011-5-20 18:13:40编辑过]

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2011/5/20 21:58:00 [显示全部帖子]

谢谢老师,大致上看懂了!

另外,我文件窗口中combobox3的TextChanged事件有一段SQL代码:

 Dim dt As DataTable
   cmd.CommandText = "Select  DISTINCT " & cmb2.Value & " from {订单} Where " & cmb2.Value & " Is Not Null"   '需要排除重复的行,可以在字段列表前面加上关键词DISTINCT
   dt = cmd.ExecuteReader()

这段代码中的表名{订单} ,能否用变量 i 代替,怎样代替?

谢谢赐教!


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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2011/5/21 5:28:00 [显示全部帖子]

谢谢二位后起之秀!

9楼代码确实精典,遗憾只能筛选=该值,而不能筛选<该 值 或 < 该值 或<>该值

再次谢谢mr725老师~


 回到顶部