cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
11 déc. 2008 à 15:20
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
12 déc. 2008 à 11:33
Hello,
Je veux ajouter des lignes dans un recordset, ca se passe bien, sauf que j'ai la première ligne vide
rsCombi.Open "SELECT * FROM Combinaisons ;", cnxCombi, adOpenDynamic, adLockOptimistic
'ceci ne sert à rien: rsCombi.MoveLast:rsCombi.MoveFirst 'quand pas de rs.AddNew, la première ligne est remplie mais est effacée à chaque nouvelle entrée rsCombi.AddNew
'on remplit la BD avec les paramètres
rsCombi(0) = cbxNameCombi.Text
rsCombi(1) = cbxValCombi.Text
For i = 0 To 8
If txtM(i).Text <> "" Then
rsCombi(i + 4) = txtM(i).Text
Else: rsCombi(i + 4) = " "
End If
Next i
rsCombi.Update
rsCombi.Close
Set rsCombi = Nothing
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 12 déc. 2008 à 11:33
Hello
En fait, je pense ne pas bien avoir expliqué le problème: chaque nouvelle ligne est entrée après chaque nouveau clic, ce qui veut dire que la première ligne est une création d'un recordset (nClick=1), et les suivantes sont des modifications (nClick >1).
En clair, il ne faut pas de rs.AddNew pour la première ligne (contrairement à la doc microsoft), mais par contre, il en faut pour les suivants. Donc un truc du genre marche très bien..
If nClick > 1 Then
rsCombi.MoveLast
rsCombi.AddNew
End If
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 11 déc. 2008 à 21:21
salut,
y'a t'il un ON ERROR avant le code indiqué?
quelle est ta chaine de connexion à la base?
y a t'il des champs attachés à un autre RS ouvert? (datasource)
est-ce de l'ado ou du dao?
base "access"?
ta vue contient bien au moins 12 champs?
quelle version du mdac utilies-tu?
que donne le même code avec juste cette connexion ? :
rsCombi.Open "Combinaisons", cnxCombi
(beaucoup de questions hein )
<hr size="2" width="100%" />Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 12 déc. 2008 à 09:13
Bonjour et merci à tous pour vos réponses
mets ton " rsCombi.AddNew " à la fin du remplissage de ligne au lieu de le mettre au début !
En effet, la première ligne est remplie (comme quand je ne mets pas de rs.AddNew) mais j'ai ensuite un message d'erreur: le champ Combinaisons.1 ne peut contenir la valeur Null car la valeur de la propriété Required pour ce champ est True. Saisissez une valeur dans ce champ, alors que ce champ n'est pas vide
est-ce que la ligne vide provient du SELECT ou du AddNew ?
Du rs.AddNew car la première ligne est bien remplie lorsqu'il n'y a pas de AddNew
y'a t'il un ON ERROR avant le code indiqué?
non
quelle est ta chaine de connexion à la base?
Elle vient d'une boîte de dialogue
y a t'il des champs attachés à un autre RS ouvert? (datasource)
non pas de recordset, mais bien une base ouverte pour lister des champs
est-ce de l'ado ou du dao?
ADO
base "access"?
ACCESS
ta vue contient bien au moins 12 champs?
oui
quelle version du mdac utilies-tu? mdac 2.71
que donne le même code avec juste cette connexion ? :
rsCombi.Open "Combinaisons", cnxCombi Ca donne une première ligne, une deuxième ligne remplie de ce que j'attends mais ca empêche l'update d'une ligne supplémentaire et donne le message suivant: le jeu d'enregistrements suivant ne prend pas en charge la mise à jour. Le type de curseur et le mode de verrouillage sont renseignés comme dans ce code dans la doc.
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 12 déc. 2008 à 09:18
Erratum:
Que donne le même code avec juste cette connexion ? :
rsCombi.Open "Combinaisons", cnxCombi
Ca donne une première ligne vide, une deuxième ligne remplie de ce que j'attends mais ca emp