以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]跨表引用和自动填入功能,求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32491) |
||||
-- 作者:hsinly -- 发布时间:2013/5/3 10:42:00 -- [求助]跨表引用和自动填入功能,求助 现有表A 和表B 两个表 表A 有 “姓名 电话 登记时间 最后一次消费(时间)” 表B 有“姓名 电话 预约消费时间” 想实现功能。 1.通过操作表B 输入姓名 电话 预约消费时间。。。表A 如果有相同的姓名 电话,。则同步更新 最后一次消费(时间)=预约消费时间 2.通过操作表B 输入姓名 电话 预约消费时间。。。表A 如果姓名 电话 有一项不匹配 ,则表A 自动新增一行 同步更新 姓名 电话。 同时 最后一次消费(时间)=预约消费时间 登记时间=预约消费时间 求大神帮忙理个思路,求代码写法
|
||||
-- 作者:hsinly -- 发布时间: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 -- 发布时间:2013/5/3 11:05:00 -- 发例子帮你完善 |
||||
-- 作者:狐狸爸爸 -- 发布时间: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 -- 发布时间:2013/5/3 11:12:00 -- 狐爸。。我的代码搞错了。。应该是修改表B 的数据的时候。。表A 的数据跟着更新。。。我把例子发上来。。你帮我改一下。。
|
||||
-- 作者:Bin -- 发布时间:2013/5/3 11:20:00 -- 稍微改了一下.
没发现有什么大问题啊.哪里不行吗? |
||||
-- 作者:hsinly -- 发布时间:2013/5/3 11:27:00 -- 以下是引用Bin在2013-5-3 11:20:00的发言: 稍微改了一下.
没发现有什么大问题啊.哪里不行吗? 想实现功能。 1.通过操作表B 输入姓名 电话 预约消费时间。。。表A 如果有相同的姓名 电话,。则同步更新 表A 的最后一次消费(时间)= 表B预约消费时间 2.通过操作表B 输入姓名 电话 预约消费时间。。。表A 如果姓名 电话 有一项不匹配 ,则表A 自动新增一行 同步更新 姓名 电话。 同时 表A 最后一次消费(时间)=表B预约消费时间 表A 登记时间=表B预约消费时间 |
||||
-- 作者:hsinly -- 发布时间:2013/5/3 11:37:00 -- 登记时间 同步不过去 |
||||
-- 作者:Bin -- 发布时间:2013/5/3 11:47:00 -- 我测试了.时间同步没问题啊. |
||||
-- 作者:hsinly -- 发布时间:2013/5/3 11:48:00 -- 以下是引用Bin在2013-5-3 11:47:00的发言: 我测试了.时间同步没问题啊. .通过操作表B 输入姓名 电话 预约消费时间。。。表A 如果姓名 电话 有一项不匹配 ,则表A 自动新增一行 同步更新 姓名 电话。 同时 表A 最后一次消费(时间)=表B预约消费时间 表A 登记时间=表B预约消费时间 |