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


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

主题:变量设置问题

帅哥哟,离线,有人找我吗?
老有所乐
  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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/19 9:35:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
老有所乐
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


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

n 本来就不是列名嘛。

 回到顶部
帅哥哟,离线,有人找我吗?
老有所乐
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


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

 只能说列名,作为筛选条件是不能在等号左边用变量替代的!

你这样吧:

if n  = '"& .Value &"' then

       你原来的代码

end if

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

 回到顶部
帅哥哟,离线,有人找我吗?
老有所乐
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


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

6楼用“你原来的代码”不对···    你还是给个例子吧。看看有没有其他办法呢。

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


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

Dim i As String =  e.Form.Controls("ComboBox1").value    '表名
Dim n As String = e.Form.Controls("ComboBox3").value    '列名
Dim f As String =  e.Form.Controls("combobox5").value    '筛选值
With Tables(i)
    Dim r As Integer
    r = .Find(f,0,Tables(i).cols(n).index, False, False, True)
    If r > - 1 Then    
        .Position = r  
    End If

   Tables(i).Select(r,Tables(i).cols(n).index)
   Tables(i).focus
   Syscmd.Filter.Equal()
End With
 

类似这个问题我以前也没搞懂,申请加精·······

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

[本帖被加为精华]
 回到顶部
帅哥哟,离线,有人找我吗?
老有所乐
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


 回到顶部
总数 22 1 2 3 下一页