Foxtable(狐表)用户栏目专家坐堂 → [推荐]【贡献成果】多重判断+填充值(完美版)


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

主题:[推荐]【贡献成果】多重判断+填充值(完美版)

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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
[推荐]【贡献成果】多重判断+填充值(完美版)  发帖心情 Post By:2013/5/5 2:00:00 [只看该作者]

加了个判断,完美呈现,共享!!!见4楼

 

 

我的想法很简单,但水平太差,鼓捣了一阵,还是不行,请教了。。。。


有表A(有一个逻辑列,ID列和姓名列),和表B(有ID列和姓名列),想实现表间同步更新:

根据表A的逻辑列进行判断,如果:

    表A 某行的逻辑值选中时,就把表A的id列和姓名行,抄到表B的ID和姓名行中去(并要求表B不能有ID和姓名同时重复情况);

    反之,表A逻辑列取消选择时,同步删除表B的中与表A同值的ID和姓名那一行


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

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:表间传递更新.foxdb


[此贴子已经被作者于2013-5-6 13:42:32编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/5/5 9:34:00 [只看该作者]

Dim dr As DataRow = DataTables("表B").Find("ID = '" & e.DataRow("ID") & "' And 姓名 = '" & e.DataRow("姓名") & "'")
If e.DataCol.Name = "是否" Then
    If e.DataRow("是否") = True Then
        If dr Is Nothing Then
            Dim adddr = DataTables("表B").AddNew()
            adddr("ID") = e.DataRow("ID")
            adddr("姓名") = e.DataRow("姓名")
        End If
    Else
        If dr IsNot Nothing Then
            dr.Delete()
        End If
    End If
End If

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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2013/5/5 9:36:00 [只看该作者]

图片点击可在新窗口打开查看赞,一个,一开始我还分成两大段写。。。。感谢!

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/5/5 9:40:00 [只看该作者]

以下是引用everybody在2013-5-5 9:36:00的发言:
图片点击可在新窗口打开查看赞,一个,一开始我还分成两大段写。。。。感谢!

你的实例格式,我打不开,又重新建一个,好费事。


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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2013/5/5 10:41:00 [只看该作者]

Dim dr As DataRow = DataTables("表B").Find("ID = '" & e.DataRow("ID") & "' And 姓名 = '" & e.DataRow("姓名") & "'")
Dim xm As String = e.DataRow("姓名")
If e.DataCol.Name = "是否" Then
    If e.DataRow("是否") = True Then
        If dr Is Nothing Then
            Dim Result As DialogResult
            Result = MessageBox.Show("确定 " & xm & " 为人选?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
            If Result = DialogResult.Yes Then
                Dim adddr = DataTables("表B").AddNew()
                adddr("ID") = e.DataRow("ID")
                adddr("姓名") = e.DataRow("姓名")
            Else
                e.DataRow("是否") = False
                Return
            End If
        End If
       
    Else
        If dr IsNot Nothing Then
            Dim Result As DialogResult
            Result = MessageBox.Show("取消 " & xm & " 为人选?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
            If Result = DialogResult.Yes Then
                dr.Delete()
            Else
                e.DataRow("是否") = True
                Return
            End If
        End If
    End If
End If

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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2013/5/5 10:42:00 [只看该作者]

以下是引用lsy在2013-5-5 9:40:00的发言:

你的实例格式,我打不开,又重新建一个,好费事。

 

谢谢!我加了个判断,更完美了。共享给大家,一个很常用的功能


 回到顶部