
No.3ベストアンサー
- 回答日時:
[コード].SetFocus
これは「コード」のフィールドにマウスポイント置いてアクティブにします(つまり検索前にコードのフィールドをアクティブにします。)
フィールド名は[]で指定します。
Me!は検索対象のPage(この場合,vbaの対象が開かれているフォームを指します。)を指定しています。
べつのフォームを検索するときはフォーム名を指定しなければいけません。
Excelなどでセルを選択すると太線でセルが表示されますが、そのセルにSetFocusがあるということです。
フォーカス(カメラの焦点のことをフォーカスといいます 焦点を絞る)を移す時にこのsetfocusを使います
Accessのヘルプを表示してキーワードに「setfocusメソッド」といれて検索してください。
一度にVBAを覚えるのは無理ですが少しずつでも覚える姿勢があればはやくマスターできるでしょう。 私だって全部知っている訳ではなく、必要に迫られて作っているだけです。
Accessの参考書にはいろいろ載っていますが、私は、ほとんどビジュアルベーシックで覚えました。
ビジュアルベーッシックとAccessのVBAは共通部分がたくさんありますよ。
No.1
- 回答日時:
私が使っているAccessで作ったものです。
コード検索
Private Sub コード検索_Click()
[コード].SetFocus
Dim inp As String
inp = InputBox("検索するコードを入力してください。コードがない場合は一覧表が表示されます。", "検索するコード入力")
If inp = "" Then
DoCmd.CancelEvent
Else
DoCmd.FindRecord inp
If inp <> Me![コード] Then
MsgBox "検索したコードはありませんでした。全レコードから検索してください。", 0 + 32, "入力確認"
Me![コード検索].SetFocus
Else
DoCmd.openform "F01○○個別表示", wherecondition:="[コード]='" & Me![コード] & "'"
DoCmd.Close acForm, "F00○○管理一覧"
End If
End If
End Sub
-------------------------------------------------------------------
宛名検索
Private Sub 宛先検索_Click()
Dim atesaki As String
[宛名].SetFocus
atesaki = InputBox("調べたい氏名の最初から幾つかの文字を入力")
'DoCmd.OpenForm "FS検索-○○宛名"
DoCmd.openform "F00○○管理一覧"
' DoCmd.Close acForm, "F00○○管理一覧"
If atesaki = "" Then
DoCmd.CancelEvent
Else
DoCmd.FindRecord atesaki & "*"
' DoCmd.OpenForm "F01○○個別表示", wherecondition:="[宛名]='" & Me![宛名] & "'"
End If
End Sub
お役に立ちますかな?
この回答への補足
自作のVBAを転載していただき、ありがとうございます。
めちゃくちゃ初心者なのもので、このVBAに分からない所が何点か
あるので、教えてください。
(1)>[コード].SetFocus
Q.[]はテーブルで作成したフィールドの名前をVBAで使うときに使用するのでしょうか?
Q.SetFocusってどうゆうものなんですか?参考書に記載されていないのですが。。
(2)>If inp <> Me![コード] Then
Q.Me! は何を指しているのですか? Meだけに自分?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
選択したチェックボックスのみ...
-
Accessのフォーム上にレコード...
-
アクセス:フォームを閉じずに...
-
Formからの複数選択抽出条件に...
-
アクセスのフォームのビューが...
-
Access 別フォームへの再クエ...
-
Accessのフォーム画面について
-
Accessのフォームに表示...
-
アクセス非連結フォームのテキ...
-
Accessのメニュー画面
-
ACCESSフォームでのレコード数...
-
他フォームのチェックボックス...
-
フォームがクラシック表示にな...
-
Access2002 フォームを閉じるた...
-
accessの自動更新処理をできな...
-
Accessが不良です
-
アクセスでの項目追加について...
-
access 非連結のサブフォームの...
-
Accessフォームのテキストボッ...
-
ACCESS クエリで重複データを最...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Formからの複数選択抽出条件に...
-
アクセス:フォームを閉じずに...
-
Accessのフォーム上にレコード...
-
選択したチェックボックスのみ...
-
アクセスのフォームのビューが...
-
ACCESSのフォームからデータの...
-
Access 別フォームへの再クエ...
-
アクセスでテーブルの変更内容...
-
accessの自動更新処理をできな...
-
アクセスでの項目追加について...
-
Access フォーム上でコンボボッ...
-
Access2002 フォームを閉じるた...
-
アクセス 0以外をカウントす...
-
帳票フォームに全レコードを表...
-
入力途中の入力した値をすべて...
-
Accessのハイパーリンクのパス...
-
ACCESSで入力フォームをHTMLフ...
-
Accessフォームのテキストボッ...
-
Accessのフォーム画面について
-
「メソッドまたはデータメンバ...
おすすめ情報