Section Detail dans un État Access

BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008 - 3 janv. 2008 à 19:42
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008 - 14 janv. 2008 à 21:22
bonjour à tous et à toutes,

je suis en train de faire un état en Access avec VBA et yé souis tomeber soûr ouné gravé problème! 

en gros, on crée une requête sql en VB qui nous renvoit une dizaine de résultat , on doit ensuite trier ces résultat selon le mois et le nom du client (les dépenses d'un client par mois). On doit afficher ces résultats par client et ensuite par mois. l'affichage par client se fait dans différent détail section alors que l'affichage par mois pour un même client se fait dans un seul détail. On remplit donc les champs manuellement, le problème c'est qu'on ne peut pas choisir dans quel section de détail on écrit nos données. Access nous affiche le bon nombre de section mais chaque section contient les données du dernier enregistrement de la requête.

Il faut donc pouvoir "barré" les sections qui ont précédement été rempli ou encore écrire les données dans leur section respective.. en gros, on veut simulé ce qu'Access fait déjà mais à notre manière

merci de votre aide

p.s: si c'est pas clair, on enverra un screenshot :)

26 réponses

fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
4 janv. 2008 à 19:19
Bonjour,

Ca manque de précision... ta question
0
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008
4 janv. 2008 à 20:26
En fait, je met des textBox dans le rapport et je remplis les champs moi-même avec VB de Access.

Mon problème est que si j'ai 8 enregistrements différent à mettre dans le rapport je suis incapable de partir un nouveau Détail (section du milieu de rapport qui se multiplie selon le nombre d'enregistrement). Donc je modifie 8 fois les mêmes textBox et seul les données du dernier enregistrement que ma requête me retourne sera affiché et les autres sont écrasés.

Donc, ce que je veux faire c'est faire en sorte de multiplier le gabarit de Détail que j'ai mit dans détail autant de fois que j'ai d'enregistrement.

Est-ce plus clair ?
0
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
4 janv. 2008 à 21:12
Il faut mettre un champ d'une table ou requete dans detail
e il se creera automatiquement à l'execution le nombre de ligne correspondant aunombre d'enregistrement...
0
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008
4 janv. 2008 à 21:17
Oui je sais, je connais quand même pas mal Access.


Mais le rapport que j'ai de besoin est impossible à générer automatiquement par Access donc je le génère manuellement à l'aide de VB d'access mais mon problème c'est de dire que je part un nouvel enregistrement donc il ne faut pas écraser les autres données mais ajouter un autre gabarit à la suite du précédent enregistrement.

Je sais pas si tu comprend maintenant, c'est quand même compliquer à comprendre quand c'est le problème à quelqu'un d'autre.
Et c'est très compliquer à faire. J'ai rien trouver sur internet qui pourrait m'aider alors je me suis pencher sur ce forum pour avoir de l'aide.

J'attend de vos idées :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008
8 janv. 2008 à 15:04
Il n'y a jamais personne qui a tenté cette manoeuvre nul part sur Internet ???

Si quelqu'un l'a tenté et que ça a fonctionné ... svp ... aidé moi ... je suis a bout de souffle. Ça fait 1 semaine que je tente toutes les solutions possibles que j'avais en tête. Si quelqu'un a une idée prenez 2 minutes de votre temps pour me la faire parvenir svp.

Merci à tous.
0
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
8 janv. 2008 à 21:02
J'ai du mal à tout comprendre
poste ta base par mail... ou donne moi un lien de telechargement ?
je verrai peut etre mieux...
0
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008
8 janv. 2008 à 22:00
Voici un printscreen du résultat

Dans le fond, chaque partie se multiplie selon le nombre de client à afficher mais au lieu de mettre des informations différentes pour chaque client pour chaque répétition, chacune d'elle est écrasé par l'enregistrement suivant pour finalement affiché exemple 8 fois le meme client. Je veux que chaque répétition soit par rapport à un client chaque et le dire à Access en VB mais je ne sais pas comment dire que je par une nouvelle répétition.

Est-ce plus clair ?
0
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
9 janv. 2008 à 07:39
La copie d'écran ne s'affiche pas ?
0
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008
9 janv. 2008 à 14:17
J'aurais besoin de ton adresse email pour t'envoyer l'image.

C'est bizzare parce que moi elle s'affiche.

J'attend de tes nouvelles.
0
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
9 janv. 2008 à 20:14
fsltp@aliceadsl.fr
0
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008
9 janv. 2008 à 21:46
Et voila, tu devrais le recevoir d'ici peu de temps.


 


Bonne chance dans la compréhension :)
0
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
10 janv. 2008 à 12:48
La copie d'écran ne me permet pas de bien comprendre le pb

le client est professionnal carrer inc ?
et il doit avoir 8 tableau ou 1 seul ?
0
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008
10 janv. 2008 à 14:11
Je vais essayer de tout t'expliquer le plus clairement possible.

Dans le haut A.Lassonde Inc., c'est le client.

Professional Carriers Inc. est un transporteur.

Le rapport doit être créer pour connaître les coût d'un client par transporteur selon des mois d'une année prédifinie.

Donc si le client à exporter à l'aide de 8 transporteurs différents, on doit pouvoir multiplier ce gabarit d'information 8 fois pour chacun des transporteurs durant la période donnée.

Ce que j'arrive à faire présentement c'est de remplir 8 fois le même gabarit avec de l'information d'un seul transporteur puisque les autres sont écrasé par les nouvelles informations que j'insère dans les textBox. Tout ça à l'aide VBA d'Access. Ce que je n'arrive pas à faire c'est d'indiquer que je part un nouveau gabarit avec l'information d'un nouveau transporteur donc je ne veux pas écraser les données du transporteur que je vienne d'insérer dans le rapport mais bien ajouter un les informations dans un nouvel encadré.

Je sais pas si c'est plus clair.

J'espère que oui :)
0
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
10 janv. 2008 à 21:23
Bonsoir,
Je t'envoi en privé par mail une base avec un exemple en esperant avoir saisit ton prob.
Regarde l'état...
A+ me redire
0
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008
11 janv. 2008 à 14:29
Ce n'est pas tout a fait sa encore.

Le probleme est le suivant... ma requete me donne sa mettons

Pour le CLIENT1
TRANSPORTEUR1 30$ 101$ Mars
TRANSPORTEUR1 25$ 235$ Septembre
TRANSPORTEUR2 50$ 150$ Février
TRANSPORTEUR2 50$ 400$ Octobre
TRANSPORTEUR3 75$ 351$ Octobre
TRANSPORTEUR4 366$ 55$ Décembre

Tu peux remarque que j'ai deux valeurs pour un même transporteur comme TRANSPORTEUR1 et TRANSPORTEUR2 qui sont en double.
Alors si tu jète un oeil à l'image que je t'ai envoyé tu va comprend que dans une répétition de la partie DETAIL il faut que je mette les valeurs de 2 résultats de la requête pour un transporteur pour chacun de ses mois et lorsque j'ai fini les informations d'un transporteur il faut que je puisse indiquer que je veux un autre DETAIL du même gabarit pour le transporteur suivant.

Donc Access n'offre pas la possibilité de faire sa automatiquement alors il faut que je le fasse en VB.

Sa devrait vraiment éclaircir le problème.
J'attend de tes nouvelles.

Voici un exemple de mon code VB
****************************
If resultat.RecordCount > 0 Then
        While (Not resultat.EOF)
            If resultat.BOF Or nomTransporteurPrécédent <> resultat("Transporteur") Then
                textBoxNomTransporteur = resultat("Transporteur")
            End If
            
            Select Case resultat("Mois")
                Case "janvier"
                    textBoxAnnéeJanvier = resultat("Annee")
                    textBoxExpéditionJanvier = resultat("NbTotalTransport")
                    textBoxPoidsJanvier = resultat("PoidsTotal")
                    textBoxCoûtNetJanvier = resultat("TotalCoûtNet") & " $"
                    textBoxEssenceJanvier = resultat("TotalEssence") & " $"
                    textBoxAutresJanvier = resultat("TotalAutresFrais") & " $"
                    textBoxTaxesJanvier = resultat("TotalTaxes") & " $"
                    textBoxCoûtTotalJanvier = resultat("CoûtTotal") & " $"
                Case "février"
                    textBoxAnnéeFévrier = resultat("Annee")
                    textBoxExpéditionFévrier = resultat("NbTotalTransport")
                    textBoxPoidsFévrier = resultat("PoidsTotal")
                    textBoxCoûtNetFévrier = resultat("TotalCoûtNet") & " $"
                    textBoxEssenceFévrier = resultat("TotalEssence") & " $"
                    textBoxAutresFévrier = resultat("TotalAutresFrais") & " $"
                    textBoxTaxesFévrier = resultat("TotalTaxes") & " $"
                    textBoxCoûtTotalFévrier = resultat("CoûtTotal") & " $"
                Case des autres moi ...
            End Select
            nomTransporteurPrécédent = resultat("Transporteur")
            resultat.MoveNext
        Wend
************************************
0
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
11 janv. 2008 à 19:02
Je te renvoi une base de test
0
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
11 janv. 2008 à 19:07
Pour moi tu n'y arrivaras pas sans changer ta table de depart.
Il faut absolument quetu ais une cle unique client transporteur puis les valeurs sur le meme enregistrment.
Il faut mieux faire unetable de travail puis basé ldition dessus.
au lieu de CA
Pour le CLIENT1
TRANSPORTEUR1 30$ 101$ Mars
TRANSPORTEUR1 25$ 235$ Septembre
TRANSPORTEUR2 50$ 150$ Février
TRANSPORTEUR2 50$ 400$ Octobre
TRANSPORTEUR3 75$ 351$ Octobre
TRANSPORTEUR4 366$ 55$ Décembre
Il te faut
TRANSPORTEUR1 30$ 101$ Mars ,25$ 235$ Septembre
TRANSPORTEUR2 50$ 150$ Février, 50$ 400$ Octobre
TRANSPORTEUR3 75$ 351$ Octobre
TRANSPORTEUR4 366$ 55$ Décembre

Tu vois mon principe ?
0
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008
11 janv. 2008 à 19:42
Oui je vois ton principe, mais je peux en aucun cas modifier la base de données alors il faut absolument que je trouve la façon VB d'indiquer que je veux partir un nouveau DETAIL manuellement.

C'est qui a un moyen puisque Access le fait déjà ... alors c'est sur que je peux trouver sa quelque part.

Je vais continuer mes recherche merci quand même pour ton aide :)
0
fsltp Messages postés 94 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 16 janvier 2008
11 janv. 2008 à 20:54
bonne chance...
mais ce n'est pas mdifier la base de dnnées
c'est uniqueent creer une requete ou procédure stockée qui te formatrte tous ca
0
BrunoMaxFrank Messages postés 14 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 14 janvier 2008
11 janv. 2008 à 22:24
Comment qu'on fait une requête qui mettrait mes 2 résultats d'un transporteur sur la même ligne.

Je savais pas que sa se fesait en Acces VB.

Si tu sais comment dit moi comment et je vais tester la requête. Donne moi juste un exemple bidon et je me débrouillerai avec.

J'attend de tes nouvelles.
Merci encore.
0
Rejoignez-nous