[ACCESS/VBA]fetch next array??

Fermé
mk - 23 juil. 2007 à 10:24
 AccessMan - 6 oct. 2008 à 21:41
salut, je debute avec access et vba je voudrai savoir comment utiliser toute les solution d'une requete sql; je m'explique, mon tuteur avait fais un truc de ce genre:
"""""""
Set contact = CurrentDb.OpenRecordset("select * from contact Where refcontact = " & refcontact & ";", , dbOpenDynaset)

form_contact!refcontact = refcontact
form_contact!contact = contact!nomcontact
contact.Close
"""""""

la la requete envoyait une seul ligne, si jamais j'ai :
""""""""""
Set contact = CurrentDb.OpenRecordset("select * from contact ;", , dbOpenDynaset)
""""""""""
comment je pourrait passer de la premier ligne a la deuxieme???? avoir le nom du premier contact et puis du deuxieme

je pense que pour ceux qui programme en vba c asser simple......
A voir également:

1 réponse

Bonjour,

Je ne sais pas si la solution t'interesse toujours, mais si oui je crois que je peux t'éclairer :

Déjà une première astuce pour le SQL : utiliser le générateur de requête (faire créer une requete), tu ajoutes ta table, tu prends ta table contact, et tu cliques sur le signe sigma (somme) en haut du menu

=> tu vois apparaitre une ligne supplémentaire qui est le regroupement

ensuite, en executant la requete, tu devrais récupérer la liste de tous tes contacts sans doublons

Maintenant, pour récupérer le code sql, tu peux passer en mode SQL, et là de mémoire, tu devrais voir l'utilisation du mot clé DISTINCT qui permet de regrouper sur un champ donné, donc tu devrais avoir quelquechose du style :

SELECT DISTINCT NOM FROM contact;

C'est cette requete là que tu devras mettre dans ton recordset.

Ensuite, pour avoir tes contacts, tu n'as plus qu'à parcourir le recordset avec contact.movenext, et le tour est joué :

While (not contact.EOF)


...
...

contact.movenext
Wend
0