2016-06-26 6 views
2

Ich habe Schaltfläche, die Daten in Access 2013 Datenbank bei Klick-Ereignis einlegen wird.Zugriff einfügen Syntax aus dem Formular mit Access 2013

Ist das der richtige Weg, Daten von Access 2013 Formular Textfeld in Insert-Anweisung aufzurufen?

Private Sub EnterDataFrom_Click() 


CurrentDb.Execute "insert into Employee_info" _ 
         & "(First_Name,Father_Name,Last_Name,Mother_Name,birthda0te,Birthplace,Gender,Military_Service,Marital_status,Nationality,National_ID,PhoneNum,EM_phoneNum,Mobile,E-Mail)" _ 
         & "values (me.First_Name,me.Father_Name,me.Last_Name,me.Mother_Name,me.birthdate,me.Birthplace,me.Gender,me.Military_Service,me.Marital_status,me.Nationality,me.National_ID,me.PhoneNum,me.EM_phoneNum,me.Mobile,me.E-Mail);" 


End Sub 

Antwort

0

Ihre Zeichenfolge ist nicht richtig formatiert, um die Werte aus dem Formular zu sammeln. Sie müssen die Werte außerhalb der Zeichenfolge abrufen und verketten. Außerdem sollten Zeichenfolgenwerte, die in Textspalten eingefügt werden, in Apostrophs eingeschlossen werden, wenn sie sich innerhalb einer Zeichenfolgenvariablen befinden.

CurrentDb.Execute "insert into Employee_info" _ 
& "(First_Name,Father_Name,Last_Name,Mother_Name,birthda0te,Birthplace,Gender,Military_Service,Marital_status,Nationality,National_ID,PhoneNum,EM_phoneNum,Mobile,E-Mail)" _ 
& "values('" & me.First_Name & "', '" & me.Father_Name & "', '" & me.Last_Name & "', '" & me.Mother_Name & "', '" & me.birthdate & "', '" & me.Birthplace & "', '" & me.Gender & "', " & me.Military_Service &", '" & me.Marital_status & "', '" & me.Nationality & "', " & me.National_ID & "', '" & me.PhoneNum & "', '" & me.EM_phoneNum & "', '" & me.Mobile & "', '" & me.E-Mail & "');" 

Ich gehe hier davon aus, dass Military_Service und National_ID numerische Spalten sind.

1

Xipooo hat Recht. Im Allgemeinen ist es möglich, Ihre Werteinträge jederzeit zwischen Apostrophen zu verpacken.

Der Grund, warum Ihre Taste funktioniert möglicherweise nicht, dass Sie leere Räume vor Ihrer Zeilenumbrüche vergessen (hinter Employee_info und der schließenden Klammer hinter den Feldern):

CurrentDb.Execute "insert into Employee_info " _ & "(First_Name,Father_Name,Last_Name,Mother_Name,birthda0te,Birthplace,Gender,Military_Service,Marital_status,Nationality,National_ID,PhoneNum,EM_phoneNum,Mobile,E-Mail) " _ & "values('" & me.First_Name & "', '" & me.Father_Name & "', '" & me.Last_Name & "', '" & me.Mother_Name & "', '" & me.birthdate & "', '" & me.Birthplace & "', '" & me.Gender & "', " & me.Military_Service &", '" & me.Marital_status & "', '" & me.Nationality & "', " & me.National_ID & "', '" & me.PhoneNum & "', '" & me.EM_phoneNum & "', '" & me.Mobile & "', '" & me.E-Mail & "');"

(basierend auf früheren Antwort des Xipooo)