2017-07-06 1 views
1

皆、私はAccessとVBAにいくぶん新しく、助けが必要です。私は私のデータベースを持っている問題を把握しようとしている私はそれを保存しようとすると、レコードを分割しようとすると、フォームに入力されたすべてのデータをテーブルに保存すると仮定しています。私はすべてを試みましたが、それを働かせることはできません。アクセス:VBAコードを実行した後のデータは2つのレコードに分割されます

Form for Data entry

だけFYIフォームの自動移入:名前、電話番号及び電子メールをタグ#が入力されたときにIDを入力し、装備されている場合。

How table looks like when submit button is pressed

は、ここで私は、フォームがバインドされていないと仮定し、私のVBAコード

Option Compare Database 

Private Sub Submit_button_Click() 
Dim db As Database 
Dim rec As Recordset 

Set db = CurrentDb 

Set rec = db.OpenRecordset("student_check_out") 

rec.AddNew 
rec("ID") = Me.PID 
rec("Student Name") = Me.Borrower 
rec("Phone") = Me.PHONE 
rec("E-mail") = Me.EMAIL 
rec("Tag #") = Me.Tag 
rec("Equipment") = Me.Equipment 
rec("Class") = Me.Class 
rec("CDL Staff") = Me.CDL_Staff 
rec("Check Out Date") = Me.Check_Out_Date 
rec.Update 
rec.Close 

DoCmd.Close acForm, "Students" 

End Sub 
+0

これらのフィールドは、テーブルにバインドされているように見えます(レコードセレクタの編集マークで確認できます)。送信ボタンを押さずに情報を入力してフォームを閉じるとどうなりますか? –

+0

これがバインドされたフォームの場合、送信ボタンは必要ありません。データは自動的に保存されます。 –

+0

1.テーブル/クエリ/フォームをクローズするか、2.別のレコードに移動する、または3.保存するコードを実行すると、データが保存されます。 Kostas K.が述べたように、データはバインドされたコントロールからバインドされたフォームから自動的に保存されます。名前の部分は、FirstName、LastName、MidNameの各フィールドに分かれていなければなりません。名前にスペースまたは句読点/特殊文字(アンダースコアのみの例外)をアドバイスしない。 TagNumまたはTag_NumとEMailまたはE_Mailが良いでしょう。また、名前として予約語(Dateなど)もありません。私はTagが予約語であることを期待していただろうが、それは私が見たリストにはない。 – June7

答えて

0

です。 「クラス」は予約語です(コードでは「青色」にハイライト表示されています)。 "Class_"や "Class1"などであっても、テキストボックスの名前を変更してください。

関連する問題