Foxtable(狐表)用户栏目专家坐堂 → 怎么锁定知道行


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

主题:怎么锁定知道行

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/3 21:57:00 [只看该作者]

没有免费版哦,只有试用版啊,如果是自己用的话,可以去买个盗版的玩玩,几块钱。数据丢失/被锁自负
[此贴子已经被作者于2014-1-3 21:57:07编辑过]

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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/3 22:00:00 [只看该作者]

可以给一个代码吗?实现这个作用将一个表的信息填充到别的表格后,一个循环可以自动比较几张表的信息有没有和第一张表不同的,并且将第一张表所以同步到其他表,加上文字说明及更好了。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/3 22:21:00 [只看该作者]

 还是之前的那个例子,用下面的代码

Dim tbnames() As String = {"第一科", "第二科", "第三科", "第四科", "第五科"}
Dim stbname As String = tbnames(0)
For i As Integer = 1 To tbnames.Length - 1
    Dim f As New Filler
    f.SourceTable = DataTables(stbname) '指定数据来源
    f.SourceCols = "组号,学号,班级,姓名"
    f.DataTable = DataTables(tbnames(i)) '指定数据接收表
    f.DataCols = "组号,学号,班级,姓名"
    'f.ExcludeExistValue = True
    f.Fill() '填充数据
    
    For Each dr As DataRow In DataTables(tbnames(i)).DataRows
        Dim fdr As DataRow = DataTables(stbname).Find("姓名 = '" & dr("姓名") & "'")
        If fdr IsNot Nothing Then
            For Each dc As DataCol In DataTables(tbnames(i)).DataCols
                dr(dc.Name) = fdr(dc.Name)
            Next
        End If
    Next
Next

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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/3 22:37:00 [只看该作者]

谢谢啊,一直麻烦你

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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/3 22:42:00 [只看该作者]

后面是检索有没有名字漏的吗?我想用学号来代替要好点。

是不是讲里面的最后的两个  “姓名”   换成  “学号”   就可以了吗

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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/3 22:52:00 [只看该作者]

这段代码是将第一张表的信息全部复制到其他表,并且检验一下,问一下,如果第一张 表里面没有的,别的表里面有的信息会不会被覆盖。
这些代码使用前提是不是当前加载的信息呢,如果只是加载的信息,每有加载的信息是不是就是被漏掉了呢。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/1/3 22:57:00 [只看该作者]

 这段代码的意思是 首先填充其他表没有的数据,然后更新其他表对应名字的行为第一张表的行,其他表在第一张表没有出现的学号,不会更新。

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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/3 23:25:00 [只看该作者]

是更新整行吗?只能更新没行的前4列的。因为后面的成绩是不同的,这样要求这个代码怎么改呢?

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


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

你可以指定列:

 

Dim tbnames() As String = {"第一科", "第二科", "第三科", "第四科", "第五科"}
Dim stbname As String = tbnames(0)
For i As Integer = 1 To tbnames.Length - 1
    Dim f As New Filler
    f.SourceTable = DataTables(stbname) '指定数据来源
    f.SourceCols = "组号,学号,班级,姓名"
    f.DataTable = DataTables(tbnames(i)) '指定数据接收表
    f.DataCols = "组号,学号,班级,姓名"
    'f.ExcludeExistValue = True
    f.Fill() '填充数据
   
    Dim nms() As String = {"要更新的列1","要更新的列2","要更新的列3","要更新的列4"}
    For Each dr As DataRow In DataTables(tbnames(i)).DataRows
        Dim fdr As DataRow = DataTables(stbname).Find("姓名 = '" & dr("姓名") & "'")
        If fdr IsNot Nothing Then
            For each nm As String in nms
                dr(nm) = fdr(nm)
            Next
        End If
    Next
Next

 

甚至直接:

 

Dim tbnames() As String = {"第一科", "第二科", "第三科", "第四科", "第五科"}
Dim stbname As String = tbnames(0)
For i As Integer = 1 To tbnames.Length - 1
    Dim f As New Filler
    f.SourceTable = DataTables(stbname) '指定数据来源
    f.SourceCols = "组号,学号,班级,姓名"
    f.DataTable = DataTables(tbnames(i)) '指定数据接收表
    f.DataCols = "组号,学号,班级,姓名"
    'f.ExcludeExistValue = True
    f.Fill() '填充数据
   
    For Each dr As DataRow In DataTables(tbnames(i)).DataRows
        Dim fdr As DataRow = DataTables(stbname).Find("姓名 = '" & dr("姓名") & "'")
        If fdr IsNot Nothing Then
            dr("某列1") = fdr("某列1")
            dr("某列2") = fdr("某列2")
            dr("某列3") = fdr("某列3")
            dr("某列4") = fdr("某列4")

        End If
    Next
Next


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


加好友 发短信
等级:幼狐 帖子:160 积分:1044 威望:0 精华:0 注册:2013/12/27 0:27:00
  发帖心情 Post By:2014/1/12 18:58:00 [只看该作者]

现在想把软件优化一下,上面代码是先比较前面成绩低于60就为不及格,现在想改一下,如果该学生没选这门课这门课程成绩是0,这是上面代码处理结果不及格,显然不合适,怎么改一下做到,低于60为不及格,如果为0就不判断为不及格。代码怎么改合适呢!

 回到顶部
总数 68 上一页 1 2 3 4 5 6 7 下一页