Requête SQL à plusieurs résultats sous VB

Signaler
Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2007
-
Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2007
-
j'sui actuellement en satge de première année de BTS info développement
et j'effectue une requete renvoyant la list des dates de conges prises
par les employé renvoyant donc un jour, un moi et une date (les 3
s'associant) et donc ceci plusieurs fois... voici une partie de mon
prog:

Comment faire pour renvoyer une requete de ce style dans une zone de lsite à trois colonnes???



Private Sub list_nom_suppr_employe_conges_Change()

Dim BDconges As Database

Set BDconges = CurrentDb

Dim Creq_date As DAO.Recordset

Dim req_date As String



req_date = " SELECT JOU_libelle,MOI_libelle,ANN_num " & _

" FROM JOUR,MOIS,EN_CONGES " & _


" WHERE EN_CONGES.JOU_num=JOUR.JOU_num " & _

" AND JOUR.MOI_num=MOIS.MOI_num " & _


" AND EMP_num = " & list_nom_suppr_employe_conges

Set Creq_date = BDconges.OpenRecordset(req_date)

date_conges = Creq_date!JOU_libelle



Creq_date.Close

BDconges.Close

End Sub



jespère que je me suis fai comprednr

merci

@pluch

13 réponses

Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2007

je souhaiterai vraimen de alide SVP...



en passant, la variable date_conges est le nom de ma zone de list en 3
colonne mais ensuite le "date_conges=Creq_date!JOU_libelle" je sai pas
s'il fau mettre tout les champ et dans ce cas comment... je sai pas
trop... éclaircisez moi..
Messages postés
122
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
8 août 2014
1
Quel objet utilises-tu pour afficher cette information ?

Pour info, creq_date (dans ce cas) s'utilise de différentes manières :
creq_date("#NOM DU CHAMP") > donne la valeur du nom du champ
creq_date.#NOM DU CHAMP > donne la valeur du nom du champ
creq_date(#NUMERO DE COLONNE#) > donne la valeur de la colonne spécifiée (0 premier champ, ...)

Dans ton cas je ferais (en zone de liste classique)
Date_Conges.additem creq_date(0) & " " & creq_date(1) & " " & creq_date(2)

Bon courage.
Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2007

merci pour ton aide...

Private Sub list_nom_suppr_employe_conges_Change()

Dim BDconges As Database

Set BDconges = CurrentDb

Dim Creq_date As DAO.Recordset

Dim req_date As String



req_date = " SELECT JOU_libelle,MOI_libelle,ANN_num " & _

" FROM JOUR,MOIS,EN_CONGES " & _


" WHERE EN_CONGES.JOU_num=JOUR.JOU_num " & _

" AND JOUR.MOI_num=MOIS.MOI_num " & _


" AND EMP_num = " & list_nom_suppr_employe_conges

Set Creq_date = BDconges.OpenRecordset(req_date)

date_conges.additem Creq_date(0) & " " & Creq_date(1) & " " & Creq_date(2)



Creq_date.Close

BDconges.Close

End Sub



mais il me met :

Erreur de compilation

Menbre de méthodes ou de données introuvable



et il pointe sur Creq_date(en bleu) et me montre en jaune private...(en orange)



je compren pas ca marchai 2sec il maffichait le tableau, je en change
rien, je rouvre le formulaire et la ca marche plus..........

merci davance
Messages postés
122
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
8 août 2014
1
Vérifie que le résultat renvoyé n'est pas NULL ;

Dans ce cas il faut traiter les informations :

IF NOT ISNULL(Creq_date(2)) then ........

Bonne journée...
Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2007

non j'ai fait une vérification avec isnull et comme les résultat ne sont pas nuls, il me met toujours la meme chose :

Erreur de compilation

Menbre de méthodes ou de données introuvable



et me pointe et met en jaune toujour la meme chose....



je commence à déséspéré..............
Messages postés
122
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
8 août 2014
1
Essaie de l'afficher dans un msgbox (ou dans le debug) avant de le mettre dans ta liste.

PS : ta requete envoie bien 3 champs !

A+
Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2007

je l'ai ai affiché dans un msgbox et tout les résultat saffiche correctement.... mais il me fait toujours la meme chose:



date_conges.Additem Creq_date(0) & " " & Creq_date(1) ' & " " & Creq_date(2)

il me met Creq_date en bleu et pointe en jaune sur le "private sub" de ma procédure....



merci FPatrick d'accorder un peu de temps à mon problème....

TanK
Messages postés
122
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
8 août 2014
1
Dans ce que tu viens d'envoyer il y a un guillement simple en trop ....

Ou cette erreur ...

Pour moi , y a pas de problème
Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2007

Non le guillement javai oublier de le retirer car je voulai mettre la suite en commentaire



mais ca ne amrche pas...



ya t-il un autre moyen sans cette mise en forme avant de mettre les résultat dans une liste avec des colones?

TanK
Messages postés
122
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
8 août 2014
1
Utilise une grid ou msflexgrid; c'est une grille ou tu définits l'affichage de chaque colonne de chaque ligne.

Je te conseille msflexgrid , on peut mettre des couleurs , formaté chaque cellule....

Bon courage
Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2007

peu tu mexpliquer le fonctionnement de msflexgrid et me donner des exemple s'il te plait...

je ne connai pas du tout cela



Merci beaucoup

@+

TanK
Messages postés
122
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
8 août 2014
1
Attention la largeur des informations que tu mets dans la liste (maximum 255 car. je crois).

Sinon pour la grille, il te faut ajouter le composant msflexgrid (Microsoft flexgrid Control 6.0) : on le nommera msflexgrid1

Ensuite :
* tu définis le nombre de colonne avec msflexgrid1.cols (=3)
* tu définis le nombre de ligne avec msflexgrid1.rows (=?) (tu peux faire un ajout au fur et à mesure)
* tu te positionnes sur la colonne et la ligne avec msflexgrid1.row et col (en partant de 0 pour la colonne 1, idem pour les lignes) .

et tu remplies au fur et à mesure ton tableau

PS : tu peux aller encore plus vite en utilisant textarray.

bon courrage
Messages postés
62
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
30 mai 2007

textarray?? explik moi ca STP

(jespèr que jabuz pas de tes infos.....)

TanK