Access VBA質問箱 IV

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

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


1583 / 2272 ツリー ←次へ | 前へ→

【6402】文字列の日付並べ替えができません さらだ 05/10/4(火) 14:21 質問[未読]
【6405】Re:文字列の日付並べ替えができません hatena 05/10/4(火) 14:46 回答[未読]
【6413】Re:文字列の日付並べ替えができません さらだ 05/10/5(水) 10:04 お礼[未読]

【6402】文字列の日付並べ替えができません
質問  さらだ  - 05/10/4(火) 14:21 -

引用なし
パスワード
   文字列の日付を範囲指定することは出来たのですが
今度は並べ替えが上手く行かず、レポートに思うように表示されません。
フィールドの中身はこうです
Date
01-09-05
02-09-05
03-09-05
 ・
 ・
 ・
30-09-05
01-10-05
02-10-05

とこういうふうにdd-mm-yyでフィールドに格納されています。
結果としてほしいのは
01-09-05から01-10-05を範囲指定した場合に
レポートに表示される順番は
01-09-05
02-09-05
 ・
 ・
 ・
01-10-05
という順番で表示してほしいのですが、
現在
01-09-05の次には01-10-05が表示されてしまいます
コードはこう書いています。
Private Sub Report_Open(Cancel As Integer)
  Dim strStart As String
  Dim strEnd As String
  Dim strsql As String


  strStart = Forms!PrintOut!txtStart
  strStart = Right(strStart, 2) & Mid(strStart, 4, 2) & Left(strStart, 2)
  
  strEnd = Forms!PrintOut!txtEnd
  strEnd = Right(strEnd, 2) & Mid(strEnd, 4, 2) & Left(strEnd, 2)


  If (strStart <> "") And (strEnd <> "") Then
    strsql = "SELECT Date, "
    strsql = strsql & "TapeSet, "
    strsql = strsql & "StatusT,ServerDowntimeT, "
    strsql = strsql & "RemarksT,RemarksColumnT, "
    strsql = strsql & "StatusN,ServerDowntimeN, "
    strsql = strsql & "RemarksN,RemarksColumnN, "
    strsql = strsql & "StatusJ,ServerDowntimeJ, "
    strsql = strsql & "RemarksJ,RemarksColumnJ, "
    strsql = strsql & "Memo FROM BackupLog "
    strsql = strsql & "WHERE (((Right([Date],2) & Mid([Date],4,2) & Left([Date],2)) "
    strsql = strsql & "Between '" & strStart & "' And '" & strEnd & "')) "
    strsql = strsql & "ORDER BY Right([Date],2) & Mid([Date],4,2) & Left([Date],2);"

    Me.RecordSource = strsql
  End If
  
  If (strStart = "") And (strEnd = "") Then
    Me.RecordSource = "BackUpLog"
  End If
End Sub


Order by句を使っているのですが、並べ替えが出来ません。
どなたかご教授いただければ大変嬉しく思います。
どうぞよろしくお願いいたします。

【6405】Re:文字列の日付並べ替えができません
回答  hatena  - 05/10/4(火) 14:46 -

引用なし
パスワード
   レポートの方でグループ化の設定をしてませんか。
その場合は、レコードソースの並び順は無視されます。

並び替え/グループ化の設定 で、

=Right([Date],2) & Mid([Date],4,2) & Left([Date],2)

と言う式を設定するか、
レコードソースにこの演算フィールドを追加しておいて、
それを設定するか、してください。

【6413】Re:文字列の日付並べ替えができません
お礼  さらだ  - 05/10/5(水) 10:04 -

引用なし
パスワード
   ▼hatena さん:
>レポートの方でグループ化の設定をしてませんか。
>その場合は、レコードソースの並び順は無視されます。
>
>並び替え/グループ化の設定 で、
>
>=Right([Date],2) & Mid([Date],4,2) & Left([Date],2)
>
>と言う式を設定するか、
>レコードソースにこの演算フィールドを追加しておいて、
>それを設定するか、してください。

hatenaさん
このたびもありがとうございました。
並び替え/グループ化の設定で
>=Right([Date],2) & Mid([Date],4,2) & Left([Date],2)を設定することによって
解決いたしました。

ありがとうございました。
本当に助かりました。

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