Access交流中心

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

这段代码的意思

柠檬  发表于:2009-09-26 17:44:21  
复制

Private Sub cb表查询_AfterUpdate()
Dim i As Integer
If Not IsNull(cb表查询) Then
  lst显示字段.RowSource = ""
  If fra范围 = 1 Then
    For i = 0 To CurrentDb.TableDefs(cb表查询).Fields.Count - 1
      lst显示字段.RowSource = lst显示字段.RowSource & CurrentDb.TableDefs(cb表查询).Fields(i).Name & ";"
    Next i
  Else
    For i = 0 To CurrentDb.QueryDefs(cb表查询).Fields.Count - 1
      lst显示字段.RowSource = lst显示字段.RowSource & CurrentDb.QueryDefs(cb表查询).Fields(i).Name & ";"
    Next i
  End If
  Me![chd条件].Form!字段名.RowSource = lst显示字段.RowSource
End If

End Sub

 

Top
trynew 发表于:2009-09-27 10:53:19

'cb表查询组合框更新后事件,动态读取选定的表或查询的字段名作为查询条件:

Private Sub cb表查询_AfterUpdate()

'定义循环变量

Dim i As Integer

'如果组合框内容不为空才执行下面代码
If Not IsNull(cb表查询) Then

'清空lst显示字段列表框内容
  lst显示字段.RowSource = ""

'如果fra范围 = 1,cb表查询组合框显示的是表名称
  If fra范围 = 1 Then

'循环读取组合框指定的表的字段名称作为字段选择列表框的行来源
    For i = 0 To CurrentDb.TableDefs(cb表查询).Fields.Count - 1
      lst显示字段.RowSource = lst显示字段.RowSource & CurrentDb.TableDefs(cb表查询).Fields(i).Name & ";"
    Next i

'否则cb表查询组合框显示的是查询名称
  Else

'循环读取组合框指定的查询包含的全部字段名称作为字段选择列表框的行来源
    For i = 0 To CurrentDb.QueryDefs(cb表查询).Fields.Count - 1
      lst显示字段.RowSource = lst显示字段.RowSource & CurrentDb.QueryDefs(cb表查询).Fields(i).Name & ";"
    Next i
  End If

'子窗体[chd条件]中的[字段名]组合框(或列表框)的行来源等于lst显示字段列表框的行来源
  Me![chd条件].Form!字段名.RowSource = lst显示字段.RowSource
End If

End Sub



柠檬 发表于:2009-09-27 15:25:40
谢谢trynew耐心全面的解答,不过这段代码应该是完整的了吧,为什么我贴过来窗体却没有运行呢,是前期还需要什么设置吗?提到的控件我也黏贴了CurrentDb.TableDefs(cb表查询).Fields,这是能显示数据库中的所有表文件吗

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