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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
検索フォームで空白を抽出したい
-
アクセス マクロのメッセージ...
-
Accessのフォームで、空欄のレ...
-
年月日を持つテーブルから年月...
-
SQL*Loader
-
データベースのINT型項目にNULL...
-
YahooのIDがロックされてしまい...
-
passwordが入れられません・・・・
-
クエリで出来た表にチェックボ...
-
ACCESSのタブオーダー
-
レコードを保存するコード ア...
-
Word縦書きで左から右への行
-
Excelで入力したデータを自動的...
-
サブフォームに対してGoToRecor...
-
エクセルVBA オプションボタ...
-
Accessでフィールド名を変数(...
-
Access レポート印刷するときに...
-
親・子リンクフィールドの設定...
-
ACCESS フォームをそのまま印刷...
-
アクセスでフォームビューがみ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
年月日を持つテーブルから年月...
-
検索フォームで空白を抽出したい
-
SQL*Loader
-
アクセス マクロのメッセージ...
-
Accessのフォームで、空欄のレ...
-
Accessの検索フォームで。
-
ACCESS マクロで検索に...
-
access 検索フォームで検索が...
-
アクセスのフォームにカンマ区...
-
Access2000で文字列中の半角ス...
-
パススルークエリの動的パラメ...
-
複数条件検索について
-
ACCESS2003 でクエリの抽出条件...
-
VBAからクエリのパラメータを設...
-
AccessにてExcelファイル名にパ...
-
Access2007のサブフォームのReq...
-
ACCESSのフォーム上で複数検索...
-
ACCESSのフォームを使っての住...
-
where条件式であいまい検索がし...
-
VBAユーザーフォーム内のテキス...
おすすめ情報