Foxtable(狐表)用户栏目专家坐堂 → [求助]跨表引用和自动填入功能,求助


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

主题:[求助]跨表引用和自动填入功能,求助

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


加好友 发短信
等级:婴狐 帖子:22 积分:219 威望:0 精华:0 注册:2013/4/29 17:22:00
[求助]跨表引用和自动填入功能,求助  发帖心情 Post By:2013/5/3 10:42:00 [只看该作者]

现有表A 和表B 两个表

表A  有 “姓名  电话   登记时间   最后一次消费(时间)”
表B  有“姓名 电话  预约消费时间”

想实现功能。
1.通过操作表B   输入姓名   电话   预约消费时间。。。表A 如果有相同的姓名  电话,。则同步更新   最后一次消费(时间)=预约消费时间
2.通过操作表B   输入姓名   电话   预约消费时间。。。表A 如果姓名  电话  有一项不匹配  ,则表A 自动新增一行  
同步更新  姓名  电话。
同时 最后一次消费(时间)=预约消费时间    登记时间=预约消费时间

求大神帮忙理个思路,求代码写法

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


加好友 发短信
等级:婴狐 帖子:22 积分:219 威望:0 精华:0 注册:2013/4/29 17:22:00
  发帖心情 Post By:2013/5/3 11:03:00 [只看该作者]

Select Case e.DataCol.Name
    Case
 "姓名","电话",
"预约消费时间"
        
Dim dr As DataRow = e.DataRow
        
Dim pr As DataRow
        
If dr.IsNull("姓名"OrElse dr.IsNull("电话"Then
            dr(
"预约时间") = Nothing
        
Else
            
Dim filter As String
            filter = 
"姓名 = '" & dr("姓名") & "' And 电话 = '" & dr("电话") & "'"
            pr = 
DataTables("表A").Find(filter)
            If
 pr IsNot Nothing 
Then
                dr(
"预约时间") = pr("最后一次消费")
            End
 
If
        
End If
End
 Select


这样子是不是只能先匹配然后更新,,但不能新增对吧

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/3 11:05:00 [只看该作者]

发例子帮你完善

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


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

Select Case e.DataCol.Name
    Case "姓名","电话","预约消费时间"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow
        If dr.IsNull("姓名") OrElse dr.IsNull("电话") Then
            dr("预约时间") = Nothing
        Else
            Dim filter As String
            filter = "姓名 = '" & dr("姓名") & "' And 电话 = '" & dr("电话") & "'"
            pr = DataTables("表A").Find(filter)
            If pr IsNot Nothing Then
                dr("预约时间") = pr("最后一次消费")
            Else
                pr = DataTables("表A").Addnew()
                pr("姓名") = dr("姓名")
                pr("电话") = dr("电话")
                pr("登记时间") = dr("预约时间")
                '...
            End If
        End If
End Select
[此贴子已经被作者于2013-5-3 11:08:57编辑过]

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


加好友 发短信
等级:婴狐 帖子:22 积分:219 威望:0 精华:0 注册:2013/4/29 17:22:00
  发帖心情 Post By:2013/5/3 11:12:00 [只看该作者]

狐爸。。我的代码搞错了。。应该是修改表B 的数据的时候。。表A 的数据跟着更新。。。我把例子发上来。。你帮我改一下。。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/3 11:20:00 [只看该作者]

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

没发现有什么大问题啊.哪里不行吗?

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


加好友 发短信
等级:婴狐 帖子:22 积分:219 威望:0 精华:0 注册:2013/4/29 17:22:00
  发帖心情 Post By:2013/5/3 11:27:00 [只看该作者]

以下是引用Bin在2013-5-3 11:20:00的发言:
稍微改了一下.
 下载信息  [文件大小:288.0 KB  下载次数:0]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table

没发现有什么大问题啊.哪里不行吗?
想实现功能。
1.通过操作表B   输入姓名   电话   预约消费时间。。。表A 如果有相同的姓名  电话,。则同步更新   表A 的最后一次消费(时间)=   表B预约消费时间
2.通过操作表B   输入姓名   电话   预约消费时间。。。表A 如果姓名  电话  有一项不匹配  ,则表A 自动新增一行  
同步更新  姓名  电话。
同时 表A 最后一次消费(时间)=表B预约消费时间    表A 登记时间=表B预约消费时间


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


加好友 发短信
等级:婴狐 帖子:22 积分:219 威望:0 精华:0 注册:2013/4/29 17:22:00
  发帖心情 Post By:2013/5/3 11:37:00 [只看该作者]

登记时间   同步不过去

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/3 11:47:00 [只看该作者]

我测试了.时间同步没问题啊.

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


加好友 发短信
等级:婴狐 帖子:22 积分:219 威望:0 精华:0 注册:2013/4/29 17:22:00
  发帖心情 Post By:2013/5/3 11:48:00 [只看该作者]

以下是引用Bin在2013-5-3 11:47:00的发言:
我测试了.时间同步没问题啊.
.通过操作表B   输入姓名   电话   预约消费时间。。。表A 如果姓名  电话  有一项不匹配  ,则表A 自动新增一行  
同步更新  姓名  电话。
同时 表A 最后一次消费(时间)=表B预约消费时间    表A 登记时间=表B预约消费时间


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