プロが教える店舗&オフィスのセキュリティ対策術

Aテーブルを参照している2つのフォームがあります。
Bフォームは、Aテーブルの全内容を表示し、
Cフォームは、特定の項目のみを表示します。
そこで!Cフォームで、詳細を見たいレコードをクリックすると、
Bフォームの該当レコード(全内容)が開かれるようにしたいのですが、
可能なのでしょうか。
VBAは初心者ですが頑張りますので、ぜひ教えてください。

A 回答 (3件)

[コード].SetFocus 


これは「コード」のフィールドにマウスポイント置いてアクティブにします(つまり検索前にコードのフィールドをアクティブにします。)
 フィールド名は[]で指定します。

Me!は検索対象のPage(この場合,vbaの対象が開かれているフォームを指します。)を指定しています。
 べつのフォームを検索するときはフォーム名を指定しなければいけません。

 Excelなどでセルを選択すると太線でセルが表示されますが、そのセルにSetFocusがあるということです。
 フォーカス(カメラの焦点のことをフォーカスといいます 焦点を絞る)を移す時にこのsetfocusを使います

 Accessのヘルプを表示してキーワードに「setfocusメソッド」といれて検索してください。

 一度にVBAを覚えるのは無理ですが少しずつでも覚える姿勢があればはやくマスターできるでしょう。 私だって全部知っている訳ではなく、必要に迫られて作っているだけです。
 Accessの参考書にはいろいろ載っていますが、私は、ほとんどビジュアルベーシックで覚えました。
 ビジュアルベーッシックとAccessのVBAは共通部分がたくさんありますよ。
    • good
    • 0
この回答へのお礼

ご説明ありがとうございます。
マスターできるように頑張ります。

お礼日時:2004/08/20 20:24

 tihitです。



 内容のうち先頭に「'」がついているものはいらない行ですから無視してください。
    • good
    • 0

 私が使っている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だけに自分?

よろしくお願いします。

補足日時:2004/08/19 22:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!