Foxtable(狐表)用户栏目专家坐堂 → [求助]关联表中如何禁止换行或换表?


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

主题:[求助]关联表中如何禁止换行或换表?

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]关联表中如何禁止换行或换表?  发帖心情 Post By:2012/10/27 18:25:00 [只看该作者]

环境:
表A和表B双向关联。

 

要求:

1.当主表为"表A"时,关联表"表A.表B"新增的行,当第二列、第三列、第四列任一为空(Null)时,不能换行。(保证数据能完全输入,不留空项)

2.当主表为"表B"时,"表B"新增的行,当第二列、第三列、第四列任一为空(Null)时,不能换行。(保证数据能完全输入,不留空项)

 

我现在在"表B"的BeforeSelChange事件中设置代码:

 

If e.OldRange.RowSel <> e.NewRange.RowSel '如果选择的是不同的行
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
        If e.Table.Current.IsNull("第二列") = True Then
            e.Cancel = True
            MessageBox.Show("第二列")
        ElseIf e.Table.Current.IsNull("第三列") = True Then
            e.Cancel = True
            MessageBox.Show("第三列")
        ElseIf e.Table.Current.IsNull("第四列") = True Then
            e.Cancel = True
            MessageBox.Show("第四列")
        End If
    End If
End If

 

结果是:当主表为"表A"时,"表A.表B"新增一行时,会弹出提示。请教一下,如何解决这个问题?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:禁止换行和换表.table


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/10/27 21:25:00 [只看该作者]


If e.OldRange.RowSel <> e.NewRange.RowSel
    If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then
        Dim r As Row = e.Table.Rows(e.OldRange.Rowsel)
        If r.IsNull("第二列") OrElse r.IsNull("第三列") OrElse r.IsNull("第四列")
            MessageBox.Show(e.Table.Cols(e.OldRange.ColSel).name & "不能为空")
            e.Cancel = True
        End If
    End If
End If

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
谢谢指点。  发帖心情 Post By:2012/10/28 8:21:00 [只看该作者]

谢谢指点。

 回到顶部