![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
先の回答で事足りるかと思いますが・・・。
検索ボタンを配置した場合を補足しておきます。
Option Compare Database
Option Explicit
Private Sub コマンド_検索_Click()
Dim lngID As Long
Dim frmCustomers As Form
Dim rstCustomers As DAO.Recordset
lngID = InputBox("検索する[id]を入力して下さい")
If lngID > 0 Then
Set frmCustomers = Screen.ActiveForm
Set rstCustomers = frmCustomers.RecordsetClone
rstCustomers.FindFirst "id = " & lngID
If rstCustomers.NoMatch Then
MsgBox "該当する顧客情報が見つかりませんでした。"
Else
frmCustomers.Bookmark = rstCustomers.Bookmark
End If
rstCustomers.Close
Else
MsgBox "検索する[id]が入力されていません。"
End If
End Sub
このコードの実行画面は次の通りです。
![「アクセス フォームに検索ボタンをつくりた」の回答画像3](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/7/1232063_5497e95c57293/M.jpg)
No.2
- 回答日時:
>ちなみにデータは5万件
フォームに5万件を表示して検索するなんて非現実的かと・・・
>検索かけるフィールド名は“ID”
ちょっと意味不明です。
普通は、顧客テーブルは、顧客.[id]でも顧客.[名前]では検索しません。
検索は、顧客.[読み]が一般的です。
Q、このフォームの中に検索できるボタンを作りたい。
A、以下の手順で!
手順1、フォームを基にレコードセットを作成する。
手順2、レコードセットを検索する。
手順3、レコードセットのブックマークをフォームに反映する。
Option Compare Database
Option Explicit
Private Sub テキスト_参照するid_AfterUpdate()
Dim lngID As Long
Dim frmCustomers As Form
Dim rstCustomers As DAO.Recordset
lngID = Nz(Me.テキスト_参照するid, 0)
If lngID > 0 Then
Set frmCustomers = Screen.ActiveForm
' ----------------------------------------------------------
' フォームを基にレコードセットを作成
' ----------------------------------------------------------
Set rstCustomers = frmCustomers.RecordsetClone
' ----------------------------------------------------------
' レコードセットを検索
' ----------------------------------------------------------
rstCustomers.FindFirst "id = " & lngID
If rstCustomers.NoMatch Then
MsgBox "該当する顧客情報が見つかりませんでした。"
Else
frmCustomers.Bookmark = rstCustomers.Bookmark
MsgBox "該当する顧客情報が見つかりました。"
End If
rstCustomers.Close
End If
End Sub
次は、このコードを実行した画面です。
ブックマークは、id=8の顧客を指示しています。
![「アクセス フォームに検索ボタンをつくりた」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/1/1232063_5497f07fd61b8/M.jpg)
No.1
- 回答日時:
新しい検索用のフォームを作成し、そこに現在のフォームをサブフォームとして配置します。
新しいフォームに検索文字列を入れる非連結テキストボックスと検索ボタンを作成し
検索用クエリのIDの抽出条件を検索用のテキストボックスとします。
作成した検索ボタンを押したときのイベントプロシージャにサブフォームのリクエリーを記載します。
例
Me.Refresh
Me![サブフォーム名].Requery
みたいな感じでいいかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- その他(ブラウザ) Mycrosoft Edge フォームの履歴を完全に削除したい 3 2022/08/11 09:59
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パススルークエリの動的パラメ...
-
AccessにてExcelファイル名にパ...
-
SQL*Loader
-
Accessでの電話番号下4桁での検...
-
ACCESSのフォーム上で複数検索...
-
アクセス マクロのメッセージ...
-
年月日を持つテーブルから年月...
-
VBAユーザーフォーム内のテキス...
-
アクセスのフォームにカンマ区...
-
検索フォームで空白を抽出したい
-
Access2007のサブフォームのReq...
-
Accessでの検索フォーム作成
-
access 検索フォームで検索が...
-
★アクセス2002★DoCmd.ApplyFilt...
-
AccessのクエリーでWHERE句のと...
-
FileMakerPro10:検索条件について
-
VBAからクエリのパラメータを設...
-
ACCESS マクロで検索に...
-
Access レポート印刷するときに...
-
passwordが入れられません・・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
年月日を持つテーブルから年月...
-
SQL*Loader
-
Accessのフォームで、空欄のレ...
-
検索フォームで空白を抽出したい
-
ACCESSのフォーム上で複数検索...
-
VBAからクエリのパラメータを設...
-
ACCESS2003 でクエリの抽出条件...
-
アクセス マクロのメッセージ...
-
Accessの検索フォームで。
-
Access2007のサブフォームのReq...
-
パススルークエリの動的パラメ...
-
ACCESS マクロで検索に...
-
access 検索フォームで検索が...
-
AccessにてExcelファイル名にパ...
-
Access2000で文字列中の半角ス...
-
アクセスの複数検索で日付の絞...
-
AccessのデータをExcelテンプレ...
-
アクセスのフォームにカンマ区...
-
DBソフト ACCESS:検索フォー...
-
Accessでの電話番号下4桁での検...
おすすめ情報