Office中国论坛/Access中国论坛

标题: 2个关于窗体的问题,请高人指点。 [打印本页]

作者: olderdream2007@    时间: 2015-10-25 22:10
标题: 2个关于窗体的问题,请高人指点。
2个关于窗体的问题,请高人指点。

查询窗体中,下面2个问题。请指点下,非常感谢!

1. 组合框中 如何添加“全部” (现在按照region可以用来控制显示的内容,想增加查询全部这个选项)

2.窗体最下方的文本框,想统计并显示上面查询结果中记录条数。

[attach]57356[/attach]

[attach]57356[/attach]


作者: roych    时间: 2015-10-26 12:08
个人建议不要加“全部”。因为加“全部”就必须成改值列表,需要写更多的代码。
改为不选时显示全部,选择后显示所选的会更好一些,详细可参考刘小军常用窗体查询实例。
尽管如此,我还是加“全部”做了一个案例,请自行下载附件参考。
[attach]57360[/attach]
作者: olderdream2007@    时间: 2015-10-26 20:32
roych 发表于 2015-10-26 12:08
个人建议不要加“全部”。因为加“全部”就必须成改值列表,需要写更多的代码。
改为不选时显示全部,选择 ...

谢谢版主的耐心指点,所建议的刘晓军例子自己先搜下学习下。
自己的要求的确需要增加Form_Load时间代码(也比较复杂)。
不过,你给的如下代码可以完全满足自己的期望,从学习角度来说也是不错的例子,消化中。

不懂再来请教,非常感谢!


Option Compare Database

Private Sub Combo0_AfterUpdate()
Dim qry As DAO.QueryDef
Set qry = CurrentDb.QueryDefs("查询1")
If Me.Combo0 = "全部" Then
    qry.SQL = "SELECT region FROM Data"
   

Else
    qry.SQL = "SELECT region FROM Data where region='" & Me.Combo0 & "'"

End If
Me.child.SourceObject = "查询.查询1"
Me.Text3 = Me.child.Form.Recordset.RecordCount
End Sub



Private Sub Form_Load()

Dim rst As New ADODB.Recordset
Dim strSource As String
rst.Open "SELECT DISTINCT region FROM Data ORDER BY region", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
strSource = rst.GetString(, , , ";")
rst.Close
Me.Combo0.RowSourceType = "Value List"
Me.Combo0.RowSource = strSource & "全部;"
End Sub





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