Bonjour,Accès INSERT INTO - à quelques paramètres. attendu 2
J'ai un problème avec une instruction INSERT dans VBA. Chaque fois que j'essaie d'insérer un nouvel enregistrement dans la table via l'entrée du formulaire, j'obtiens une erreur. Erreur d'exécution '3061': Trop peu de paramètres. Prévu 2.
Et c'est le VBA derrière cela.
Private Sub Command242_Click()
Dim dbs As Database
' Modify this line to include the path to Northwind
' on your computer.
Set dbs = CurrentDb
'Testing purpose
Me.cbPenalty1 = 0
Me.cbOwnGoal1 = 0
' Create a new record in the tblMatchPlayer table.
' Query saved the player who scored with values in a new row, linked with MatchID & PlayerID.
'Testing purpose MsgBox - DELETE WHEN WORKS!!
MsgBox " INSERT INTO tblMatchPlayer " _
& "(MatchID, PlayerID, SubstituteID, PositionID, Surname, ScoreTime, RedCards, YellowCards, Substitude, Penalty, OwnGoal, Assist) VALUES " _
& "(" & Me.MatchID & ", '', '', '', " & Me.cmScoreName1 & ", " & Me.tbScoreTime1 & ", '', '', '', " & Me.cbPenalty1 & ", " & Me.cbOwnGoal1 & ", " & Me.cmAssist1 & ");", vbOKOnly, "Query Show"
'Actual INSERT
dbs.Execute " INSERT INTO tblMatchPlayer " _
& "(MatchID, PlayerID, SubstituteID, PositionID, Surname, ScoreTime, RedCards, YellowCards, Substitude, Penalty, OwnGoal, Assist) VALUES " _
& "(" & Me.MatchID & ", '', '', '', " & Me.cmScoreName1 & ", " & Me.tbScoreTime1 & ", '', '', '', " & Me.cbPenalty1 & ", " & Me.cbOwnGoal1 & ", " & Me.cmAssist1 & ");"
dbs.Close
End Sub
Lorsque les pop-ups MsgBox jusqu'à me montrer de la requête, il va écrire dans le tableau que je reçois ces résultats.
INSERT INTO tblMatchPlayer (MatchID, PlayerID, substituteID, PositionID, Nom, ScoreTime, RedCards, YellowCards, Substitude, Pénalité, OwnGoal, Assist) VALUES (29, '', '', '', Grozema, 34 , '', '', '', 0, 0, Bruins);
Je ne vois rien de mal avec cette requête d'insertion .. cependant VBA semble penser qu'il manque certains paramètres mais je ne sais pas quels paramètres.
Les champs de ma table sont comme ceci.
- MatchPlayerID - Autonumber
- MatchID - Nombre
- PlayerID - Nombre
- SubstituteID - Nombre
- PositionID - Nombre
- Nom - Texte
- ScoreTime - Texte
- RedCards - Texte
- YellowCards - Texte
- Substitude - Texte
- Pénalité - Oui/Non
- OwnGoal - Oui/Non
- Assist - Texte
Pouvez-vous les gars me aider?
Cordialement, Patrick
Accepte-t-il des valeurs nulles? –
Voulez-vous dire le champ vide? ou voulez-vous dire les champs Oui/Non? – PatrickStel
Vous faites probablement une faute de frappe avec ce champ: 'OwnGoals'. Dans votre requête, vous avez 'OwnGoal' - sans s. Aussi, je ne suis pas sûr si vous pouvez donner la chaîne vide '' '' comme un champ 'PlayerID' s'il est de type Number (la même chose avec d'autres champs, ie' SubstituteID') - peut-être essayer de le changer à 0 au lieu de chaîne vide. – mielk