• ベストアンサー

Access2003 DateSerial関数について教えて頂けないでしょうか?

いつも助けていただき感謝しています。 また、わからないことがでてしまいまして、どなたかアドバイス 頂けないでしょうか? 現在access2003にて勤務表を作成中です。 作成中に様々なアドバイス頂き大分進んだのですが今回は、、、 勤務表テーブルとフォーム1フォームがあります。 フォームにはユーザーを選択するコンボボックスと年月を検索する コマンドボックス(例えば2008年04月分の勤務を検索したい場合に押します。) があります。(他のコントロールもあるのですが今回は影響ないと思いますので省略します。) 検索コマンドボックスを押した際、ユーザーコマンドボックスにて選択されている ユーザーを使用。空白ならインプットボックスを表示させ検索したいユーザーを入力してもらい、 そのユーザーを使用します。 その後、さらにインプットボックスを表示し検索したい月を入力してもらい ユーザーの検索したい月の勤務をフォーム内のリストボックスに表示させたいのですが、、、 インプットボックスに入力された月をどのように勤務表テーブルの日付フィールドと比較 すればよいのかわかりません。 SQL文でユーザー名から勤務表テーブルのデータを検索selectできるところまでいったのですが 条件にインプットボックスの値を使用するようにためしてもうまくいきません。 DateSerial関数を使用するなどやってはみたのですが、、、どなたかアドバイスよろしく お願いします。 Private Sub コマンド90_Click() Dim user Dim userkensaku3 Dim username Dim userkensaku2 Dim kensaku Dim tukisuu Dim saisyouti Dim gennzai If IsNull(コンボ56) = True Then user = InputBox("検索したいユーザー名を入力して下さい。 " ) userkensaku3 = DCount("*", "ユーザー", "ユーザー名='" & user & "'") Else username = コンボ56 userkensaku2 = DCount("*", "ユーザー", "ユーザー名='" & username & "'") End If kensaku = userkensaku2 Or userkensaku3 If kensaku = 0 Then MsgBox ("検索したいユーザーは登録されていません。登録をするか、入力をやり直して下さい。") Else tukisuu = InputBox("検索したい年、月を入力して下さい。" & vbCrLf & vbCrLf & "例 2008/06", "検索年月入力画面") saisyouti = Format(DMin("[日付]", "勤務表"), "yyyy/mm") gennzai = Format(Date, "yyyy/mm") End If If tukisuu = "" Then MsgBox ("値が入力されていません。") ElseIf tukisuu < saisyouti Then MsgBox ("検索対象外です。入力をやりなおして下さい。") ElseIf tukisuu > gennzai Then MsgBox ("検索対象外です。入力をやりなおして下さい。") ElseIf user = "" Then リスト42.RowSourceType = "Table/Query" リスト42.RowSource = "select ユーザー名,日付,出社,出社属性,退社,退社属性,作業時間,作業内容 from 勤務表 " & _ "where ユーザー名 ='" & username & "' ;" End If End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • nmktksk
  • ベストアンサー率36% (75/208)
回答No.1

リスト42.RowSource = "select ユーザー名,日付,出社,出社属性,退社,退社属性,作業時間,作業内容 from 勤務表 " & _ "where ユーザー名 ='" & username & "' and 日付 like '" & tukisuu & "%');"

leadman
質問者

補足

アドバイスありがとうございました。 また、返信遅れまして大変申し訳ありませんでした。 アドバイス頂いた内容でできました。 非常に感謝します。また、何かありましたらよろしくお願いします。

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

Format(DMin("[日付]", "勤務表"), "yyyy/mm")までできているのなら、 リスト42.RowSource = "select ~ from 勤務表 " & _ "where ユーザー名 ='" & username & "' and " & _ "Format([日付],""yyyy/mm"")='" & tukisuu & "'" という条件式は導き出せるはず。

leadman
質問者

補足

アドバイスありがとうございました。 また、返信遅れまして大変申し訳ありませんでした。 アドバイス頂いた内容でできました。 非常に感謝します。また、何かありましたらよろしくお願いします。

関連するQ&A