• ベストアンサー

Accessでの検索

宜しくお願いします。 Accessで検索フォームを作成しようと思っています。 フォームから入力した番号を検索して 結果をテキストボックスに表示するといった感じです。 質問の内容は複数のテーブルがある場合、 どのようにすればいいのか?です。 色々調べてみたのですが、わかりません・・・。 ご存知の方がおりましたら教えて下さい。 宜しくお願いします。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

どうも遅くなりました。 検索フォームの名前をF検索とします。 1 デザインビューでフォームを作成するを   選択。 2 デザインビューの中で右クリックから   フォームフッターヘッダーを選択。 3 詳細部分にテキストボックスを5つ   設置。ラベルは除去。 4 各テキストボックスの名前を、管理番号   名前、発行日、売上券の管理番号、品目   とする。 5 フォームのプロパティのサイズ自動修正   を、いいえ に設定。 6 フォームのヘッダーと詳細の間にテキスト   ボックスを一つ置き、名前をtx検索と   する。 7 同じくボタンを一つ設置、名前をcmd検索   とする。ボタンのクリック時からコード   ビルダーを選択。コード表が開かれたら   以下の文を Private cmd検索_Click() と   End Sub の間に挿入。 8 コード表のツール→参照設定からDAOにチェック。 Dim db As Database Dim rs As Recordset Dim strSQL As String strSQL = "SELECT 発行テーブル.管理番号, 発行テーブル.名前, 発行テーブル.発行日, 売上テーブル.売上券の管理番 号, 売上テーブル.品目 " & _ "FROM 発行テーブル INNER JOIN 売上テーブル ON 発行テーブル.管理番号 = 売上テーブル.売上券の管理番 号 " & _ "WHERE (((発行テーブル.管理番号)='" & [Forms]![F検索]![tx検索] & "'));" Set db = CurrentDb Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot) Me.RecordSource = strSQL Me.管理番号.ControlSource = Nz("[発行テーブル].[管理番号]") Me.発行日.ControlSource = Nz("[発行テーブル].[発行日]") Me.名前.ControlSource = Nz("[発行テーブル].[名前]") Me.売上券の管理番号.ControlSource = Nz("[売上テーブル].[売上券の管理番号]") Me.品目.ControlSource = Nz("[売上テーブル].[品目]") rs.Close Set rs = Nithing db.Close Set db = Nothing 以上で出来上がると思いますが、変更点や うまく動かないなどがあれば書きこんで ください。

menta2000
質問者

お礼

piroin654さん 望み通りのフォームになりました!! 本当にありがとうございます!! 感謝、感謝です! では、失礼します。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

状況はわかりました。まずは管理番号を テキストボックスに入力し、検索結果を 他のテキストボックスに表示したい、という ことでよろしいでしょうか。 それで、表示したい検索結果はどういう ものであればいいのですか。

menta2000
質問者

補足

>まずは管理番号をテキストボックスに入力し、検索結果を 他のテキストボックスに表示したい、という ことでよろしいでしょうか。 はい、そうです。 必要な検索結果は全てのフィールド項目です。 何度も申し訳ないです。

すると、全ての回答が全文表示されます。
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

複数のテーブルの構造が同じ 場合はユニオンクエリを作成し、 それをメインフォームやサブ フォームのレコードソースに して検索に使用してもいいで しょうし、あるいはレコード セットとしてVBAで検索ができます。 異なる場合はテーブル同士が リレーションを取れるキーが 必要となります。 複数のテーブルの構造はどのように なっていますか。

menta2000
質問者

お礼

piroin654さん 書き込みありがとうございます。 テーブルは2つあります。("・"の部分がフィールド名) 発行テーブル(主キーは管理番号) ・管理番号(テキスト) ・名前(テキスト) ・発行日(日付) 売上テーブル(主キー無し) ・売上券の管理番号(テキスト) ・品目(テキスト) 管理番号が記載された伝票を発行する(発行テーブルで管理) 売上となった場合、伝票の管理番号を入力(売上テーブルで管理)と いったことを行いたいのです。 宜しくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A