使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
試してみました。症状再現しました。
Me.Recordset.AddNew
が原因ですね。
最終行(新規行)のフィールドをクリックすれば、新規行へ移動するのに、わざわざ、
Me.Recordset.AddNew
する必要性はまったくないと思いますが。
VBAでレコード移動させると、レコード移動イベントは発生しません。
なんの為にこの処理を記述しているのですか。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
分割フォームを利用しています。
現在選択中のレコードのあるフィールドから、別のレコード上の別フィールドをクリックしたとき、クリックしたフィールドではなく、新しいレコード上の元のフィールドが選択状態になり、レコードは移動しているのにCurrentイベントは発生していません。
同じフィールドの別の行をクリックしたときはCurrentイベントが発生しました。
Currentイベントが発生するようにするにはどうすればいいでしょうか。
使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
質問作成者が受け入れた回答
試してみました。症状再現しました。
Me.Recordset.AddNew
が原因ですね。
最終行(新規行)のフィールドをクリックすれば、新規行へ移動するのに、わざわざ、
Me.Recordset.AddNew
する必要性はまったくないと思いますが。
VBAでレコード移動させると、レコード移動イベントは発生しません。
なんの為にこの処理を記述しているのですか。
hatena19 さん、アドバイスありがとうございます。
ふるふる さん、こんにちは。
今回は hatena19 さんよりいただいたアドバイスがズバリ参考となったようですね。
同じような問題でお悩みの方にもご参考になるよう、今回は私の方で \[回答としてマーク\] をいたしました。
ふるふる さんの方でも参考になったと思ったら次回は [回答としてマーク] をしてみてくださいね。
次回もぜひ Answers をご利用ください。
フォームには[新規]ボタンがあり、新規レコードの作成は、[新規]ボタンから開始します。
既存のレコードの場合、キー項目は編集不可にするのですが、[新規]ボタンを押さないと編集可能にならないようにしていました。
単にLockedをFalseに変えればよかったですね。 [新規]ボタンの処理から移す時にAddNewも引き継いだためです。
AddnewをやめてLockedの変更のみにしてみます。
分割フォームで、Form_Currentイベントに、以下の処理を書きます。
Private Sub Form_Current()
If Me.CurrentRecord > DCount("ID", "テーブル名") Then
Me.Recordset.AddNew
Else
End If
End Sub
一度、データシートの最終行のフィールドをクリックし、別の行でクリックしてからもう一度最終行でクリックするとクリックしたフィールドへ移動しません。
Currentイベント内で、Debug.Print でカレントイベントに入っているか確認すると、入っていません。
これで再現できると思います。
よろしくお願いします。
なかなか返信がつかないようですね。
ちょっと当方の環境(Win7 Access2007)で確認してみましたが、再現できませんでした。
分割フォームでどのフィールドをクリックしてもCurrentイベントは発生しました。
新規にフォームを作成、あるいは、新規ACCDBから作成しても、症状が再現しますか。
再現する手順を具体的に提示してもらえますか。