Tri dans une table

Tri dans une table - VB/VBA/VBS - Programmation

Marsh Posté le 04-12-2006 à 10:16:47    

voila j'essaye depuis hier à definir le premier enregistrement d'une table  comme valeure par defaut d'une zone de liste  à l'ouverture du form,et le dernier comme la valeur d'une autre zone de liste la table est la table personne(code_personne...) la zone1 doit avoir le 1er nom et la zone2 le dernier.
voici le code que j'ai fais qui beug:
 
sur ouverture:
 
Set rst = CurrentDb.OpenRecordset("SELECT * from personnee ORDER BY prospect.code_personne" )
    Do Until Clt.EOF
       rst.MoveFirst
        Me.zone1 = Clt!code_client
   
        Clt.MoveLast
        Me.zone2 = Clt!code_client
 Loop

Reply

Marsh Posté le 04-12-2006 à 10:16:47   

Reply

Marsh Posté le 04-12-2006 à 12:44:18    

Bonjour,
Ton recordset c'est rst ou bien clt?
Cordialement

Reply

Marsh Posté le 04-12-2006 à 14:50:18    

La fonction DLookup() peut être utile dans ce cas pour éviter d'avoir à gérer du code VBA alors qu'en fait, on a besoin de ne ramener qu'une valeur, à savoir la clé qui permet de synchroniser la liste.

Reply

Marsh Posté le 04-12-2006 à 14:56:11    

je verrais un truc du genre :
 
Set rst = CurrentDb.OpenRecordset("SELECT * from personnee ORDER BY prospect.code_personne" )  
if not rst.EOF and rst.BOF then
   Me.zone1 = rst("code_client" )
end if
 
    Do while not rst.EOF  
        Me.zone1.add(Clt!code_client)
        Me.zone2.add(Clt!code_client)
        rst.movenext
    loop
 
if not rst.EOF and rst.BOF then
   Me.zone2 = rst("code_client" )
end if


Message édité par MagicBuzz le 04-12-2006 à 14:56:22
Reply

Marsh Posté le 06-12-2006 à 12:37:25    

en faisant
 
 
if(not rst.eof)then
me.zone1=rst!code_client
rst.movelast
me.zone2=rst!code_client
 
end if
rst.close
 
ca marche aussi.merci quand meme

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed