Ceci est le code:
sqlStr = "INSERT INTO Students (ID, Last Name, First Name, E-mail Address, Student ID, Level, Date of Birth, Home Phone, Address, City, State/Province) VALUES ('" & ID.Value & "','" & lastName.Value & "','" & firstName.Value & "','" & email.Value & "','" & studentID.Value & "','" & birthday.Value & "','" & phone.Value & "','" & address.Value & "','" & city.Value & "','" & state.Value & "');" DoCmd.RunSQL sqlStr
5 Réponses :
Essayez ceci:
sqlStr = "INSERT INTO Students (ID, [Last Name], [First Name], [E-mail Address], [Student ID], Level, [Date of Birth], [Home Phone], Address, City, [State/Province]) VALUES ('" & ID.Value & "','" & lastName.Value & "','" & firstName.Value & "','" & email.Value & "','" & studentID.Value & "','" & birthday.Value & "','" & phone.Value & "','" & address.Value & "','" & city.Value & "','" & state.Value & "');"
Essayé, obtenant toujours la même erreur
Vous aurez besoin de supports carrés entourant des champs avec des espaces ou des caractères spéciaux, par exemple: également, à moins que tous vos champs sont des champs de texte, vous devez représenter correctement les valeurs. Selon le type de données - par exemple, si date de naissance code> est un champ de date (comme il devrait être), la valeur de date doit être fournie dans le format: p>
Les noms des champs avec des espaces doivent être fermés entre les crochets Sqaure et vérifier le type de données de vos valeurs. De plus, vous devez utiliser un seul devis (') dans votre varchar .values. ALORS P> DoCmd.RunSQL (sql_qry)
Vous pouvez ouvrir la table et insérer l'enregistrement directement sans construire l'instruction SQL.
Dim rs as dao.recordset set rs = Currentdb.tabledefs("Students").openrecordset Rs.addnew ' both rs(fieldname) and rs!fieldName would work Rs("ID") = id Rs![Last Name] = lastName rs![First Name] = rs![E-mail Address]= rs![Student ID]= rs!Level= rs![Date of Birth]= rs![Home Phone]= rs!Address= rs!City= rs![State/Province]= Rs.update Rs.close Set rs = nothing
... et des problèmes de mise en forme de SQL Injection et de données!
Vous définissez 11 champs pour insérer, mais donner seulement 10 valeurs.
Vous n'avez pas de valeur du niveau code>
L'argument de niveau est-il manquant dans les valeurs?
Oui c'était, c'était définitivement une partie du problème
Pourquoi marquer Excel?
Quelle est l'erreur? Vous insérez toutes les valeurs sous forme de texte qui, espérons-le, n'est pas correct.