0

我有一个带有一个组合框和确定按钮的表单。选择组合框的值并单击“确定”时,它将根据所选值打开查询。

这很好,但它会关闭表单然后打开查询。我必须再次单击表单选项卡以选择另一个值并运行查询。

是否有可能,查询在另一个窗口中运行,而表单窗口仍然打开?

对于组合框

我在行源中有一个代码,例如

select distinct format(columndate, 'mm-dd-yyyy') from table1

对于确定按钮,我有如下代码:

Private Sub Submit_Click()
    Dim db As DAO.Database
    Dim qdf As DAO.QueryDef
    Dim strSQL As String
    Set db = CurrentDb
    Set qdf = db.QueryDefs("query")
    strSQL = "SELECT columndate," & _
      "sum(qty1)," & _
      "sum(qty2)," & _
      "sum(qty3)," & _
      "sum(qy4)" & _
      "FROM table1 " & _
      "WHERE table1.column_date = '" & Me.datefield.value & "' " & _
      "group by table1.[columndate];"

    qdf.sql = strSQL
    DoCmd.Restore
    DoCmd.OpenQuery ("query")
    DoCmd.Close acForm, "Me.Form3"

    Set qdf = Nothing
    Set db = Nothing

    Debug.Print strSQL
End Sub

我对此还有一个问题。日期字段实际上在表中的格式为“dd-mm-yyyy”,但在查询中,只要我在第一个查询中将行源中的格式更改为“mm-dd-yyyy”,它就会显示空白结果。

4

1 回答 1

0

您的 OK 按钮单击处理程序必须如下所示

Private Sub btnOk_Click()
    DoCmd.OpenQuery(Me!cboQuery, acViewNormal, acReadOnly)
End Sub

还要确保Cancel按钮的属性设置为No.

于 2012-07-17T18:13:28.247 回答