Bonjour,
Je souhaite récupérer dans le jeu de résultat de ma requête sous access le numéro de la ligne.J'ai pas trouvé la fon
Exemple
1 Paris 75000
2 Rouen 76000
...
merci
Bonjour,
Je souhaite récupérer dans le jeu de résultat de ma requête sous access le numéro de la ligne.J'ai pas trouvé la fon
Exemple
1 Paris 75000
2 Rouen 76000
...
merci
Salut a toi,
presente un peu les tables sur lesquelles s'effectuent ta requete...
presentee comme ca, ta question est un peu difficile a comprendre...
En faite je cherche a trouver une fonction Access pour trouver le numéro de ligne du jeu de résultat.
J'espère avoir été en peu plus clair.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT [fonction pour trouver le numéro de ligne],Nom,CP FROM VILLE
Bonjour
Tu es nouveau sur ce forum, alors je vais t'aiguiller.
Il existe une fonction que s'appelle recherche, on tape "numéroter" comme critère et on peut tomber sur quelque chose comme cela :http://www.developpez.net/forums/sho...ht=num%E9roter
Starec
Bonjour,Ben la fonction n'existe pas il faut la créer de toute pièce je crois.Envoyé par cocobelleoeil
La méthode que je vais anticiper n'est pas l'une des plus orthodoxes, mais fonctionne quand même (mais je ne garantis pas la performance = vitesse).
Elle consiste à :
Step 1
Créer au préalable une table "modèle" qui va acceuillir les enregsitrements. Cette table aura comme champs: Num, Nom, CP. Num est un champ NuméroAuto (tu verras pourquoi)
Step 2
Le code sera décomposé comme suit:
- suppression de la table temporaire
- duplication de la table modèle en lui attribuant le nom de la table temporaire
- insertion (ajout) des enregistrements résultant de la SELECT dans la table temporaire
Et c'est la table "temporaire" qu'il faut consulter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 On Error Resume Next DoCmd.DeleteObject acTable, "temporaire" DoCmd.CopyObject , "temporaire", acTable, "modèle" DoCmd.RunSQL "INSERT INTO temporaire ( Nom, CP ) SELECT Ville.Nom, Ville.CP FROM Ville;"
Je te précise que ce n'est pas la seule méthode et elle est loin d'être parfaite.
Bon courage et @+
Ou bien en se basant toujours sur l'utilisation d'une autre table (temporaire), il suffit de parcourir le contenu du jeu d'enregistrements de la requête et copier chaque enregistrement en le numérotant. Ci-dessous le code:
Bien sûr, tbl = temporaire contient les champs Num (Pas NuméroAuto!), Nom et CP.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Sub Numéroter() Dim db As DAO.Database, rs As DAO.Recordset, tbl As DAO.Recordset Dim x As Long Set db=CurrentDb Set rs=db.OpenRecordset("SELECT Nom, CP FROM Ville;",dbOpenDynaset) Docmd.RunSQL "DELETE * FROM temporaire;" Set tbl=db.OpenRecordset("temporaire",dbOpenDynaset) With rs If .RecordCount<>0 Then .MoveFirst Do While Not .EOF x=x+1 tbl.AddNew tbl.Fields(0)=x tbl.Fields(1)=.Fields(0) tbl.Fields(2)=.Fields(1) tbl.Update .MoveNext DoEvents Loop End If tbl.Close .Close End With Set tbl=Nothing Set rs=Nothing Set db=Nothing End Sub
J'espère t'avoir donné quelques idées, alors bon courage et @+
Merci pour toute vos réponses.
Je pensais qu'il pouvait exister une fonction directement utilisable depuis le SQL Access.
Je vais donc me tourner vers la solution de table temporaire avec l'ajout d'une colonne de numérotation automatique.
Merci encore
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager