• ベストアンサー

Accessちゃん活用中

突然ですが、3つ質問させて戴きます。フォームのレコードソースは3つとも同じテーブルからです。 Q1:フォームを開いた時、五十音順に表示させる方法 (テーブルの画面で五十音順になっていてもフォームに表示されてくる順番はID番号順になってしまいます。) Q2:フォームビューの時、ひとつのテキストボックスに会社Noや社名・ふりがな等を入力した時、ヒットした社名が出てくるようにするには?(検索機能) Q3:フォームを開いた時、必要な会社名のレコードだけ使いたいという時の設定方法。 例えば、テーブルに200件分のデータがあるとしら、その150行目から200行目までとか、同じ会社名のデータだけしかこのフォームではいらないんだけどなぁという時。 以上、なんでもけっこうですので、是非ご教示くださいますようお願い申し上げます。参考にさせてください。

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

  • ベストアンサー
  • tutty2
  • ベストアンサー率53% (7/13)
回答No.2

Q1:現在フォームから参照しているテーブルを元にしたクエリーを作ります。そこには、フリガナフィールド(なければフィールドを増やす)を昇順で並べ替える設定をしておきます。 フォームのレコードソースを作成したクエリーに変更します。 Q2:以下の手順で行います 1.非連結のテキストボックスを1つ配置したフォームを作ります。 例としてフォーム名は「フォーム1」としておきます。 2.検索したいテーブルを基にしたクエリーを作り、検索対象のフィールドの抽出条件にフォーム1のテキストボックスを指定します。 [Forms]![フォーム1]![テキストボックス名] 3.フォーム1をデザインで開き、そこに2で作成したクエリーをドラッグし、大きさを整えます。 ドラッグしたときにウィザードが起動したら後で設定するとして終わらせます。 つまり、サブフォームのプロパティにある親リンク・子リンクは不要ということです。 4.再クエリーマクロを作成します。コントロール名は無くても構いません。 5.4で作成したマクロを1で作成したフォームのテキストボックスの更新後プロパティに設定します。 これで抽出できるはずです。なお、フォームをデザインで開き、サブフォームをダブルクリックすればサブフォームのレイアウト等がいじれます。 Q3:同じ会社名のデータで良いなら、Q2の応用でできます。

sasukee
質問者

お礼

tutty2さんの方法で解決しました。ありがとうございました。少しでも応用が出来ればとおもうんですが、Helpをみてもなかなか難しくて・・・。本を読んでみても思い通りの応用例がなかったりで。またokwebにたよってしまうと思いますが、その時はまた是非ご回答よろしくお願い致します。本当に有難う御座いました。

その他の回答 (2)

  • CHOROLYN
  • ベストアンサー率60% (14/23)
回答No.3

検索する語句を入力するテキストボックスの名前はどうなっていますか? Me.テキストボックスの名前 になるようにしてみて下さい。

sasukee
質問者

お礼

有難う御座いました。 そして、お世話になりました。またよろしくお願い致します。

sasukee
質問者

補足

最初、それが理由だと思い確認したところ、テキストボックスのな前にちゃんとなってました。なので、他に理由があるのでは?とおもったのですが・・・。その理由が探せず、困ってます。もしご存知でしたら、よろしくお願い致します。

  • CHOROLYN
  • ベストアンサー率60% (14/23)
回答No.1

Q1:フォームのレコードソースでフリガナを昇順にして下さい。 Q2:フィルタを使用します。非連結のテキストボックス(「検索」とします)を配置してその更新後イベントで、 dim strSQL as String strSQL="" strSQL=strSQL & "([会社No.]=" & Me.検索 &") " strSQL=strSQL & "OR ([会社名]='" & Me.検索 &"') " strSQL=strSQL & "OR ([ふりがな]='" & Me.検索 &"')" DoCmd.ApplyFilter ,strSQL とすれば検索に入力した内容でいずれかにヒットするものだけ絞り込まれます。 Q3:何件目~何件目っていうのは出来なかったと思いますが、開くときに条件指定できます。  Docmd.OpenForm "フォーム名",,,"都道府県='東京都'" という風にすれば、都道府県が東京都の会社のみが表示されます。

sasukee
質問者

補足

早速ご回答戴き、有難う御座います。実行させて戴きました。 ところが、すでに三行目で“コンパイルのエラー”というエラーが出てきてしまいました。何度も入力しなおしても、このエラーの意味がわからないので・・・。ご存知でしたら、どうかどうかご教示くださいますようお願い致します。

関連するQ&A