|
▼うらめ さん:
おはようございます。
>このプログラムを利用できればと思うのは 素人考えなのでしょうか?
自分もVBAを覚え始めの頃は(Excelですが)、
ソフトが勝手に作ってくれるコードを真似する事が多かったですね。
ですが、今回のAccess君が作ってくれたコードは
残念ながらかなり時代遅れの書き方になってしまっています。
(Access97以前の書き方です)
DoMenuItem というメソッドは 現在ですと
RunCommand というメソッドに置き換えられています。
以下英語のページですが敬遠なさらずに参考にされて下さい。
http://home.clara.net/tkwickenden/domenuitem.htm
> DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
> DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
> DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70
は恐らく、
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.RunCommand acCmdPasteAppend
と置き換えられると思います。
(動作は未確認です、すみません)
なんとなく英語から理解できそうですよね。
レコードを選んで、コピーして、追加貼り付け…をしています。
さて、ここからが問題なのですが、
> ある一部のフィールドだけ
> 前のレコードの値
という点が問題になってくるため、
残念ながらこのコードは流用できません。
うらめ さんに下記2点をお尋ねします。
1) フォームのレコードソースはどのようになっていますでしょうか。
テーブルの場合:「主キー」は設定していますか?
クエリの場合:「並び順」は設定していますか?
2)「前のレコードの値」というのが少し曖昧なのですが、
・現在のレコードの1つ前
・最終レコードの1つ前
のどちらなのでしょうか。
|
|