Excel VBA質問箱 IV

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

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


5038 / 13644 ツリー ←次へ | 前へ→

【52854】データベースクエリの日付指定について Wz 07/12/6(木) 11:46 質問[未読]
【52859】Re:データベースクエリの日付指定について n 07/12/6(木) 16:12 発言[未読]
【52962】Re:データベースクエリの日付指定について Wz 07/12/10(月) 15:56 お礼[未読]

【52854】データベースクエリの日付指定について
質問  Wz  - 07/12/6(木) 11:46 -

引用なし
パスワード
   お世話になります。
外部データベースからのとりこみを自動化したいと思い
マクロの記録から組み立てました。

以下のソースが出来たのですが、絞込みの日付部分の「'2007-11-01 00:00:00'」
を変数で指定したいと思っています。

しかし''で囲まれているせいか「' & 変数1 & 00:00:00'」のようにすると
下から二番目の行「.Refresh BackgroundQuery:=False」の部分で一般ODBCエラーが出てしまいます。
日付に変数を組み込むにはどのように記述したらいいでしょうか。

よろしくお願いします。

-------------------------------------------------------------------

  With ActiveSheet.QueryTables.Add(Connection:= _
    "ODBC;DSN=TECHS32;UID=ユーザー名;APP=Microsoft Office 2003;WSID=OGIWARA;DATABASE=TECHS32;Trusted_Connection=Yes" _
    , Destination:=Range("A1"))
    .CommandText = Array( _
    "SELECT DB1.製番, DB1.納入日" & Chr(13) & "" & Chr(10) & "FROM TECHS32.dbo.DB1 DB1" & Chr(13) & "" & Chr(10) & "WHERE (DB1.納入日<={ts '2007-11-01 00:00:00'})" & Chr(13) & "" & Chr(10) & "ORDER BY DB1.製番")
    .Name = "DB0 からのクエリ"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .PreserveColumnInfo = True
    .Refresh BackgroundQuery:=False
  End With

【52859】Re:データベースクエリの日付指定について
発言  n  - 07/12/6(木) 16:12 -

引用なし
パスワード
   こんにちは。
変数1 が yyyy-mm-dd の文字列なら、単純に、文字結合すれば良いです。
.CommandText = "SELECT DB1.製番, DB1.納入日 FROM TECHS32.dbo.DB1 DB1" & _
        " WHERE (DB1.納入日<={ts '" & 変数1 & " 00:00:00'})" & _
        " ORDER BY DB1.製番"

【52962】Re:データベースクエリの日付指定について
お礼  Wz  - 07/12/10(月) 15:56 -

引用なし
パスワード
   ▼n さん:
>こんにちは。
>変数1 が yyyy-mm-dd の文字列なら、単純に、文字結合すれば良いです。
>.CommandText = "SELECT DB1.製番, DB1.納入日 FROM TECHS32.dbo.DB1 DB1" & _
>        " WHERE (DB1.納入日<={ts '" & 変数1 & " 00:00:00'})" & _
>        " ORDER BY DB1.製番"

返信ありがとうございます。
うまくいきそうです!
ありがとうございました〜!

5038 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free