cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
29 juin 2011 à 14:58
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
1 juil. 2011 à 14:44
Salut
Je veux ajouter une ligne dans un recordset, mais elle apparaît n'importe où selon la DB.
Le rs.Movelast ne sert à rien
Public Sub AjoutRow()
NameCol = frmDico.MGrid.DataField(0, frmDico.MGrid.Col)
On Error GoTo err
' le type de curseur ne change rien rs.CursorType = adOpenForwardOnly
rs.LockType = adLockOptimistic
rs.Open "SELECT * FROM " & nameTable & " ", cnx, adOpenDynamic
rs.MoveLast
rs.AddNew
'ceci ajoute quelque chose dans les champs
For j = 0 To (rs.Fields.Count - 1)
rs.Fields(j) = ""
Next j
rs.Update
rs.Close
GoTo fin
err: MsgBox "Erreur d'ajout de rang"
fin: End Sub
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 30 juin 2011 à 08:35
Hello
C'est ACCESS
Sans clé primaire ni critère de tri, ce sont des tables très réduites dont chaque cellules est indépendantes des autres et pour utilisateur inexpérimenté en ACCESS.
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 30 juin 2011 à 09:16
Bonjour,
Quand tu supprimes des enregistrements, tu laisses un "trou" dans la table.
Access comme tout SGBD réutilises ces "trous" pour ajouter de nouveaux enregistrements.
Il est donc normal que la position de l'enregistrement soit "aléatoire" si tu ne mets aucun critère de tri (ORDER BY).
Le plus simple serait un champ auto incrémenté, si ta base de données n'est pas marquée comme réplicable (car dans ce cas, les numéros auto sont aléatoires).
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 20131 30 juin 2011 à 11:05
Merci
j'avais déjà essayé un ORDER BY mais rien n'est trié et l'ajout est toujours aléatoire
j'ai une table avec un champ ID auto-incrémenté, mais ca provoque une erreur quand j'ajoute une ligne, donc pas d'ajout
Vous n’avez pas trouvé la réponse que vous recherchez ?