Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3580 / 9994 ←次へ | 前へ→

【9673】Re:SQLの構文
回答  hatena  - 07/7/9(月) 1:41 -

引用なし
パスワード
   >クエリで実行すると抽出結果が表示されるのですが、
>モジュールで宣言して実行すると、
>パラメータ入力を聞かれてしまいます。
>【ロット台帳変更_引張表示.ロット一括変更】??インプットボックス
>
>StrSQL = "SELECT ロット台帳変更用.* FROM ロット台帳変更用 " _
>    & "INNER JOIN ロット台帳変更_引張表示 " _
>    & "ON ロット台帳変更用.ロットNo = ロット台帳変更_引張表示.ロットNo " _
>    & "WHERE (((ロット台帳変更_引張表示.ロット一括変更) = True ))" _
>    & "ORDER BY ロット台帳変更用.ロットNo"
>                    
>DoCmd.OpenForm "ロット台帳変更", , StrSQL

OpenFormの第3引数 FilterName にクエリ名またはSQLを設定した場合は、
WHERE句が フォームのFilterプロパティに、ORDER BY句がOrderByプロパティに
設定されます。SELECT句、FROM句は関係有りません。

パラメータが出るのは、フォームのレコードソースのクエリに、
ロット台帳変更_引張表示 が含まれてないからではないですか。

フォームのレコードソースを「ロット台帳変更_引張表示」が
含まれるものに変更するか、
下記のように第4引数に抽出条件を設定するようにします。

StrSQL = "ロットNo In " _
    & "(SELECT T.ロットNo FROM ロット台帳変更_引張表示 AS T" _
    & " WHERE ロット一括変更 = True)" _
                    
DoCmd.OpenForm "ロット台帳変更", , , StrSQL

707 hits

【9671】SQLの構文 AT 07/7/8(日) 18:32 質問[未読]
【9673】Re:SQLの構文 hatena 07/7/9(月) 1:41 回答[未読]
【9679】Re:SQLの構文 AT 07/7/9(月) 17:17 お礼[未読]

3580 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free