Office中国论坛/Access中国论坛

标题: SQL查询问题 [打印本页]

作者: ty_1029    时间: 2009-1-30 22:18
标题: SQL查询问题
我的问题是这样的,还往大家出招解决~~
我想在主窗体中空白处加入一个新的子窗体(不是把已经建立好的拖过来的那中,是通过工具箱上的图表按纽整上的),或放上一个列表框,而后呢,通过查询按纽,利用SQL把一些分类汇总的数据显示出来,通过我设置不同的条件,显示的数据格式也不一样,简单的说呢,就是条件1下显示4列多行数据,条件2下显示6列多行数据,列名也不一样,

大家看看有撒办法解决没~~有现成的事列为好了~~~
作者: ACMAIN_CHM    时间: 2009-1-30 23:00
由于VBA在FORM运行时无法动态添加控件,或许你可以先在FORM上加上足够多的textbox,比如从text1,text2,...textN,N大于你的列数就行了,或许加到text256,ACCESS查询中最大列数也就这么多。
这个subFORM不绑定任何数据源。只有这么N个textbox, 然后在你的事件中对subFORM的RecordSource进行改动,再根据recordset的fields对这些textbox进行ControlSource的绑定及visible是否显示。

这种需求很少见。





*****************
*  一切皆有可能 *
*****************


QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.office-cn.net .

http://www.office-cn.net/home/space.php?uid=141646 .
作者: ACMAIN_CHM    时间: 2009-1-30 23:56
本帖最后由 ACMAIN_CHM 于 2009-1-31 00:09 编辑
对不起,您最近 24 小时上传的附件已超过 9.6M 的限制,无法继续上传,请或稍后再试。 积分说明 新窗口 最大化 关闭
ACMAIN_CHM 发表于 2009-1-30 23:00


没办法上传例子了。

Option Compare Database
Option Explicit

Private Sub Combo5_Change()
    If IsNull(Me.Combo5.Value) Then
        Exit Sub
    End If

    Me.subForm.Form.RecordSource = "select * from " & Me.Combo5.Value
   
    Dim i As Integer
   
    For i = 1 To Me.subForm.Form.Recordset.Fields.Count
        Me.subForm.Form.Controls("Text" & i).ControlSource = Me.subForm.Form.Recordset.Fields(i - 1).Name
        Me.subForm.Form.Controls("Label" & i).Caption = Me.subForm.Form.Recordset.Fields(i - 1).Name
        Me.subForm.Form.Controls("Text" & i).ColumnHidden = False
    Next i
   
   
    Do While i < 10
        Me.subForm.Form.Controls("Text" & i).ColumnHidden = True
        i = i + 1
    Loop
   
End Sub



例子已上传到
http://www.access911.net/csdn/FileDescription.asp?mdb=2009-1-31&id=38&mode=3




作者: todaynew    时间: 2009-1-31 08:10
我的问题是这样的,还往大家出招解决~~
我想在主窗体中空白处加入一个新的子窗体(不是把已经建立好的拖过来的那中,是通过工具箱上的图表按纽整上的),或放上一个列表框,而后呢,通过查询按纽,利用SQL把一些分类汇总 ...
ty_1029 发表于 2009-1-30 22:18


在作为条件的每个控件的更新后事件中写诸如以下的语句就可以了:

Private Sub 控件名称_AfterUpdate()
me.子窗体.form.RecordSource "select 字段列表 from 表或查询名称 where 条件;"
End Sub


作者: ty_1029    时间: 2009-1-31 10:00
非常感谢ACMAIN_CHM 和todaynew~~~

正在认真拜读和研究呢~~呵呵




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3