以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]这代码对吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44563)

--  作者:shenhq
--  发布时间:2014/1/3 17:08:00
--  [求助]这代码对吗?

Dim c As Integer= Tables("活动.报名表").Rows.count     \'将行数赋值给c
Dim i() As Integer                                                    \'定义一个数组i
Dim x As Integer = 0
If c > 0 Then                                                          \'如果Tables("活动.报名表")行数>0
    For Each r As Row In   Tables("活动.报名表")         \'遍历 Tables("活动.报名表")
        i(x)=  r("id")                                                  \'把已报名人员的id赋值给数值i
        x = x+1
    Next
    Tables("人员").Filter=" [_Identify] not In (i) "         \'过滤掉已报名人员
Else
    Tables("人员").Filter=""
End If

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140102181314.jpg
图片点击可在新窗口打开查看

--  作者:shenhq
--  发布时间:2014/1/3 17:09:00
--  
没效果
--  作者:狐狸爸爸
--  发布时间:2014/1/3 17:16:00
--  

呵呵,你从哪里学的这样的代码,看看帮助是怎么写的:

http://www.foxtable.com/help/topics/2410.htm

http://www.foxtable.com/help/topics/2228.htm

 


--  作者:Bin
--  发布时间:2014/1/3 17:20:00
--  
不是这样做的哟,参考一下这里http://www.foxtable.com/help/topics/2228.htm
--  作者:shenhq
--  发布时间:2014/1/3 17:30:00
--  

半路出家,在学。

以为可以直接用数组


--  作者:shenhq
--  发布时间:2014/1/3 17:52:00
--  

Dim c As Integer= Tables("活动.报名表").Rows.count  \'将行数赋值给c
Dim ids As String

If c > 0 Then  \'如果Tables("活动.报名表")行数>0
    For Each r As Row In   Tables("活动.报名表").Rows   \'遍历 Tables("活动.报名表")
       ids = ids & "," & r("id")
    Next
       ids = ids.trim(",")
    Tables("人员").Filter=" [_Identify] not In (" & ids & ")"
Else
    Tables("人员").Filter=""
End If

 

 

这样还是不行,求详解。

 


--  作者:Bin
--  发布时间:2014/1/3 17:54:00
--  
出现什么问题? 报什么错?

如果是字符串类型,还要增加单引号哦

For Each r As Row In   Tables("活动.报名表").Rows   \'遍历 Tables("活动.报名表")
       ids = ids & ",\'" & r("id")  & "\'"
    Next

--  作者:shenhq
--  发布时间:2014/1/3 18:16:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:xlhw.zip

帮我看看吧,头晕了。
--  作者:有点甜
--  发布时间:2014/1/3 19:29:00
--  
 代码这样写,写到afterload事件里去

Dim c As Integer= Tables("活动.报名表").Rows.count  \'将行数赋值给c
Dim ids As String
If c > 0 Then  \'如果Tables("活动.报名表")行数>0
    For Each r As Row In   Tables("活动.报名表").Rows   \'遍历 Tables("活动.报名表")
        ids = ids & "," & r("id")
    Next
    ids = ids.trim(",")
    e.Form.Controls("人员").Table.Filter=" [_Identify] not In (" & ids & ")"
Else
    e.Form.Controls("人员").Table.Filter=""
End If

--  作者:shenhq
--  发布时间:2014/1/3 23:33:00
--  
多谢 多谢,请多多赐教。