Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

怎么用程序自定义窗体显示字段

马喜立  发表于:2011-08-12 14:52:20  
复制

我做了一个窗体,里面含有子窗体,每个同事自己关注的字段不一样,

我想做一个字段设置窗体,让他们可以自定义窗体中显示的自动名称.

 

在我附件中的"设置导出字段" 这个窗体里面实现.

这个功能怎么实现呢?

 

点击下载此附件

 

Top
叶海峰 发表于:2011-08-12 16:53:45

建议将子窗体改成列表框,操作起来会比较方便

Dim str    As String
    Dim ctl    As Control
    For I = 0 To Me.List选中字段名.ListCount - 1
        str = str & Me.List选中字段名.Column(0, I) & ","
    Next
    str = Left(str, Len(str) - 1)

listbox.rowsource="select " & str & " from 晨星基金列表"

如果非要用子窗体,在设计模式打开子窗体,循环里面的控件,没有选中的就进行隐藏,前提是你的控件命名要规范,有规律 

   DoCmd.OpenForm "窗体-晨星基金列表", acDesign
    For Each ctl In Forms("窗体-晨星基金列表").Controls
        Debug.Print ctl.Name
        If InStr(1, str, ctl.Name & ",") < 1 Then ctl.Visible = False
    Next
    Forms("窗体-晨星基金列表").Form.RecordSource = "select " & str & " from 晨星基金列表"
    DoCmd.Close acForm, "窗体-晨星基金列表", acSaveYes

 



都市侠影 发表于:2011-08-13 10:13:05

一楼办法想法不错,但我认为可能会导致窗体上显示的各控件位置杂乱,楼主可靠虑:就像附件里的那样,设一个查询按钮和一个子窗体,在单击事件中将子窗体的源对象设为要查询的表,而记录源设为列表框二里所选择的那些字段。



总记录:2篇  页次:1/1 9 1 :