|
▼クロ さん:
こんにちは。
>アクセスもプログラムも素人ですが
プログラムをする上で大事なものの一つに、
どういった処理を行えば自分がやりたい結果を導き出せるかを
設計する(ロジックと言ったりします)事があります。
クロさんのロジックはなかなか面白いのですが、一つ残念な事があります。
BeforeUpdate も AfterUpdate も起きない場合
⇒ レコード選択をしたけれど、値を変えなかった場合
こちらについては 変数:kakari に値が入らないため
思ったとおりの動作にならないかと思われます。
もうちょっと考え方を整理して
新規ボタンを押した際に、今までカーソルのあったレコードの
「係」という値を新規レコードの「係」に代入する
という様な流れでは駄目でしょうか。
Private Sub cmd新規レコード追加_Click()
Dim kakari As String
kakari = Me![係]
DoCmd.GoToRecord acDataForm, Me.Name, acNewRec
Me![係] = kakari
End Sub
ただし、こちらですと
> ・mdbファイルをオープンすると、最初のレコードが表示される。
> ・ここで新規レコードを追加のボタンをクリックすると、新しい1001番目の
> レコードに移る。1001番目のレコードのテキストボックスは、すべて何も
> 入力されていない。
という条件が守れなくなってしまいます。
「最初のレコードが表示されている」と状態と、
「ユーザが最初のレコードを選択した」と状態を
判別するのは非常にむずかしいですね。
|
|