りんご
2022/01/26 (水) 23:02:31
c564b@0e907
どのようなVBAのコードを書けばよろしいのでしょうか。
抽出するコード、登録するコード、例えば、こんな感じになるのかも。最近触ってないのでちょっと怪しいですが。
ただし、フォームのレコードソースを設定したり、クエリの抽出条件にテキストボックスを設定したり、諸々足りていないと動かないので色々ググって下さい。
Public Sub 抽出ボタン()
Me.Requery
End Sub
Public Sub 登録ボタン()
DoCmd.GoToRecord acDataForm,”フォームの名前”,acNewRecord
Me.国語 Me.テキストボックス国語の点数
Me.数学 Me.テキストボックス数学の点数
Me.英語 Me.テキストボックス英語の点数
DoCmd.GoToRecord acDataForm,”フォームの名前”,acNext
End Sub
もしくは
Public Sub 登録ボタン()
DoCmd.OpenQuery “追加クエリの名前”
End Sub
それはさておき、データベースがちゃんとデータベースである為に、Excelの何倍も手間暇をかけて登録する事になるって知っていますか?
取り敢えず、主キーの設定が必要です。例えば、生徒とテスト名と教科が決まると、点数が決まるから、生徒とテスト名と教科を主キーとするなど。
Excelのような通し番号は存在しません。ケースバイケースで並び順は変わります。
そういえば、縦横自由に登録出来るデータベースは無理です。国語、数学、英語の点数を横方向に14,15,16とするのはNGなので、縦方向に登録しましょう。
教科 | 点数 |
---|---|
国語 | 14 |
数学 | 15 |
(新規) |
国語の点数を入力したら、登録ボタンを押して登録。数学の点数を入力したら、登録ボタンを押して登録。英語の点数を入力したら、登録ボタンを押す。エラーが発生、英語が教科として事前登録されていません。英語の点数入力を破棄して、教科として事前登録する為に…
通報 ...
一部修正。