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で質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
アクセスのフォームのビューが...
-
アクセスでテーブルの変更内容...
-
Accessのフォーム上にレコード...
-
ACCESSで入力フォームをHTMLフ...
-
Accessのフォームで作業領域を...
-
アクセスでの項目追加について...
-
Access2002 フォームを閉じるた...
-
選択したチェックボックスのみ...
-
帳票フォームに全レコードを表...
-
Access 別フォームへの再クエ...
-
access 非連結のサブフォームの...
-
ACCESSでテーブルから選択,表示...
-
カタログをリンクさせる方法
-
ADOでRecordsetオブジェクトを...
-
Accessのフォーム画面でスクロ...
-
アクセス非連結フォームのテキ...
-
アクセス2003サブフォームで選...
-
MS-Access レコードセレクタの...
-
Accessのフォームに表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
選択したチェックボックスのみ...
-
アクセスのフォームのビューが...
-
ACCESSで入力フォームをHTMLフ...
-
Accessのフォーム上にレコード...
-
Access 別フォームへの再クエ...
-
Accessフォームのテキストボッ...
-
accessの自動更新処理をできな...
-
「メソッドまたはデータメンバ...
-
アクセスでテーブルの変更内容...
-
アクセスでの項目追加について...
-
Accessのフォームで作業領域を...
-
Access フォーム上でコンボボッ...
-
アクセス 0以外をカウントす...
-
ACCESSの表形式で、レコードを...
-
Accessのハイパーリンクのパス...
-
ADOでRecordsetオブジェクトを...
-
Access2002 フォームを閉じるた...
-
ACCESSで、フォームのレコード...
-
Access runtimeでテーブル、ク...
おすすめ情報