• 締切済み

access 検索について教えてください。

フォームにテキストボックス(テキスト0)を配置し、県名を入力するとこのフォーム(検索フォーム)にレコード内容が表示されるようにしました。クエリの県名の抽出条件にform![検索フォーム]![テキスト0]とし、検索フォームの更新後処理に Private Sub テキスト0_AfterUpdate() DoCmd.Requery End Sub と記載し利用しています。 ここで質問ですが、抽出条件に[me].[テキスト0]と記載し、上記内容のコードを記載しましたが、検索フォームが表示できません。 どこがいけないのでしょうか? お願いします。

みんなの回答

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

よく判らないのですが・・・ 検索フォームと、抽出条件にform![検索フォーム]![テキスト0]としたレコードソースのフォームは、同一のものでしょうか? > 抽出条件に[me].[テキスト0]と記載し は、フォームのフィルタ?クエリ?どこに、記載したの? 多分、これが原因だと思うけど・・・ > どこがいけないのでしょうか? その前に・・・質問で記載されている内容から、抽出できない状況を再現することで、何処が悪い!と、回答していくのですが・・・質問の文章から、状況の再現が出来ません 要は・・・回答が付かない理由ね 後 > DoCmd.Requery で、どこのレコードソースを再クエリしようとしているの? Me.Requery で、コマンドが走るフォームのレコードソースの再クエリ Form![再クエリを走らせるフォーム名].Requery で、指定したフォームのレコードソースの再クエリ と・・・何処って指定しないと、予想外のところが再クエリされることがあるよ

masakumi
質問者

お礼

ありがとうございました。 記述していただいた箇所を調べてみると再クリエするホームの名称を間違えていました。 今後もよろしくお願いします。

関連するQ&A

  • ACCESSの検索について

    過去ログを見たのですが、該当するものが見つからなかったので質問させてください。 すでに入力してあるデータの生年月日から特定の月に誕生日を迎える人を検索したいと思っております。 クエリの検索条件で Like "*" & [Forms]![誕生日検索2]![テキスト0] & "*" とし、フォームの誕生日検索2のテキスト0に入力されたものを抽出したいのですが、クエリで開いてパラメータの入力のところでは「2008/07」とすれば今年の7月に誕生日を迎える人が抽出できるのに、フォームのテキスト0に同じように入力してもデータが抽出されません。 ちなみにフォームのイベントプロシージャは Private Sub コマンド2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) DoCmd.OpenQuery "誕生日検索" End Sub Private Sub テキスト0_AfterUpdate() DoCmd.Requery End Sub としております。 どこをどう直せばうまく抽出できるようになるのでしょうか?

  • Accessであいまい検索するフォームをつくってみたんですが?

    Accessの初心者です。 本などをみながらあいまい検索ができるようなフォームをつくってみましたがフォームを開いた時、全レコードが表示されてしまいます。 クエリーの抽出条件はLike "*" & Forms!フォーム1!テキスト0 & "*"にしてテキストボックスプロパティの更新後処理でDoCmd.Requeryとしました。(意味がよくわからないんですけど) フォームを開いた時やテキストボックスになにも入力されていない時、全レコードが表示されないようにするにはどうすればいいのでしょうか? よろしくお願いします。

  • コンボボックスの抽出条件のLikeについて

    フォーム内のコンボボックス処理について 現在ACCESS2002でDBを構築しております。 初心者です。 フォーム内でテキストボックスから値【a】をもらい、その【a】を抽出条件として抽出結果を コンボボックスに表示したいと考えております。 ※like関数を使用 Private Sub テキスト1_AfterUpdate() DoCmd.Requery "コンボ1" Me!テキスト1.Requery End Sub コンボボックスの値集合ソースの抽出条件で ((テーブル.カラム) like "'*" & Forms!フォーム!テキスト1 & "*'") 上記で指定したのですが、何も抽出されません。 イコールで下記を実行すると値は抽出されます。 ((テーブル.カラム) = Forms!フォーム!テキスト1 ) LIKE関数の使い方が悪いのでしょうか。 お手数ですが、ご教授願います。

  • accessの文法

    access2000です。 フォーム更新後に フォーム上のテキスト34に、クエリ3のフィールド「年」を代入して表示させるとき こうでいいのでしょうか? Private Sub テキスト34_AfterUpdate() Me.テキスト34 = [クエリ3]![年] End Sub

  • Access 検索フォーム

    いつもお世話になってます。 Accessの検索フォームについて教えて下さい。 業務マスターと仕事DBという2つのデーターベースがあります。 業務マスターは共有のサーバーの中にあり、得意先テーブルをリンクして、それをもとに得意先フォームを作りました。 非連結のテキストボックス(txt検索)と非連結のリストボックス(一覧)がり、リストボックス(一覧)のクエリ得意先の抽出に使うフィールドの条件に、Like"*"&[Forms]![得意先フォーム]![txt検索]&"*" を入れました。 txt検索に文字を入れ、一覧リストボックスで絞込をし、選ぶとフォームに表示されるという流れにしたのですが・・・。 Private Sub txt検索_AfterUpdate() Me![一覧].Requery End Sub Private Sub 一覧_AfterUpdate() Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[得意先ID] = " & Str(Nz(Me![一覧], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark End Sub [Forms]![得意先フォーム]![txt検索]というパラメータがでて(今まで出たことがない) 文字を入力しても実行できませんでした。参照元が分からないのかなと思いますが、どうしたらうまくいくのか分かりません。どなたかお知恵をかしていただけないでしょうか。Accessは2003を使っています。よろしくお願いします。

  • access クエリ 検索フォームの作り方

    よろしくお願いします。 やりたいこと: フォーム上で、テキストボックスに入力した値を検索して表示したい。 本やウェブで調べて、なんとか一度はやっと出来たのですが、 誤って何かを変更してしまい、使えなくなってしまいました。 今となってはどの資料を見て作れたのかわからなくなりました。 やったこと: クエリ :クエリA   条件にforms!フォームA!txt0を入力 フォーム:フォームA ヘッダーに非連結のテキストボックスtxt0を作成 txt0の更新後処理:docmd.requeryを入力 しかし、txt0に入力しても検索されません。 フォームのプロパティのレコードソース欄にクエリAを選択するようですが、 選択するクエリ名が表示されないので、クエリ名を入力しましたがダメでした。 どこか間違っているのでしょうか。VBAまでは勉強できないので上記範囲内でお願いします!

  • アクセス2000で2回目の検索ができなくなります

    アクセス2000で、サンプルを見ながらVBAをみようみまねで書いている超初心者です(難しいことは理解できていません)。次のようなところで行き詰っています。ヘルプお願いします。 一つのフォームに、(1)コンボボックス2つで、2段階の絞り込みをするクエリ(全体から「種類」フィールドのAを抽出し、さらに「名前」フィールドからBに絞り込む) と、(2)オプショングループのフレームの中で五十音で検索するトグルボタン(「かな」フィールドからあ行、か行等を抽出) のふたつのフィルタを設置しています。 コンボボックスのほうには、絞り込みの解除のボタン(ここでは「再表示」とします)を設置しており、クリック時のイベントに Private Sub コマンド1_click() me.コンボ1=null me.コンボ2=null DoCmd.Requery End Sub と記述し、「再表示」ボタンを押すことで、何度もやり直しができています。 しかし、五十音検索を一度でも行うと、その後はコンボボックスの絞り込みが動かなくなってしまうのです。 そこで、こちらにも「全表示」ボタンをつくって、以下のような記述をしてみたのですが、いずれもコンボボックスによる絞り込みを復活させることができないでいます。どこが足りないのかわかりません。 1) Private Sub コマンド2_click() me.フレーム1=null me.フレーム2=null DoCmd.Requery End Sub これでトグルの選択は解除されますが、コンボボックスは動きません。よって3行目以降が間違っていると思い、 2)上記の3行目以降を DoCmd.ShowAllRecords や Me.FilterOn=false  など、またそれらとReQueryなどを組み合わせてみたり、 3)コンボボックスの方に1)や2)のような記述を追加してみたりと、いろいろトライしていますが、どうしてもコンボボックスの動作が復活しないのです。 いったんフォームを閉じるとまたできるようになるのですが・・・どうすればよいか、ご教示をお願いいたします。 ps.VBAのお作法はほとんどわかっていません。なるべくわかりやすくお願いいたします。   ちなみに、MSのサイトで[ACC2000]フィルタが設定されたフォームで2回目以降のフィルタが実行されない というヘルプは参照したのですが、意味が分かりませんでした(泣)  また、なぜこの時代にアクセス2000なのか、ですが、いまだに会社のバージョンがこれなのです(苦笑)

  • サブフォームでのテキストとコンボ連動について

    ACCESS2002でDBを構築している初心者です。 メインフォームに2つのサブフォーム(サブ1、サブ2)埋め込みを サブフォーム同士を連動させたフォームを作成中です。 2つのサブフォームのうちのサブ1にテキストボックスを基に コンボボックスでSQLを実行して抽出結果を コンボボックスに表示させています。 下記でaの値が変更されるとbにその値を送っています。 Private Sub a_AfterUpdate() DoCmd.Requery "b" Me!a.Requery End Sub その後bの値集合ソースでSQLを実行しております。 SQLの抽出条件「forms!サブ1!a」として、上記で取得した テキストボックスaを使用しております。 サブ1をメインフォームで開き上記を実行すると値を抽出します。 しかしサブフォームで実行した際に、「パラメータの入力」が 出てきて手動で入力しなくてはいけません。 サブフォーム上で実行する際に、イベントプロシージャや SQLの抽出条件を更新しなくてはならないのでしょうか。 お手数おかけいたしますが、ご教授よろしくお願いいたします。

  • Access2007 フォームでのOR検索

    Access歴は2カ月程度です。 クエリから作成したフォームの中でのOR検索を行いたいのですが フィールド名・・・工具名,使用番号 検索に使用する非連結txtbox・・・工具名条件,使用条件 となっており、 Private Sub 検索_Click() If [工具名条件] <> "" Then 検索文字 = 検索文字 & " and 工具名 like '*" & [工具名条件] & "*'" If [使用条件] <> "" Then 検索文字 = 検索文字 & " and 使用番号 like '*" & [使用条件] & "*'" If 検索文字 = "" Then Me.FilterOn = False Else Me.Filter = Mid(検索文字, 6, 2000) Me.FilterOn = True DoCmd.Requery End If End Sub となっており、工具名と使用番号のAND検索は出来ているのですが、使用番号が1~6あり、 OR検索を使用して2つを検索条件にし、それぞれ該当している結果を表示させたいのですが。。。 工具名はカタカナや漢字のみです。 使用番号は「1,2,3」等と入力してあります。 クエリの抽出条件は無記入です。 どうぞ、よろしくお願いします。

  • 「Or検索」をするには?

    グーグルやヤフーのようにアクセスのフォーム上からクエリの検索も「Or検索」をしたいのですがやり方がわかりません。 (長くなりますがお付き合いくださいませ(*_ _)ペコリ) ******************************************************* テーブル1 フィールド名:果物 りんご みかん ******************************************************* クエリ1 SELECT テーブル1.果物 FROM テーブル1 WHERE (((テーブル1.果物) Like "*" & [Forms]![フォーム1]![テキスト1] & "*")); ******************************************************* フォーム1 テキスト1とコマンド0を配置。 コマンド0のイベントに Private Sub コマンド0_Click() DoCmd.OpenQuery "クエリ1" End Sub ******************************************************* と作りました。 これで、テキスト1に「み」と入力し、コマンド0を押せば クエリ1は「みかん」が表示され、 「ん」と入力すれば、 「りんご」「みかん」のどちらも表示されます。 今からやりたいことは 「りんご」「みかん」のどちらも入力して どちらも表示させたいのです。 (こちらのサイトもそのような仕組みですよね?) 多分、 WHERE (((テーブル1.果物) Like "*" & [Forms]![フォーム1]![テキスト1] & "*")) の部分をどうにかするのだと思うのですが わかりません。 どなたかご教授いただけないでしょうか? イメージとして画像をUPします。 よろしくお願いします。

専門家に質問してみよう