Microsoft Access 掲示板

カレンダー形式のスケジュール[氏名選択での表示] / 1

11 コメント
views
4 フォロー
1

次にアドバイスいただいてOpenRecordsetのSQL文に抽出条件を加えたのですが、ここで躓いています。

氏名ID フィールドが数値型とするなら、下記のようなコードになります。

Dim strWhere As String

strWhere = "日付 > #" & FirstDay & "# AND 日付 <=#" & FirstDay + 42 & "# And 氏名ID = " & Me.txt氏名ID

Set rs = CurrentDb.OpenRecordset( _
    "SELECT 日付,予定または実績2,氏名,お客様名,時間 FROM Q_ScheSubForm_ko WHERE " & strWhere, _
    dbOpenForwardOnly, dbReadOnly)

VBAコード内に、SQL文を記述するときは、SQL文は単なる文字列になるということを留意してください。
その文字列がSQLとして正しいものになるように記述します。

コード内での、文字列と変数の扱いについては、下記に詳しく解説してますので、熟読して理解を深めてください。

Access上のコード内で引用符(")と単引用符(')の使い分けについて - hatena chips

通報 ...
  • 2
    ゆきぴ 2019/05/22 (水) 17:23:04 598e9@20787 >> 1

    ありがとうございます。
    会社からはhatenaさんのhatena chipsがブロックされてしまってスマホからメモ帳に打ち直していました。(^^;)

    教えてもらったように実行したところ、

    実行時エラー'3075'
    クエリ式'日付>#2019/04/27# AND 日付 <=#2019/06/08# And 氏名ID='の構文エラー:演算子がありません。

    と出ました。
    色々調べてはみて空白を入れてみたり消してみたり、引用符を消してみたり変えてみたり、氏名IDのテキストボックスの書式を数値にしてみたりしましたが解決しませんでした。
    フォーム上の設定ミスでしょうか?