アフィリエイト広告を利用しています
ファン
最新記事
写真ギャラリー
日別アーカイブ

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
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」

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







最新コメント
プロフィール
さんの画像

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

この広告は30日以上新しい記事の更新がないブログに表示されております。