Accessのフォームを使って住所録から,データを抽出し,その結果をまず表示,その後ラベルシールに印刷をしたいのですが,フォームでの検索は,テーブルのすべての項目について複数の項目を同時検索をできるようにしたいです。
テーブルの構造はごく普通の住所録です。データ件数は8万件ほどです。
どういう方向で作業を進めるべきか分からないのですが,こういった場合は,まず,検索用のフォームを作成し,コマンドボタン(検索・印刷)を配置して,
それに対してイベントかマクロの記述をするんだろうなとは思うのですが・・・
私が思うに,抽出結果を格納するテーブル・検索フォーム・ラベル印刷用のレポートが必要なのだろうと思いますが,それらが何でつながっていくのかが分かりません。参考書などでは,一つ一つのことが別々に書いてあって作業の全体像が分かりません。作業の方向と必要なスキルが同程度などか詳しい方教えてください。
No.2ベストアンサー
- 回答日時:
まず、検索結果を格納するテーブルはなくても大丈夫ではないでしょうか。
色んな方法が考えられますが、自分だったらこうするという方法で...
仰るとおり、検索用のフォームを作成します。検索結果のフォーム、ラベル用のレポートは条件を考えずに全部のレコードを表示するようなレコードソースでいいと思います。検索条件になるフィールドは全部持たす必要がありますし、フォームやレポートに表示する必要がなくても、非表示で配置して下さい。
検索条件フォームで入力した条件を元に、検索ボタンのクリック時のイベントプロシージャで
Dim strWHERE As String
strWhere=""
strWhere=strWhere &"([名前] ='"& forms![F_検索条件]![名前] &"')"
strWhere=strWhere &"AND (都道府県='"& forms![F_検索条件]![都道府県] & "')"
みたいなWHERE句を生成し、その条件で検索結果のフォームをOpenFormで開きます。
ラベル印刷ののレポートも同様ですね。検索結果から印刷するようにするのでしたら、検索結果のフォームに印刷ボタンを配置して、そのクリック時のイベントプロシージャでOpenReportのWHERE句の引数部分に上記の条件を指定して下さい。
No.1
- 回答日時:
一応、一通りのことを書きます。
(1)条件入力と結果表示用のフォームを作成。これはひとつのフォームでいいでしょう。このフォームには複数の条件入力フィールドと[検索]ボタン、結果表示用のフィールド、[印刷開始]ボタンがあればいいでしょう。アプリを終了するボタンもあるとカッコがつくでしょうか?
(2)[検索]コマンドボタンを配置し、クリック時イベントにて、条件に入力された値を元にしたSQL文を構成・クエリを作成します。
(3)結果表示のフォームのソースは(2)で作成したクエリにします。検索結果をわざわざテーブルに保存する必要はないでしょう。テーブルにする場合、結果をインサートしないといけなくなるので、処理が遅くなります。
(4)検索結果表示後は、[印刷開始]ボタンのクリックイベントでレポートを開けばよいです。このレポートのデータソースは、もちろん検索結果のクエリです。
カンタンに一通りの流れはこんな感じですが、当然、条件入力値のチェックだったり、検索結果0件時は印刷しない、とかいうロジックも必要です。
マクロでもできるでしょうが、ココはひとつVBAをゴリゴリ書いて、素敵なものを作っちゃってくださいな。
不明な点はまた書き込んでください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのフォームにカンマ区...
-
SQL*Loader
-
ACCESS2003 でクエリの抽出条件...
-
Access2000で文字列中の半角ス...
-
ACCESS マクロで検索に...
-
where条件式であいまい検索がし...
-
Accessでの電話番号下4桁での検...
-
パススルークエリの動的パラメ...
-
Accessの検索フォームで。
-
アクセスでの検索回数and 検索...
-
Access テキストボックスとlik...
-
Accessのフォームで、当該デー...
-
年月日を持つテーブルから年月...
-
複数条件検索について
-
Access レポート印刷するときに...
-
データベースのINT型項目にNULL...
-
passwordが入れられません・・・・
-
YahooのIDがロックされてしまい...
-
アクセスでテキストボックスの...
-
ACCESS フォームをそのまま印刷...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL*Loader
-
検索フォームで空白を抽出したい
-
年月日を持つテーブルから年月...
-
Access2000で文字列中の半角ス...
-
VBAからクエリのパラメータを設...
-
Accessのフォームで、空欄のレ...
-
access 検索フォームで検索が...
-
AccessにてExcelファイル名にパ...
-
アクセス マクロのメッセージ...
-
複数条件検索について
-
Access2007のサブフォームのReq...
-
アクセスのフォームにカンマ区...
-
ACCESS2003 でクエリの抽出条件...
-
ACCESS マクロで検索に...
-
ACCESSのフォーム上で複数検索...
-
Accessの検索フォームで。
-
Access テキストボックスとlik...
-
パススルークエリの動的パラメ...
-
DBソフト ACCESS:検索フォー...
-
Accessでの電話番号下4桁での検...
おすすめ情報