• ベストアンサー

アクセス2000で複数条件での検索

ARCの回答

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

stLinkCriteria = "[受験日]=" & "#" & Me![受験日] & "#" を、 stLinkCriteria = "[受験日]=" & "#" & FORMAT$(Me![受験日],"yyyy/mm/dd") & "# AND [合否結果] = " & Me.[合否結果] のようにするとOKだと思います。 ちなみに、[受験日]をFORMAT関数で補強してあるのは、 Accessが01/03/05のようなデータを英語読みにして、2005/01/03だと思ってしまうのを防ぐためです。 実際にやって確かめたわけではないです。不明点とかあったら補足してくださいナ。

ariga
質問者

お礼

いや~。本当にありがとうございました。構文の中の & やら # などの意味は よくわからないのですが、ご指導いただいたとおりにやってみたら、うまくいき ました。 ありがとうございました。

関連するQ&A

  • Access2000での複合条件検索

    前にも一回質問したんですが、どうしてもうまくいかないので、もう一回質問させていただきます。(すいません) Access2000での複合条件検索のコードビルダがうまくないようで、正しく動きません。 試験結果の集計なのですが、抽出するためのキーは「面接日」と「判定結果」です。 クエリには「面接日」と「総合判定コード」があります。 フォームには「試験日」と「判定結果」というテキストボックスがあります。 テキストボックスの「試験日」には日付、「判定結果」には1(=合格)か3(=不合格)を入れて抽出ボタンをクリックするのですが、構文エラーになります。 どこを、どう直したらいいのでしょうか? Private Sub 抽出ボタン_Click() On Error GoTo Err_抽出ボタン_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "印刷対象者フォーム" stLinkCriteria = "[面接日]=" & "#" & Format$(Me![試験日], "yyyy/mm/dd") & "#And[総合判定コード]=" & Me![判定結果] DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_抽出ボタン_Click: Exit Sub Err_抽出ボタン_Click: MsgBox Err.Description Resume Exit_抽出ボタン_Click End Sub

  • アクセス2000でのボタンのコードビルダ

    アクセス2000で、採用者のデータを管理しようと思っています。 フォームにボタンを作って、ボタンをクリックしたら条件を満たした者だけを表示する形にしたいのですが、「役職」(コード番号)と「所属」(コード番号)と「採用日」の3つを条件として、データの抽出を行いたいのですが、ボタンのコードビルダはどのようにしたら良いのでしょうか? ちなみに、ボタンの名前は「抽出採用日」でコードは下記のようになっています。 「役職」=13002「所属」=9999「採用日」=2001/04/01で検索したら、「クエリ式'[採用日[=#2001/04/01#AND[所属]='9999'#AND[役職]='13002'の日付の構文エラーです。」となります。 実際は、"&" や "#" の意味も良く分からないので、構文がどこで区切れるのかも分からない状態です。 どなたか、お教え下さい。 Private Sub 抽出採用日_Click() On Error GoTo Err_抽出採用日_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "印刷対象者フォーム" stLinkCriteria = "[採用日]=" & "#" & Format$(Me![採用予定日], "yyyy/mm/dd") & "#AND[所属]=" & "'" & Me![所属] & "'" & "#AND[役職]=" & "'" & Me![役職] & "'" 'stLinkCriteria = "[採用日]=" & "#" & Format$(Me![採用予定日], "yyyy/mm/dd") & "#AND[所属]=" & "'" & Me![所属] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_抽出採用日_Click: Exit Sub Err_抽出採用日_Click: MsgBox Err.Description Resume Exit_抽出採用日_Click End Sub

  • Access フォームで検索した結果をフォームで表示するときにあいまい検索をしたい

    Access2003を使用して、検索フォームをつくり、検索結果を別フォームへ表示させるプログラムを組みました。 その際に、かな検索をするとかなが完全一致でないと検索されません。 あいまい検索にてかな検索をする方法はありませんでしょうか? ソースは以下の通りです。 Private Sub cmdSearch_Click() On Error GoTo Err_cmdSearch_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(70) & ChrW(95) stLinkCriteria = "[カナ氏名]=" & "'" & Me![カナ氏名] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_cmdSearch_Click: Exit Sub Err_cmdSearch_Click: MsgBox Err.Description Resume Exit_cmdSearch_Click End Sub

  • アクセスのイベント記述について。

    アクセスのあるフォームA上にある詳細ボタンをクリックすると別のフォームCが開くようにしてあるのですが、クリックすると同時にAフォームを閉じるにはどのように記述したらよいでしょうか? 詳細ボタンの記述は下記のとおりです。よろしくお願いいたします。 Private Sub 詳細_Click() On Error GoTo Err_詳細_Click Dim stDocName As String Dim stLinkCriteria As String DoCmd.Close stDocName = ChrW(12513) & ChrW(12531) & ChrW(12486) & ChrW(12490) & ChrW(12531) & ChrW(12473) stLinkCriteria = "[管理番号]=" & Me![管理番号] DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_詳細_Click: Exit Sub Err_詳細_Click: MsgBox Err.Description Resume Exit_詳細_Click End Sub

  • XPのアップロードとアクセスの相性?

    アクセス2000ですが、どうもつい最近のXPの アップロードとの相性が悪いようです。 ある特定のフォームを開こうとすると、 「コンパイルエラー」という表示が出てきます。 下記のビジュアルベーシックの部分がおかしいようですが、わかる方アドバイスをお願いします。 特にstDocName = ChrW(12487) あたりが怪しそうです。 ------------------------------------------------------- Private Sub 実行ボタン_Click() On Error GoTo Err_実行ボタン_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(12487) & ChrW(12540) & ChrW(12479) & ChrW(20837) & ChrW(21147) DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_実行ボタン_Click: Exit Sub Err_実行ボタン_Click: MsgBox Err.Description Resume Exit_実行ボタン_Click End Sub ----------------------------------------------------------- ちなみに、システムの復元で数日戻すとこの現象は起こらなくなりますが、数日ごとに元の戻す、というのも根本的ではないので・・・

  • accessで、フォームの検索をしたいのです。

    今ACCESSで、データ管理をしているのですが、どうしてもうまくいかなくて、困っています。 毎日の出来事を記述するテーブル用のフォームを作って、記述していて、そのデータがたまってきています。 他のフォームに、検索用のテキストボックスとコマンドボックスを作って検索したいのです。 コントロールウィザードを使うと、完全一致のデータしかでてこないのですが、部分一致のレコードを表示させるにはどうすればいいのですか? 教えていただけるとうれしいです。 コントロールウィザードを使うと以下のようになります。多分少しどこかを変えるといいのではないかと思うのです。どうか、よろしくお願いします。 Private Sub コマンド144_Click() On Error GoTo Err_コマンド144_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(21839) & ChrW(12356) & ChrW(21512) & ChrW(12431) & ChrW(12379) & ChrW(12513) & ChrW(12514) stLinkCriteria = "[内容]=" & "'" & Me![テキスト105] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド144_Click: Exit Sub Err_コマンド144_Click: MsgBox Err.Description Resume Exit_コマンド144_Click End Sub もしかして。。と思い、以下の部分、 stLinkCriteria = "[内容]=" & "'" & Me![テキスト105] & "'" を次のように変えてみたけれど、やっぱりうまくいきませんでした。 stLinkCriteria = "[内容]=" & "'" & "*" & Me![テキスト105] & "*" & "'" よろしくお願いします。

  • Access VBAでのフィルタ処理

    アクセス2003を使用しています。 今VBAを使用して、フォームのテキストボックスに記入された文字列を検索条件に、 クエリからデータ抽出したいのですが、 うまくいきません。 解決したい事は、 「abc*」といったように、前方が一致している文字列データを すべて抽出するといった処理です。 今は下記のようなプログラムを組んでいます。 Private Sub コマンド1_Click() On Error GoTo Err_コマンド1_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "クエリ1" DoCmd.OpenQuery stDocName, acNormal, acEdit If IsNull(テキストボックス) Then Else stLinkCriteria = "[クエリデータ]=" & "'" & Me![テキストボックス] & "'" End If DoCmd.ApplyFilter stDocName, stLinkCriteria Exit_コマンド1_Click: Exit Sub Err_コマンド1_Click: MsgBox Err.Description Resume Exit_コマンド1_Click End Sub これだと完全に一致しなければ抽出してくれません。 どの様に変更すればよいでしょうか? よろしくお願いします。

  • アクセスにて検索フォームを作りたい

    お世話になります。 アクセス初心者です。 会社名検索フォームに会社名を入力して表示コマンドをクリックすると 会社フォームの入力した会社が表示されるようにしたいのです。 現在は、表示コマンドをクリックすると会社フォームが開きます。 どの会社名を打ち込んでもNo.1のレコードしか開きません。 つまり会社フォームが開く という指示をしているだけです。 コードなど全く分かりません。 ただ、本を見て真似て下記の通り入力してみました。 間違っているor足りない ということはわかっていますが、 どう入力すれば良いのかわかりません。 教えて下さい。よろしくお願いいたします。 Private Sub cmd表示_Click() On Error GoTo Err_cmd表示_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "会社フォーム" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_cmd表示_Click: Exit Sub Err_cmd表示_Click: MsgBox Err.Description Resume Exit_cmd表示_Click End Sub

  • Accessでの VBのコーディングを教えて下さい。

    今回、初めてAccessで「顧客管理」を作成しています。 1対多のテーブルで、フォームを作成して、 サブフォームに表示されている多側のテーブルのレコードを、1レコードづつフォームで開きたいのですが、 今のコーディング(下記に表示)では、 既存のレコードしか開けません。 これに、新規のフォームを開いてレコードの追加も行いたいので、良かったらどなたかコーディングを教えて頂けませんでしょうか?宜しくお願いします。 Private Sub 売上メインボタン_Click() On Error GoTo Err_売上メインボタン_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "売上登録メインフォーム" stLinkCriteria = "[売上キー]=" & Me![売上キー] DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_売上メインボタン_Click: Exit Sub Err_売上メインボタン_Click: MsgBox Err.Description Resume Exit_売上メインボタン_Click End Sub

  • access2000のVBAのことで教えてください。

    プログラム初心者でプログラム作った方がいきなり辞めてしまって困ってます。 市販の本とか見ても解りませんし、質問の仕方も良くわかりませんが 教えてください。 マクロの項目には何も無くマウスクリック時のイベントプロシージャでボタンを作ってるようです。 下記のプログラムですがクエリどこの命令文なるのですか? Private Sub 顧客名検索_Click() On Error GoTo Err_顧客名検索_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = \"F_顧客名検索\" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_顧客名検索_Click: Exit Sub Err_顧客名検索_Click: MsgBox Err.Description Resume Exit_顧客名検索_Click End Sub