以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 两个表做日期对比,在子表特定列自动填写值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41405) |
-- 作者:975751585 -- 发布时间:2013/10/18 16:33:00 -- 两个表做日期对比,在子表特定列自动填写值 表A(父表) 内容为用户基础信息;其中一列为“办理时间” 表B(子表)内容为用户交费信息;其中一列为“交费日期” 这两个表的“时间”格式都为“年月日” 对表B输入信息时,将输入的“交费日期”,与表A中的“办理时间”对比! 若都是同一年,则在表B“用户类型”列中自动填入“新用户” 否则填入“往年用户” 这个该怎么写......
|
-- 作者:Bin -- 发布时间:2013/10/18 16:38:00 -- for each dr as datarow in datatables("表B").datarows dim drr as datarow = datatables("表A").find("用户ID=\'" & dr("用户ID") & "\'") if drr isnot nothing then if dr("交费日期").Year=drr("交费日期").year then dr("用户类型")="新用户" else dr("用户类型")="往年用户" end if end if
next |
-- 作者:975751585 -- 发布时间:2013/10/18 16:42:00 -- 谢谢,晚上回家试试去 |
-- 作者:狐狸爸爸 -- 发布时间:2013/10/19 14:46:00 -- 既然有关联,在表B设置DataColChanged事件代码:
Select Case e.dataCol.Name Case "交费日期" Dim pr As DataRow = e.DataRow.GetParentRow("表A") if pr IsNot Nothoing then dim rq1 As date = pr("办理日期") Dim rq2 As Date = e.Datarow(“交费日期”) if rq1.Year = rq2.Year Then e.datarow("用户类型") = “新用户” Else e.datarow("用户类型") = “往年用户” End if End Select
楼主可以看看这些例子: http://www.foxtable.com/help/topics/2649.htm
|