Foxtable(狐表)用户栏目专家坐堂 → 求代码


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

主题:求代码

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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
求代码  发帖心情 Post By:2009/2/27 13:28:00 [只看该作者]

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


求代码:
筛选条件:
文件文号相同 同时 文件题名相同 行
操作要求:
在符合以上要求的行中如果其中一行“正文”有内容但“链接地址”没有内容,而另一行正文没有内容但链接地址有内容,把这一行中链接地址复制到前一行的链接地址中,并且把这一行删除,只保留一行,避免重复。

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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2009/2/27 16:19:00 [只看该作者]

难道没有人愿意指点吗?

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


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

Dim drs As List(Of DataRow)

For Each dr As DataRow in DataTables("收文").DataRows

    If dr.IsNull("文件文号") Then

        Continue For

    End If

    drs = DataTables("收文").Select("文件文号 = '" & dr("文件文号") & "' And 文件题名 = '" & dr("文件题名") & "'")

    If drs.Count > 0 Then

        For i As integer = 1 To drs.Count - 1       

            If drs(i).IsNull("正文") = False Then

                dr("正文") = drs(i)("正文")

            End If

            If drs(i).IsNull("链接地址") = False Then

                dr("链接地址") = drs(i)("链接地址")

            End If

            drs(i)("文件文号") = Nothing

        Next

    End If

Next

DataTables("收文").DeleteFor("文件文号 Is Null")


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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2009/3/2 10:12:00 [只看该作者]

谢谢,请教

drs = DataTables("收文").Select("文件文号 = '" & dr("文件文号") & "' And 文件题名 = '" & dr("文件题名") & "'") 与
drs = DataTables("收文").select("[文件文号]='" & dr("文件文号") & "' And [文件题名]='" & dr("文件题名") & "'")   有什么区别?


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


加好友 发短信 好心情 一级勋章
等级:超级版主 帖子:715 积分:5564 威望:0 精华:1 注册:2008/8/31 20:45:00
  发帖心情 Post By:2009/3/2 10:14:00 [只看该作者]

以下是引用shixia在2009-3-2 10:12:00的发言:
谢谢,请教

drs = DataTables("收文").Select("文件文号 = '" & dr("文件文号") & "' And 文件题名 = '" & dr("文件题名") & "'") 与
drs = DataTables("收文").select("[文件文号]='" & dr("文件文号") & "' And [文件题名]='" & dr("文件题名") & "'")   有什么区别?

没有区别


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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2009/3/2 10:31:00 [只看该作者]

哦,那么在帮助文档中所有带[]的实际上都可以不用,效果也一样了 ?

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


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

有没有[]都可以的,看自己习惯。


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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2009/3/2 14:29:00 [只看该作者]

1、dr("正文") = drs(i)("正文")
drs(i)("正文")=dr("正文")有什么不同?我自己反复试了一下,好象有区别,就是把等于号=后面的值传递到=号前去,如 dr("正文") = drs(i)("正文") 就是把 drs(i)("正文") 的值传递给 dr("正文"),那么即使dr("正文")中有值也将改为drs(i)("正文") 中的值。狐爸,能否就这个现象从理论上解释一下,好让我们尽快地理解狐表中代码用法。
2、狐爸给出的代码中,有一个问题我很容易搞错,那就是当在同一个“收文”表中筛选出集合drs时,该dr与drs关系,这两者的关系好象是包含与被包含的关系,我选择了两行数据,删除其它数据,然后克隆这两行数据,并把“链接地址”按行顺序改为1、2、3、4内容,然后用下面的代码试试:
Dim drs As List (Of DataRow)
For Each dr as datarow in datatables("收文").datarows
    if dr.isnull("文件文号") then
        continue for
    end if
    drs=datatables("收文").select("文件文号='" & dr("文件文号") & "' And 文件题名='" & dr("文件题名") & "'")
    if drs.count >0 then
        for i as integer =1 to drs.count-1
            if drs(i).isnull("链接地址")=false then
                output.show(drs(i)("链接地址"))
            end if
        next
    end if
next


显示结果是:4 3 3 4
那么请问狐爸:是否最后两行的内容是否就是drs集合中的数据?如果是的话,为什么把 integer =1 to drs.count-1改为  integer =0to drs.count-1后又显示1 4 2 3 2 3 1 4 把1改为0两者有什么区别?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:文件管理.table


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


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

实际上是这样的,集合的编号都是从0开始的,但是这里我们始终保留第一行,也就是编号为0的那一行,然后从第二行(编号为1)开始,检查有关列的内容,将有效内容复制到第一行(编号为0),并将第二行开始的所有行的文件文号内容清除。

最后删除所有文件问号内容为空的行,从而实现了相同内容只保留一行的目的。

我建议楼主先细细地多看几次帮助。
[此贴子已经被作者于2009-3-2 15:06:17编辑过]

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


加好友 发短信
等级:三尾狐 帖子:759 积分:7038 威望:0 精华:1 注册:2008/9/2 20:04:00
  发帖心情 Post By:2009/3/2 15:31:00 [只看该作者]

狐爸,帮助里我建议不能只有例子,应该对有共同规律的内容多进行小结,把共性规律提炼出来升华到理论上去,不要让我们从1000多页的帮助中自己去提炼、理解、领悟,如果先让我们抓住主要规律和理论,再用这些规律和理论去分析代码,是不是可以提高我们学习进度,是不是可以让更多的人以最快的速度学习和掌握foxtable呢,我为了学习狐表,曾把帮助打印出来,一页页看,但总觉得淹没在代码中,后来,我把所有datatables datatable datarows datarow 等的属性和方法全部汇总到一张电子表中,不断地归纳和对比,并对每一句代码进行分析,把分析结果抽象归纳出规律,再在看后面的代码同时来验证规律,来丰富规律,前后断断续续看了两个多月才懂个大概,你不要以为我们有你们专业人士的电脑基础。如果不让我们迅速掌握总的规律,一开始就让我们淹没在代码中,将把一大批象我这样的人挡在狐表之外。
[此贴子已经被作者于2009-3-2 15:37:40编辑过]

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