0

1つのコンボボックスと[OK]ボタンのあるフォームがあります。コンボボックスの値を選択して「OK」をクリックすると、選択した値に基づいてクエリが開きます。

それは問題ありませんが、フォームを閉じてからクエリを開きます。フォームタブをもう一度クリックして別の値を選択し、クエリを実行する必要があります。

フォームウィンドウが開いている間にクエリが別のウィンドウで実行される可能性はありますか?

コンボボックス用

私は次のような行ソースにコードを持っています

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

OKボタンの場合、次のようなコードがあります。

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

これについてもう1つ質問があります。実際には、テーブルの日付フィールドは「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 に答える