以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]删除关联表记录的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50871) |
-- 作者:花开的声音 -- 发布时间:2014/5/14 19:11:00 -- [求助]删除关联表记录的问题 两个表表A和表B,建立关联表A.表B。 在窗口1中删除关联表记录的代码如下:
Dim t As Table = Tables("表A.表B") If t.GetCheckedRows.Count = 0 MessageBox.Show("请在复选框中选择要删除的行") Else If MessageBox.Show("是否要删除选择的记录行?","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then For Each r As Row In t.GetCheckedRows r.Delete Next End If End If 父表A的currentchanged 事件代码为: If Forms("窗口1").Opened Then Dim t As Table = Tables("表A") If t.Current IsNot Nothing Then For Each cl As Col In t.Cols If Forms("窗口1").Controls.Contains(cl.name) Then Forms("窗口1").Controls(cl.name).value= t.Current(cl.name) End If Next End If 子表B和关联表表A.表B的currentchanged 事件代码为: If Forms("窗口1").Opened Then Dim t As Table = Tables("表A.表B") If t.Current IsNot Nothing Then For Each cl As Col In t.Cols If Forms("窗口1").Controls.Contains(cl.name) Then Forms("窗口1").Controls(cl.name).value= t.Current(cl.name) End If Next End If End If 关联表记录有两条以上记录时,删除正常。但如果关联表只有一条记录时,删除后显示错误如图所示。请老师指点下。 |
-- 作者:有点甜 -- 发布时间:2014/5/14 19:22:00 -- 试试
SystemReady = False Dim t As Table = Tables("表A.表B") SystemReady = True |
-- 作者:花开的声音 -- 发布时间:2014/5/14 19:47:00 -- 可以了,谢谢! |