プロフィール
さんの画像

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

広告

posted by fanblog

2017年10月03日

AccessVBAで入場券を作ろう

国内&海外ホテル予約『トリバゴ』





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


Microsoft Office ブログランキングへ


検索


今「津島」という名前を検索し「津島 紳二」と表示されています。

ただし、「津島」はこの方だけではありません。

複数名いますね。

このような場合に「次を検索」という事をしたいですね。

入場検索9.png

「検索文字列」ボタンの隣に「次を検索」ボタンを設置しました。

このボタンのVBA記述は下記です。

Private Sub コマンド51_Click()

Dim v As Variant

Screen.PreviousControl.SetFocus

Screen.ActiveControl.SelStart = 255

v = Me.テキスト48

Me.テキスト48 = Null

DoCmd.FindRecord v, acAnywhere, False, acDown, , acAll, False

Me.テキスト48 = v

End Sub

まず「Screen.PreviousControl.SetFocus」ですが、

これはフォーカスを直前に戻すという意味です。

「次を検索」ボタンを押した段階で、フォーカスは「次を検索」ボタンに移動します。

これを1つ前に戻すためにこのコマンドが挿入されています。

次に「Screen.ActiveControl.SelStart = 255」ですが、

「SelStart」とは、テキストボックス内のどの部分にカーソルがあるかを示します。

今=255としている理由は、テキストボックスに入力できる文字数の最大が

「255」なので「255」にしています。このように「255」にしておけば自動的に

最後尾にカーソルが入ります。

「SelLength」というプロパティもあり、これはテキストボックス内の文字数を取得します。

ですから下のように記述しても同じ結果が得られます。

Screen.ActiveControl.SelStart = Screen.ActiveControl.SelLength

後は「DoCmd.FindRecord v, acAnywhere, False, acDown, , acAll, False」ですね。

最初の「検索文字列」の時と若干違っています。

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

ここがacDown・・・カレントレコードから末尾のレコードへ検索になっています。

具体的に言うと「津島 紳二」から末尾に向かって検索しなさいという命令ですね。




ニキビ集中ケアの体験エステ <エステのエルセーヌ>



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

お名前:

メールアドレス:


ホームページアドレス:

コメント:

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

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

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