プロフィール
さんの画像

60過ぎのおっちゃんです。手探りでブログを立ち上げました。至らない点が多々あると思いますがご容赦ください。

広告

posted by fanblog

2017年09月29日

AccessVBAで入場券を作ろう








マイクロソフトエクセルのまとめ記事はこちら


Microsoft Office ブログランキングへ


別の検索方法


入場検索7.png

上のように新たに検索用のテキストボックスとボタンを作成しました。

「検索文字列」のボタンに書いたVBAは下記です。

Private Sub コマンド50_Click()

Dim v As Variant 変数vの宣言

Me.氏名.SetFocus 氏名にフォーカスを当てる

v = Me.テキスト48 変数vにテキストボックスの内容を格納する

Me!テキスト48 = Null 一旦テキストボックスの内容を消去する

DoCmd.FindRecord v, acAnywhere, False, acSearchAll, False, acAll, False ここで検索

Me!テキスト48 = v テキストボックスの内容を戻す

End Sub

上記のような流れです。

仮に検索する氏名に「津島」と入力して「検索文字列」ボタンを押してください。


入場検索8.png

上のように「津島 紳二」が検索され表示されました。

VBAの内容は理解できますか。

一旦テキストボックスの内容を消去していますね。

(Me!テキスト48 = Null)これが残っていると、ここを検索してしまうので、

一旦消去しています。

後は「DoCmd.FindRecord v, acAnywhere, False,

acSearchAll, False, acAll, False」この部分ですね。

【FindRecordの構文】

DoCmd.FindRecord FindWhat [,Match] [,MatchCase]

[,Search] [,SearchAsFormatted] [,OnlyCurrentField] [,FindFirst]

・FindWhat・・・検索データを指定します。

・[,Match]・・・検索条件を指定します。

         acAnyWhere・・・部分一致

         acEntire・・・フィールド全体と一致(規定値)

         acStart・・・フィールドの先頭と一致

・[,MatchCase]・・・大文字・小文字の区別

         True・・・区別する

         False・・・区別しない(規定値)

・[,Search]・・・検索方法を指定します。

         acUp・・・カレントレコードから先頭のレコードへ検索

         acDown・・・カレントレコードから末尾のレコードへ検索

         acSearchAll・・・全てのレコードから検索(規定値)

・[,SearchAsFormatted]・・・書式

         True・・・

         False・・・規定値

・[,OnlyCurrentField]・・・検索対象フィールド

        acAll・・・全てのフィールドを対象

        acCurrent・・・カレントフィールドだけを対象(規定値)

・[,FindFirst]・・・検索開始位置

        True・・・先頭レコードから検索(規定値)

        False・・・カレントレコードから検索

上記のような内容です。

「DoCmd.FindRecord v, acAnywhere, False, acSearchAll,

False, acAll, False」ここは上記の構文に則り正確に記載していますが、

「DoCmd.FindRecord v, acAnywhere,,,, acAll」

このように省略しても大丈夫です。







この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/6755353
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: