AFFICHER LES CHAMPS D'UNE REQUETE HORIZONTALEMENT

Le
ralyka
On 7 mai, 09:08, ze Titi <ze_titi_enlever-c@tiscali.fr> wrote:
> Helloralyka!
>
> Modifie ta requête pour y intégrer la fonction de Jessy proposée ic=
i:http://access.fr.free.fr/articles.php?lng=fr&pg=45
>
> En ce jour mémorable du dimanche 06/05/2007, tu as entrepris la lourde
> tâche de taper sur ton clavier :
>
>
>
>
>
> > Bonjours à tous et à toutes.
>
> > J'ai une base de données de gestion d'une école.
>
> > J'ai un état de "bulletin de résultats" pour chaque étudiant.
>
> > Tout marche bien sauf que:
>
> > Details:
> > [INTITULE DU COURS]
> > [ENSEIGNANT]
>
> > Si le cours a plusieurs différents enseignants, mon etat affiche
> > CHAQUE enseignant sur une ligne ce qui rend mon état beucoup trop
> > grand.
>
> > Comment faire pour que chaque enseignant soit affiché l'un à coté=
de
> > l'autre?
>
> > Merci infiniment!
>
> > Très bon dimanche d'éléction à vous tous.
>
> >Ralyka
>
> --
> Cordialement,
> Ze Titi
>
> Tout pour réussir avec Access :http://www.mpfa.info- Masquer le texte d=
es messages précédents -
>
> - Afficher le texte des messages précédents -

Bonjour Ze Titi,

Merci de ta réponse.

Je viens de passer la matinée sur le problème et je n'ai pas réussi =
à
le résoudre. :-(

J'ai crée la rêquete:

SELECT R_FORMATION_ENSEIGNANTS.ID_FORMATION_DETAILS,
ConcatForQuery("ID_FORMATION_DETAILS",
[ID_FORMATION_DETAILS],"P_NOM","R_FORMATION_ENSEIGNANTS"," - ") AS
Résultat
FROM R_FORMATION_ENSEIGNANTS
GROUP BY R_FORMATION_ENSEIGNANTS.ID_FORMATION_DETAILS;

J'ai crée le module:

Function ConcatForQuery(strRegroup As String, fldRegroup As String, _
strConcat As String, strTable As String, _
Optional strSep As String = "/") As String

'** Regroupement de donnée sur le champ fldRegroup
'** et concaténation sur le champ strConcat
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strResult As String
Dim strRst As String

Set db = CurrentDb()
strRst = "Select * From [" & strTable & "] " _
& "Where [" & strRegroup & "] = """ & fldRegroup & """;"

Set rst = db.OpenRecordset(strRst, dbOpenDynaset)
With rst
If Not .BOF Then
.MoveFirst
Do Until .EOF
If strResult = "" Then
strResult = .Fields(strConcat)
Else
strResult = strResult & strSep & .Fields(strConcat)
End If
.MoveNext
Loop
End If
End With
rst.Close: Set rst = Nothing
db.Close: Set db = Nothing
ConcatForQuery = strResult

End Function

Quand j'éxécute ma rêquete il a le message d'erreur:

"types de données incompatibles dans l'expression du critère"

sur la ligne:

Set rst = db.OpenRecordset(strRst, dbOpenDynaset)

Je vois bien que c'est parce que j'utilise un numéro auto pour le
régroupement mais il n'y a aucun autre champ où je puisse regrouper
car ID_FORMATION_DETAILS correspond au numéro du cours qui pourrait
contenir plusieurs enseignants que j'aimerais regroupper sur une seule
ligne

Peux-tu m'aider?

Merci!!!!!!!!!!!!

Ralyka
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thierry (ze Titi)
Le #6293431
Bonjour ralyka

Wahouu, ça date tout ça !

Je me suis permis (pardon à Jessy pour la liberté prise...) de modifier la fonction pour y inclure le fait que le critère de regroupement pouvait être une valeur numérique.
Il m'avait suffi de modifier légèrement la création de la requête intermédiaire:

strRst = "Select * From [" & strTable & "] " _
& "Where [" & strRegroup & "] = " & IIf(IsNumeric(fldRegroup), fldRegroup, """ & fldRegroup & """) & ";"

Bien sûr, c'est à tester. Ca avait fonctionné chez moi, ça ne veut pas dire que ça soit parfait pour autant...

On 7 mai, 09:08, ze Titi
Helloralyka!

Modifie ta requête pour y intégrer la fonction de Jessy proposée
ici:http://access.fr.free.fr/articles.php?lng=fr&pgE

En ce jour mémorable du dimanche 06/05/2007, tu as entrepris la lourde
tâche de taper sur ton clavier :





Bonjours à tous et à toutes.

J'ai une base de données de gestion d'une école.
J'ai un état de "bulletin de résultats" pour chaque étudiant.
Tout marche bien sauf que:

Details:
[INTITULE DU COURS]
[ENSEIGNANT]

Si le cours a plusieurs différents enseignants, mon etat affiche
CHAQUE enseignant sur une ligne ce qui rend mon état beucoup trop
grand.

Comment faire pour que chaque enseignant soit affiché l'un à coté de
l'autre?

Merci infiniment!

Très bon dimanche d'éléction à vous tous.
Ralyka


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :http://www.mpfa.info- Masquer le texte des
messages précédents -

- Afficher le texte des messages précédents -


Bonjour Ze Titi,

Merci de ta réponse.

Je viens de passer la matinée sur le problème et je n'ai pas réussi à
le résoudre.... :-(

J'ai crée la rêquete:

SELECT R_FORMATION_ENSEIGNANTS.ID_FORMATION_DETAILS,
ConcatForQuery("ID_FORMATION_DETAILS",
[ID_FORMATION_DETAILS],"P_NOM","R_FORMATION_ENSEIGNANTS"," - ") AS
Résultat
FROM R_FORMATION_ENSEIGNANTS
GROUP BY R_FORMATION_ENSEIGNANTS.ID_FORMATION_DETAILS;

J'ai crée le module:

Function ConcatForQuery(strRegroup As String, fldRegroup As String, _
strConcat As String, strTable As String, _
Optional strSep As String = "/") As String

'** Regroupement de donnée sur le champ fldRegroup
'** et concaténation sur le champ strConcat
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strResult As String
Dim strRst As String

Set db = CurrentDb()
strRst = "Select * From [" & strTable & "] " _
& "Where [" & strRegroup & "] = """ & fldRegroup & """;"

Set rst = db.OpenRecordset(strRst, dbOpenDynaset)
With rst
If Not .BOF Then
.MoveFirst
Do Until .EOF
If strResult = "" Then
strResult = .Fields(strConcat)
Else
strResult = strResult & strSep & .Fields(strConcat)
End If
.MoveNext
Loop
End If
End With
rst.Close: Set rst = Nothing
db.Close: Set db = Nothing
ConcatForQuery = strResult

End Function

Quand j'éxécute ma rêquete il a le message d'erreur:

"types de données incompatibles dans l'expression du critère"

sur la ligne:

Set rst = db.OpenRecordset(strRst, dbOpenDynaset)

Je vois bien que c'est parce que j'utilise un numéro auto pour le
régroupement mais il n'y a aucun autre champ où je puisse regrouper
car ID_FORMATION_DETAILS correspond au numéro du cours qui pourrait
contenir plusieurs enseignants que j'aimerais regroupper sur une seule
ligne...

Peux-tu m'aider?

Merci!!!!!!!!!!!!

Ralyka


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info



ralyka
Le #6293421
On 9 juil, 13:57, Thierry (ze Titi) wrote:
Bonjour ralyka

Wahouu, ça date tout ça !

Je me suis permis (pardon à Jessy pour la liberté prise...) de modifi er la fonction pour y inclure le fait que le critère de regroupement pouv ait être une valeur numérique.
Il m'avait suffi de modifier légèrement la création de la requête intermédiaire:

strRst = "Select * From [" & strTable & "] " _
& "Where [" & strRegroup & "] = " & IIf(IsNumeric(fldRegroup), fldRegroup, """ & fldRegroup & """) & ";"

Bien sûr, c'est à tester. Ca avait fonctionné chez moi, ça ne veu t pas dire que ça soit parfait pour autant...






On 7 mai, 09:08, ze Titi
Helloralyka!

Modifie ta requête pour y intégrer la fonction de Jessy proposée
ici:http://access.fr.free.fr/articles.php?lng=fr&pgE

En ce jour mémorable du dimanche 06/05/2007, tu as entrepris la lour de
tâche de taper sur ton clavier :

Bonjours à tous et à toutes.

J'ai une base de données de gestion d'une école.
J'ai un état de "bulletin de résultats" pour chaque étudiant.
Tout marche bien sauf que:

Details:
[INTITULE DU COURS]
[ENSEIGNANT]

Si le cours a plusieurs différents enseignants, mon etat affiche
CHAQUE enseignant sur une ligne ce qui rend mon état beucoup trop
grand.

Comment faire pour que chaque enseignant soit affiché l'un à cot é de
l'autre?

Merci infiniment!

Très bon dimanche d'éléction à vous tous.
Ralyka


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :http://www.mpfa.info-Masquer le texte des
messages précédents -

- Afficher le texte des messages précédents -


Bonjour Ze Titi,

Merci de ta réponse.

Je viens de passer la matinée sur le problème et je n'ai pas réus si à
le résoudre.... :-(

J'ai crée la rêquete:

SELECT R_FORMATION_ENSEIGNANTS.ID_FORMATION_DETAILS,
ConcatForQuery("ID_FORMATION_DETAILS",
[ID_FORMATION_DETAILS],"P_NOM","R_FORMATION_ENSEIGNANTS"," - ") AS
Résultat
FROM R_FORMATION_ENSEIGNANTS
GROUP BY R_FORMATION_ENSEIGNANTS.ID_FORMATION_DETAILS;

J'ai crée le module:

Function ConcatForQuery(strRegroup As String, fldRegroup As String, _
strConcat As String, strTable As String, _
Optional strSep As String = "/") As String

'** Regroupement de donnée sur le champ fldRegroup
'** et concaténation sur le champ strConcat
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strResult As String
Dim strRst As String

Set db = CurrentDb()
strRst = "Select * From [" & strTable & "] " _
& "Where [" & strRegroup & "] = """ & fldRegroup & """;"

Set rst = db.OpenRecordset(strRst, dbOpenDynaset)
With rst
If Not .BOF Then
.MoveFirst
Do Until .EOF
If strResult = "" Then
strResult = .Fields(strConcat)
Else
strResult = strResult & strSep & .Fields(strConcat)
End If
.MoveNext
Loop
End If
End With
rst.Close: Set rst = Nothing
db.Close: Set db = Nothing
ConcatForQuery = strResult

End Function

Quand j'éxécute ma rêquete il a le message d'erreur:

"types de données incompatibles dans l'expression du critère"

sur la ligne:

Set rst = db.OpenRecordset(strRst, dbOpenDynaset)

Je vois bien que c'est parce que j'utilise un numéro auto pour le
régroupement mais il n'y a aucun autre champ où je puisse regrouper
car ID_FORMATION_DETAILS correspond au numéro du cours qui pourrait
contenir plusieurs enseignants que j'aimerais regroupper sur une seule
ligne...

Peux-tu m'aider?

Merci!!!!!!!!!!!!

Ralyka


--
Cordialement,
Thierry

Tout pour réussir avec Access :http://www.mpfa.info- Masquer le texte d es messages précédents -

- Afficher le texte des messages précédents -


ça marche merveilleusement bien! Parfait! Grandieuse! Merci merci
merci!!!!!!!!!!!!!!!!!!!"
:-D




Publicité
Poster une réponse
Anonyme