1

私は、基本的にこの機能を備えた Access のダイアログ ボックスで作業していました。ユーザーにコンボ ボックスからテーブルを選択してもらい、クエリを変更して必要な情報の選択ビューを作成するようにしました。ダイアログボックスのコードは次のとおりです

Private Sub cmdOK_Click()

Dim db As DAO.Database
   Dim qdf As DAO.QueryDef
   Dim strSQL As String
   Set db = CurrentDb
   Set qdf = db.QueryDefs("qryPendingQS")

strSQL = "SELECT [Event Start Date] AS [Event Date], [PO Sent _Date] AS [PO Sent Date], [Brand Name] AS Vendor, PO, [Units _Sold] AS [Units Sold], [Routing Date/Time EST] AS Shipped, [Date and _Time of Arrival] AS ETA, [Department Name] AS Category " & _
         "FROM Me.cbotable.Value " & _
         "WHERE table3 ='" & Me.cbotable.Value & "';"

    qdf.SQL = strSQL

    DoCmd.OpenQuery "qryPendingQS"
    DoCmd.Close acForm, Me.Name
    Set qdf = Nothing
    Set db = Nothing   
    End Sub 

ほとんどの場合は問題ありませんが、ステートメントのこの部分で問題が発生します。

strSQL = "SELECT [Event Start Date] AS [Event Date], [PO Sent _Date] AS [PO Sent Date], [Brand Name] AS Vendor, PO, [Units _Sold] AS [Units Sold], [Routing Date/Time EST] AS Shipped, [Date and _Time of Arrival] AS ETA, [Department Name] AS Category " & _
         "FROM table3" & _
         "WHERE table3 ='" & Me.cbotable.Value & "';"

これは以前の試みによるものですが、WHERE 句に基づいてテーブルを変更できないことは承知しています。私の質問は、コンボボックスで選択されているものに基づいて FROM ステートメントを動的に変更するにはどうすればよいかということです

これは、クエリを実行しようとしたときの SQL コードの外観です。

SELECT [Event Start Date] AS [Event Date], [PO Sent _Date] AS [PO Sent Date], [Brand Name] AS Vendor, PO, [Units _Sold] AS [Units Sold], [Routing Date/Time EST] AS Shipped, [Date and _Time of Arrival] AS ETA, [Department Name] AS Category 
FROM table3  
WHERE table3 ='QS Log';
4

1 に答える 1