Access初心者です。
今Accessで顧客管理を作成しています。
フォームで電話番号の下4桁で検索し、該当の顧客の情報がフォームで見れるようにしたいのですが、クエリでの取り込むべきフィールドや抽出条件などがよくわかりません。
今現在はクエリに「電話番号」フィールドだけを取り込み、抽出条件に Right([Forms]![電話番号検索]![電話番号],4) というのを入れてます。
今の段階で作成しているものは、
・ユーザーテーブル
・検索実行クエリ
・ユーザーフォーム
・書き込みフォーム
・電話番号検索フォーム
・開くマクロ
・閉じるマクロ
・最後のレコードへ移動するマクロ
・新しいレコードへ移動するマクロ
・書き込みマクロ
・終了マクロ
以上になります。
電話番号検索フォームで下4桁を入力し、検索ボタンを押すとユーザーフォームの該当の顧客の情報が表示されるようにしたいというのが目的です。
何卒ご指導の程よろしくお願い致します。
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
私は、「電話番号の下4桁で」といった検索をするときは、
クエリの式で、
1.電話番号を半角数字のみに整形
2.上記の結果を逆順にする。(StrReverse関数)
としておき、
フォームの電話番号も同様に
1.電話番号を半角数字のみに整形
2.上記の結果を逆順にする。(StrReverse関数)
としたうえ、
Like で部分検索します。
こうすれば、03-456-78990と入力しようが、
7890でも456-7890でも検索できます。
No.5
- 回答日時:
お詫びのお詫び:
× "PHONE LIKE '*-*-" & Me.電話番号下四桁 & "'"
○ "PHONE LIKE '*" & Me.電話番号下四桁 & "'"
つまり、<下4桁のみにマッチする工夫>は間違い。
まあ、完全なゴミ回答でした。
※ついでに、<電話番号検索フォームで下4桁を入力し>は??
※フォームヘッダーなどに検索用入力テキストボックスをが普通とは思います。
No.4
- 回答日時:
お詫び:
質問を曲解していました。
マッチする回答は以下のようでしょう。
つまり、No1さんの回答の後追いです。
ただ、条件文は下4桁のみにマッチする工夫はしています。
Private Sub コマンド_OK_Click()
Dim strSQL As String
strSQL = "SELECT * FROM クエリXXX WHERE " & "PHONE LIKE '*-*-" & Me.電話番号下四桁 &
"'"
Forms("Customer").RecordSource = strQuery
Forms("Customer").Reauery コマンド_終了_Click
End Sub
※自宅からですので未テストです。
※クエリからは抽出条件を除くのが前提です。
※フォームのRecordSourceをオープン時にどうするかは考え方次第です。
No.2
- 回答日時:
テーブル<Customer>
cuntomer_num__company_________kname_______zipcode__address1__address2__building__phone
______________101__スポーツランド__鈴木 一郎__150-______東京都____渋谷 2____Aビル____03-400-3333
______________102__スポーツランド__岡島 一郎__150-______東京都____渋谷 2____Bビル____03-400-4444
______________103__スポーツランド__田中 一郎__150-______東京都____渋谷 2____Cビル____03-400-5555
フォーム<Customer>
Private Sub コマンド_InputPhoneを開く_Click()
On Error Resume Next
DoCmd.OpenForm "InputPhone", , , Null
End Sub
フォーム<InputPhone>
Private Sub コマンド_OK_Click()
Forms("Customer").Controls("電話番号下四桁") = Me.電話番号下四桁
Forms("Customer").FilterOn = False
Forms("Customer").Filter = "PHONE LIKE '*-*-" & Me.電話番号下四桁 & "'"
Forms("Customer").FilterOn = True
コマンド_終了_Click
End Sub
Private Sub コマンド_終了_Click()
DoCmd.Close
End Sub
フォーム<Customer>からフォーム<InputPhone>を開きます。
[電話番号下四桁]を入力したら[OK][Cancel]ボタンをクリック。
[OK]の場合は、一応、フォーム<Customer>の[電話番号下四桁]にも表示しフィルターを実行。
こういう感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 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 IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) Excelで、別シートへ情報を参照表示する関数について。 2 2023/06/26 09:58
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) エクセル 多数のファイルから値を抜き出したい 4 2022/12/12 16:49
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAからクエリのパラメータを設...
-
SQL*Loader
-
年月日を持つテーブルから年月...
-
検索フォームで空白を抽出したい
-
AccessのデータをExcelテンプレ...
-
フォームの入力ができなくなる...
-
アクセス マクロのメッセージ...
-
複数条件検索について
-
ACCESS2003 でクエリの抽出条件...
-
Access2000で文字列中の半角ス...
-
アクセスのフォームにカンマ区...
-
Access2007のサブフォームのReq...
-
Access2000で複数の検索項目を...
-
ACCESSのフォームを使っての住...
-
パススルークエリの動的パラメ...
-
Access レポート印刷するときに...
-
データベースのINT型項目にNULL...
-
passwordが入れられません・・・・
-
YahooのIDがロックされてしまい...
-
アクセスでフォームビューがみ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
年月日を持つテーブルから年月...
-
SQL*Loader
-
検索フォームで空白を抽出したい
-
Accessのフォームで、空欄のレ...
-
アクセスのフォームにカンマ区...
-
ACCESS2003 でクエリの抽出条件...
-
VBAからクエリのパラメータを設...
-
AccessにてExcelファイル名にパ...
-
アクセス マクロのメッセージ...
-
access 検索フォームで検索が...
-
Accessの検索フォームで。
-
ACCESSのフォーム上で複数検索...
-
Access2000で文字列中の半角ス...
-
複数条件検索について
-
Access2007のサブフォームのReq...
-
パススルークエリの動的パラメ...
-
ACCESS マクロで検索に...
-
Access テキストボックスとlik...
-
Accessでパラメータークエリの...
-
Accessで検索画面を作る方法
おすすめ情報