Office中国论坛/Access中国论坛

标题: 求助 如何将一组相关查询纪录显示在窗体上 [打印本页]

作者: beaccesssuper    时间: 2007-3-21 19:15
标题: 求助 如何将一组相关查询纪录显示在窗体上
如何将一组相关查询纪录显示在窗体上
GroupNumber为查询条件


If IsNull(Me!GroupNumber) Then
        ' no lGroupNumber, so no rated values. This should not happen
        Exit Sub
    Else
        ThisGroupNumber = Me!GroupNumber
    End If
   
    ' Return reference to current database:
    Set dbs = CurrentDb
    strsql = " SELECT tblphotometery.GroupNumber, tblphotometery.LampNumber, tblphotometery.SupplyVoltage, tblphotometery.LampVoltage, tblphotometery.LampCurrent, tblphotometery.LampWattage, tblphotometery.LuminousFlux " _
            & " From tblphotometery" _
            & " WHERE (tblphotometery.GroupNumber=" & ThisGroupNumber & ")" _
            & " ORDER BY tblphotometery.GroupNumber, tblphotometery.LampNumber;"
   
   
    Set rst = dbs.OpenRecordset(strsql, dbOpenSnapshot)                                 ’总是报错说 Too few arameters.Expected 1.
    If rst.BOF And rst.EOF Then                                                                           'sql语句没有问题,可以查到想要得结果,为何在窗体中就显示不出来呢?
        ' no records with rated data found. Exit sub without doing anything.
        Exit Sub
    Else
        rst.MoveLast    ' if there are more than 1 records with rated data for a lamp code
                        
        Set frmChild = Forms!frmMeasuredValue_sub              ' then we use the last one.
        With frmChild
     
            ![txt_Voltage] = rst!Voltage
            ![txt_p] = rst!Wattage
            '![txt_I] = rst!I
            !txt_Lumen = rst!Luminous_flux
            
           '![txty_R] = rst!LampVoltage
            '![txt_Lmw] = rst!Lmw
           ' ![txtPhi_R] = rst!phi
         
        End With
       End If
     rst.Close
    Set dbs = Nothing
End Sub

sql语句没有问题,可以查到想要得结果,为何在窗体中就显示不出来呢?
不胜感激

作者: beaccesssuper    时间: 2007-3-21 20:06
想用dao来将查询结果显示在窗体上(具体是窗体上的子窗体),显示效果如图。
作者: beaccesssuper    时间: 2007-3-21 21:26
还是贴不了图,不会啊,郁闷

[此贴子已经被作者于2007-3-21 13:42:05编辑过]


作者: beaccesssuper    时间: 2007-3-21 23:07
自己顶阿,没人帮忙啊
自己实在没辙啦

作者: hi-wzj    时间: 2007-3-21 23:45
用:SELECT GroupNumber,LampNumber,SupplyVoltage,LampVoltage,LampCurrent, LampWattage, LuminousFlux  From tblphotometery ORDER BY GroupNumber,LampNumber;作为显示窗体的数据来源。

查询命令按钮上的代码为:

DoCmd.OpenForm "显示窗体的名字", , ,"[GroupNumber]=" & Me!GroupNumber

这样就行了。
作者: beaccesssuper    时间: 2007-3-22 17:00
标题: [求助]关于OpenForm 关于的问题
非常感谢您能回答我的问题,但是还有一个疑问,下面语句执行完要出个对话框,让我输入条件,可是条件已经在对话框上,只是不再文本框内,必须输入再输入才可以得到想要得 我不想显示这个对话框,且条件在点击按钮前在边上的文本框已经输入,如何做到
DoCmd.OpenForm "frmMeasuredValue_sub", acFormDS, , Me.Group_No

Me.Group_No是传递的条件

作者: beaccesssuper    时间: 2007-3-22 17:03

作者: bergyan    时间: 2007-3-22 17:13
1,不用DAO的方法

在查询里面设好条件..Like IIF([Forms]![你的主窗体]![查询条件的文本框或其它控件] is null,"*",'*'&([Forms]![你的主窗体]![查询条件的文本框或其它控件] &'*')

再在窗体中用某一相应事件触发 Me.子窗体名.Requery

这个坛论上有个"刘小军"的窗体查询实例,里面有关于你这种查询的实例,你查查看
作者: beaccesssuper    时间: 2007-3-22 21:19
找不到这个人发的帖子阿,搜索作者刘小军??
好像不好用啊,

作者: 一点通    时间: 2007-3-22 21:35
http://www.office-cn.net/forum.php?mod=viewthread&tid=9226




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