[ACCESS] dernier enregistrement
santiago69
Messages postés
485
Statut
Membre
-
thegniark -
thegniark -
Salut a tous,
Dans une base access, j'ai une table avec les champs suivants :
Lorsque j'execute une requetes via la commande
Comment faire pour savoir quelle id a ete attribue a cet ajout ?
Merci d'avance
Santiago
--
Il y a 10 types de personnes dans le monde
Ceux qui comprennent le binaire et les autres.
Dans une base access, j'ai une table avec les champs suivants :
id (NumeroAuto) nom (String 50) prenom (String 50)
Lorsque j'execute une requetes via la commande
DoCmd.RunSQL "INSERT INTO matable ( nom, prenom ) VALUES ( ""Diez"", ""Santiago"" );"
Comment faire pour savoir quelle id a ete attribue a cet ajout ?
Merci d'avance
Santiago
--
Il y a 10 types de personnes dans le monde
Ceux qui comprennent le binaire et les autres.
Configuration: Windows XP Firefox 2.0.0.14
5 réponses
-
Salut;
"SELECT COUNT(*)FROM Tatable"
te donne le nombre d'enregistrements et comme tu es en numeroauto.... -
Salut michel_m,
Merci pour ta reponse mais elle ne marche pas dans beaucoup de cas. En effet, avec numeroauto, le meme numero n'est jamais attribue 2 fois. donc si un contact est supprime, il reste un trou. Je peux avoir 10 contacts numerote de 1 a 10. Puis je supprime le contact 6. Je n'ai plus que 9 contacts numerote de 1 a 10. Dans ce cas, on pourrais croire que la requete suivante solutionne le probleme.SELECT MAX(id) FROM matable;
Que nenni, puisque Access peut (avec des lenteurs et des problemes) fonctionner en reseau.
16:27:03 : ordi1 ajoute un contact, l'id est 11
16:27:04 : ordi2 ajoute un contact, l'id est 12
16:27:05 : ordi1 demande quel est le dernier contact ajoute... la requete renvoi 12 :-(
-
re Santiago,
Tout à fait, excuses-moi, je me suis aperçu de ma C.... 1 minute après l'envoi...
je pensais aussi à MAX mais vu ta réponse...(bien que 12 soit bien le dernier enregistrement ? ordi 11 reprensd après la bataille et auras le ? ou alors tu passes en requete avec fonctionnement pessimiste (adlock...): tant que ordi1 n'aura pas fini, ordi2 attendra, mais...)
Donc je sèche
Michel -
C'est pas tres grave, le nombre d'utilisateur etant restreint, je prends tres peu de risque avec Max(id).
Merci quand meme pour ton intervention.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Up de thème car j'ai une petite question qui semble dans les mêmes cordages.
Je travaille sur une application qui touche à des tables Access 2002 via du code VBA. (boulot : j'ai pas choisi)
Je suis tombé sur une requête liée à une table ayant notament comme champs :
DATE ; type(alarmes, Evnt) ; Statut local (réussi, échoué) ; statut réseau (réussi, echoué)
Le développeur a écrit sa requete en VBA comme ça : SELECT LAST "table.DATE" as DernierDeDATE ...
DATE n'est pas une "clé primaire", disons que c'est la combinaison DATE & type qui est une clé primaire. (en gros, j'ai 2 occurences de chaque date)
Je me suis apercu en debug que cela me renvoyait une date totalement aléatoire...
LAST est-il une instructions valable ? J'ai fait un essai avec MAX et ca semble fonctionner... mais dans la théorie, je n'ai pas le droit de toucher au code VBA de l'application.
Des conseils ?
NOTA : Je suis un TRES grand débutant en Access et BDD en général.