• 締切済み

ASPでの日付の期間抽出についてですが。。

nYear=2002 nMonth=10 '当月の最終日を取得 nLastDay = Day(DateSerial(nYear, nMonth + 1, 1 - 1)) DateTo=Nendo & "/" & nLastDay '当月の最初の日の位置を決定 nDay = 1 - Weekday(DateSerial(nYear, nMonth, 1)) + 1 DateFrom=Nendo & "/1" 'ローテーションの登録の確認 RotationSql="SELECT * FROM T_ローテーション " _ & "WHERE 社員ID='" & ShainID & "' and 労働日時 Between '" & DateFrom & "' And '" & DateTo & "' " _ & "ORDER BY 労働日時" -------- というSQLを使用したいのですが、SQL Serverで労働日時の型を日付型にすると「日付型の変換に失敗しました」と表示されて、期間抽出ができないのですが。。。

みんなの回答

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

所でNendoの値はなにが入っているのでしょうか? Btween ' & … だと文字列だと判断されると思います。 btween #" & DateFrom & "# And #" & DateTo & "#" ではないでしょうか?

Rubellite
質問者

補足

#をつけると、 [Microsoft][ODBC SQL Server Driver][SQL Server]行 1: '#' の近くに無効な構文があります。 となりますね。 一応「'」のまま(文字列のままということですね)で日付の抽出はできました。 ただ、SQL Serverで日付型にしたフィールドの値を条件判定するときは、 rsRotation("労働日時")=CDate(RotationDate) というようにCDateで型変換をしないとだめだったようです。 どうもおさわがせしましたm(_ _)m ペコ