Bonjour à tous,
J'ai une petite question d'ordre pratique. Peut-on dans un état access affiché les enregistrement en colonne et non en ligne?
ex : Parcelle 25 26 27 ...
au lieu de Parcelle 25
26
27
Merci à tous pour votre participation.![]()
Bonjour à tous,
J'ai une petite question d'ordre pratique. Peut-on dans un état access affiché les enregistrement en colonne et non en ligne?
ex : Parcelle 25 26 27 ...
au lieu de Parcelle 25
26
27
Merci à tous pour votre participation.![]()
Bonjour,
Ne peux-tu modifier la source actuelle pour que les enregistrements soient organisés dans la structure que tu souhaites imprimer.Peut-on dans un état access affiché les enregistrement en colonne
Et pour l'etat en colonne en fait tu me dis qu'il faudrait que j'ai une table du genre : N° de parcelle1, N° de parcelle2,...
Pour ensuite faire apparaitre dans un état une case texte avec "=[N° de parcelle1] & " et " & [N° de parcelle2] & ... ? est-ce bien ca? Car si c'est ca, ce n'est pas se que je souhaite en premier lieu mais si aucune solution existe j'y avait bien pensé.
Merci
J'ai essayé l'analyse croisée, ca me permettrai de faire ce que je veux mais le souci est ailleurs. Comment je fais pour afficher tous les resultats dans un état car les colonnes change tout le temps.
Exemple:
Section 12 14 16
BZ 12
BH 14 16
Les numeros change en fonction des données entrées donc je ne sais pas comment monter mon état après ca.
Merci
Essaie de voir la source de cafeineça peut être une idée
Bonjour,
Je reviens avec ma proposition de recourir à une fonction.
Dans l’exemple annexé, j’ai supposé :
une table1 avec [Niveau1] : parcelle, Bz, BH et [Niveau2] avec leurs valeurs
Voici une fonction qui va aligner les valeurs [Niveau2] pour un [Niveau1] donné :
Voici la requête source de l’état souhaité :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public Function MiseEnColonne(Niveau1 As String) As String Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("SELECT Niveau2 FROM Table1 WHERE (((Niveau1)=""" _ & Niveau1 & """));") MiseEnColonne = Niveau1 & " : " Do Until rs.EOF MiseEnColonne = MiseEnColonne & rs("Niveau2") & " " rs.MoveNext Loop End Function
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT Table1.Niveau1, MiseEnColonne([Niveau1]) AS Expr1 FROM Table1 GROUP BY Table1.Niveau1, MiseEnColonne([Niveau1]) ORDER BY First(Table1.id);
J'ai testé ta function ça marche nikel! Merci beaucoup!
Juste un petit détail : je voudrais avoir un "et" entre les numéros des parcelles,
pour cela je me suis dis : ajoute un petit "et" par la:
Le souci est que j'ai aussi un "et à la fin (exemple : YD 28 et 27 et 30 et )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public Function MiseEnColonne(Niveau1 As String) As String Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("SELECT Niveau2 FROM Table1 WHERE (((Niveau1)=""" _ & Niveau1 & """));") MiseEnColonne = Niveau1 & " : " Do Until rs.EOF MiseEnColonne = MiseEnColonne & rs("Niveau2") & " et " rs.MoveNext Loop End Function
Ma question, peut-on supprimer le dernier "et"?
Bonjour,
Ah, tu t'es fait gronder !
Avec un point pour le même prix !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Public Function MiseEnColonne(Niveau1 As String) As String Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("SELECT Niveau2 FROM Table1 WHERE (((Niveau1)=""" _ & Niveau1 & """));") MiseEnColonne = Niveau1 & " : " Do Until rs.EOF MiseEnColonne = MiseEnColonne & rs("Niveau2") & " et " rs.MoveNext Loop 'Suppression du dernier " et " et point final. MiseEnColonne = Left(MiseEnColonne, (Len(MiseEnColonne) - 4)) & "." End Function
Un dernier petit souci après plusieurs test :
Numerodecompte Commune SectionC Numero
1 MEILLAC G 179
1 MEILLAC G 180
2 MEILLAC G 179
2 MEILLAC G 180
2 MEILLAC G 181
Avec la mise en colonne actuelle, j'ai G : 179 et 180 et 179 et 180 et 181 pour mon compte 1 et mon compte 2.
En fait il me faut pour le compte 1 : G : 179 et 180
et pour le compte 2 : G : 179 et 180 et 181
Faut-il faire une requête préalable ou peut-on ajouter du code à la fonction pour qu'il sépare chaque compte?
Merci
Bonjour,
As-tu divers cas pour lesquels tu voudrais une procédure « passe-partout » ?
Poste (par exemple en complétant le fichier du N° 7) quelques tables avec les données et l’exemple d’état que tu voudrais pour chacun des cas.
J’essaierai alors d’écrire une fonction générale avec des paramètres.
Pour le fun, ce serait mieux de séparer avec des virgules, la dernière étant remplacée par « et », avec un point final.
en fait, en creusant un peu (ma cervelle), j'ai fait une requête intermédiaire où je concatène le numéro de compte et la section (ex: 1 G) dans un champ que j'ai appelé "test".
J'applique ensuite ta fonction à cette requête et au champ "test" puis je supprime le 1 devant de la même manière que l'on supprime le dernier "et".
Pour l'instant cette solution marche et n'est pas trop lourde mais une belle function serait pas mal. On verra si j'en ait vraiment besoin.
Merci ClaudeLeLoup
Je reposterai au cas où
Bonjour,
Si le sujet t'intéresse encore, tu peux voir ceci :
http://www.developpez.net/forums/d10...-plutot-liste/
Salut,
Je reviens sur ta proposition de mettre une virgule entre cahque colonne et un "et" à la dernière.
Peux tu me dire comment faire?
Pour le point final, c'est bon.
Merci
Bonjour,
Vois ici
http://www.developpez.net/forums/d10...e/#post5781219
Bonjour,
En utilisant ton code, j'ai une erreur qui se produitest surligné en jaune et me dit "membre de méthode ou de donnée introuvable" ( et aussi surligné mais en gris ".zdtPere")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Function MiseEnLigne(NomRequete As String, _ SigneDebut As String, _ Separateur As String, DernierSeparateur As String, _ SigneFinal As String) As String
Sais-tu pourquoi, j'ai cette erreur ?
Merci
Bonjour,
Je viens de vérifier le fichier joint.
Tout est correct.
Je constate qu'il a déjà été chargé 9 fois.
Personne ne proteste ---> tu dois faire une mauvaise manoeuvre.
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