Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトル「No12249.サブフォームにフォーカスがあるときファンクションキーを押したときの処理」の続き
記事No42702
投稿日: 2011/09/19(Mon) 00:56
投稿者Tkit
解決済: ON
OS:Windows 7 (64bit)
Access Version:2003

タイトルのNo12249さんとほとんど同じ問題で、
メインフォームとサブフォームがあり、メインフォームのイベントに

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyF1
 call 照会_cmd
Case vbKeyF2
 call 抽出_cmd
Case vbKeyF3
 call クリア_cmd
Case vbKeyF4
 call 更新_cmd
End Select
End Sub

のよに記述して、各ファンクションキーが押されると、各処理を実行するようにしています。

また、フォーカスがサブフォームにあるときに、ファンクションキーが押されるとメインフォームの処理を実行するようサブフォームのキークリック時イベントプロシージャに

   Call Me.Parent.Form_KeyDown(KeyCode, Shift)

を記述し、キーボードイベント取得プロパティは「はい」にしています。
サブフォームはデータシート形式です。

これで、ファンクションキーを押すと
「アプリケーション定義またはオブジェクト定義のエラーです。」(エラー2465)
が表示されてしまいます。

これを解決する方法を教えて下さい。
よろしくお願いします。

タイトルRe: 「No12249.サブフォームにフォーカスがあるときファンクションキーを押したときの処理」の続き
記事No42703
投稿日: 2011/09/19(Mon) 01:39
投稿者sai
解決済: ON
> Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Public Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

って事かな?

タイトルRe^2: 「No12249.サブフォームにフォーカスがあるときファンクションキーを押したときの処理」の続き
記事No42704
投稿日: 2011/09/19(Mon) 07:25
投稿者Tkit
解決済: ON
> > Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
> Public Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
>
> って事かな?

御回答ありがとうございます。

Public Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
でやってみましたが、結果は同じで、エラー2465が出ます。

タイトルRe^3: 「No12249.サブフォームにフォーカスがあるときファンクションキーを押したときの処理」の続き
記事No42705
投稿日: 2011/09/19(Mon) 10:19
投稿者Moko
解決済: ON
> > > Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
> > Public Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
> > 
> > って事かな?
> 
> 御回答ありがとうございます。
> 
> Public Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
> でやってみましたが、結果は同じで、エラー2465が出ます。

親フォームの方を Public にするんですよ。

タイトルRe^4: 「No12249.サブフォームにフォーカスがあるときファンクションキーを押したときの処理」の続き
記事No42706
投稿日: 2011/09/19(Mon) 12:13
投稿者Tkit
解決済: ON
> > > > Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
> > > Public Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
> > >
> > > って事かな?
> >
> > 御回答ありがとうございます。
> >
> > Public Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
> > でやってみましたが、結果は同じで、エラー2465が出ます。
>
> 親フォームの方を Public にするんですよ。

解決しました!!!
saiさん、Mokoさん本当にありがとうございました。

また、Publicの意味がなんとなくわかりました。心から感謝します。ありがとうございました。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る