Foxtable(狐表)用户栏目专家坐堂 → 关于判断副本表的疑问


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

主题:关于判断副本表的疑问

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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
关于判断副本表的疑问  发帖心情 Post By:2013/3/18 20:49:00 [只看该作者]

 

Dim s As String
Dim
t As Table = Tables("窗口1_Table1")
Select
Case t.TableType
Case
TableTypeEnum.Normal
If
t.IsCopy
Then
s =
"副本"
Else
s =
"标准"
End If
Case TableTypeEnum.SQLTable
s =
"SQLTable"
Case TableTypeEnum.SQLQuery
s =
"SQLQuery"
End
Select
MessageBox.Show(s)

 

上面这段代码首先要知道 表的名字 Tables("窗口1_Table1") 但是如果已经知道表的名字是这样了,也就知道是不是副本了。

 

现在的问题是 窗口中有几个表 有副本 有非副本

遍历所有表控件

能不能直接从控件 判断其是不是副本?


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


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

先判断控件类型再判断吧。

不过,如果是非副本好像会出错的。


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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2013/3/18 22:24:00 [只看该作者]

C版 即使知道了控件类型是Table 但是怎么知道这个Table的类型呢?怎么知道这个Table绑定的是不是副本呢?

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


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

如果是非副本会出错,这个我搞不定它。

 

For Each c As WinForm.Control In e.Form.Controls
    try
        If c.Gettype.name = "Table"
            Dim s As String
            Dim t As Table = Tables(e.Form.Name & "_" & c.name)
            Select Case t.TableType
                Case TableTypeEnum.Normal
                    If t.IsCopy Then
                        s = "副本"
                    Else
                        s = "标准"
                    End If
                    MessageBox.Show(s)
            End Select
        End If
    Catch ex As Exception
    End try
Next


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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2013/3/19 12:49:00 [只看该作者]

嗯 因为您是假设表都是副本的。

顶顶


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/19 12:52:00 [只看该作者]

这么修改一下C版的代码

 

For Each c As WinForm.Control In e.Form.Controls
    If c.Gettype.name = "Table"
        Dim s As String
        Dim t As Table = ctype(c,Winform.Table).Table
        Select Case t.TableType
            Case TableTypeEnum.Normal
                If t.IsCopy Then
                    s = "副本"
                Else
                    s = "标准"
                End If
                MessageBox.Show(s)
        End Select
    End If
Next


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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2013/3/19 13:16:00 [只看该作者]

谢谢c版 和狐爸

 回到顶部