Foxtable(狐表)用户栏目专家坐堂 → [求助]删除关联表记录的问题


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

主题:[求助]删除关联表记录的问题

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
[求助]删除关联表记录的问题  发帖心情 Post By: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

关联表记录有两条以上记录时,删除正常。但如果关联表只有一条记录时,删除后显示错误如图所示。请老师指点下。


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



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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2014/5/14 19:47:00 [显示全部帖子]

可以了,谢谢!

 回到顶部