Foxtable(狐表)用户栏目专家坐堂 → [求助]返回窗体中被绑定字段的控件名


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

主题:[求助]返回窗体中被绑定字段的控件名

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


加好友 发短信
等级:四尾狐 帖子:943 积分:7802 威望:0 精华:0 注册:2013/7/7 13:37:00
[求助]返回窗体中被绑定字段的控件名  发帖心情 Post By:2014/3/4 15:29:00 [只看该作者]

 

BindingField

 

字符型,返回或设置控件的绑定字段。

 

 

有没有方法或属性能 返回 当前窗体(或指定窗体)中被绑定字段的控件名


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


加好友 发短信
等级:四尾狐 帖子:943 积分:7802 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2014/3/4 15:32:00 [只看该作者]

今天学习了可视化 授权这一章,

如果 某列被禁止编辑,那么 对应 窗体中 绑定 字段的 控件是 不可输入的。

 

我还想把 这个不可输入控件 禁用。 于是想到上述问题!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/4 15:32:00 [只看该作者]

窗体不可以绑定字段

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


加好友 发短信
等级:四尾狐 帖子:943 积分:7802 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2014/3/4 15:39:00 [只看该作者]

BIN老师看错了,我问的是  返回 当前窗体(或指定窗体)中被绑定字段的控件名

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/4 15:41:00 [只看该作者]

没明白你的意思

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/4 15:42:00 [只看该作者]

你可以遍历控件,一个个判断.http://www.foxtable.com/help/topics/1849.htm

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/3/4 15:49:00 [只看该作者]

绑定到表B第一列的控件:

Dim str As String
For Each c As WinForm.Control In e.Form.Controls
    If c.BindingField > "" AndAlso c.BindingField.Contains("表B.第一列") Then
        str + = c.Name & vbcrlf
    End If
Next
MessageBox.Show(str)


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


加好友 发短信
等级:四尾狐 帖子:943 积分:7802 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2014/3/4 18:13:00 [只看该作者]

谢谢 lsy和bin 老师,我已做成函数,放出来供大家参考

'Args(0) 窗体名 Args(1) 表名,如果是子表,只输子表名,与父表无关
For Each c As WinForm.Control In Forms(Args(0)).Controls
    For Each co As Col In Tables(Args(1)).Cols
        If co.AllowEdit = False Then
            If c.BindingField > "" AndAlso c.BindingField.Contains(Args(1) & "." & co.Name) Then
                Forms(Args(0)).Controls(c.Name).Enabled = False
            End If
        End If
    Next
Next

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/3/4 20:05:00 [只看该作者]

顶楼主。

 回到顶部