Rechercher : dans
Par :

Access ouvrir un etat selon une liste

Francois75035, le 8 mai 2009 à 21:17:28 
 Signaler ce message aux modérateurs

Bonjour,

j'ai un leger soucis que je vais essayer d'expliquer le mieux possible.

j'ai créer un formulaire possedant deux listes :
-la première contient des etablissements (modalité du champ NOM)
-la seconde contient des activités (il y'en a pas mal)

A partir des choix effectués dans ces listes je veux ouvrir un etat qui me montre en colonne les etablissements, en ligne les activités et en valeurs des effectifs (combien d'activités par etablissement)

J'ai fais une requète simple et une croisée d'avance sur ces données.

Mon problème est que si j'ouvre l'Etat contenant la requète simple j'ai les bons etablissements et activités selectionnés dans les listes mais les etablissements se trouvent aussi en ligne :

voila ce que j'obtient :

etab 1 act1
......
etab1 actn
etab2 act1
.......
etab2 actn
......

Et si j'ouvre l'Etat avec la requète analyse croisé, il ne me reconnait plus mes etablissement puisque dans la requète ils sont deja en colonne et donc en champ.
Donc access plante vu qu'il ne me reconnait plus "NOM" comme un champ, mes etablissement selectionnés ne sont donc pas envoyés.

Je ne sais donc pas quoi faire, si il faut que je modifie mon etat qui contient une requète simple pour qu'il me mette les eablissements en colonne
OU si il faut que je modifie mon VBa qui envoie les données a l'état qui l'analyse croisée

Notez que je prefererais la 1ère solution, étant donné que ca me fera une requète de moins à faire puisque l'analyse croisée est faite à partir de la requète simple. Ca me fera moins ramé d'avoir un etat qui vienne de la requète simple.

Voici les données des 2 requètes :

requète simple : requète analyse croisée :

NOM ACT Effectif ACT / Nom 1er 2ème 3ème etc
1er 1ère X 1ère X Y Z
1er 2ème X2 2ème X2 Y2 Z2
1er 3ème X 3ème X3 Y3 Z3
1er 4ème X4 4ème X4 Y4 Z4
etc etc etc etc etc etc


Et voici le code qui envoie les selections des listes vers mon etat contenant la requète simple :

Private Sub lancer_comparaison_Click()
On Error GoTo Err_lancer_comparaison_Click

'Gestion des erreurs de listes vides
If liste_sortie.ListCount = 0 Then
MsgBox ("Vous devez choisir au moins une activité au préalable")
liste_entrée.SetFocus
GoTo Exit_lancer_comparaison_Click
Exit Sub
Else
If liste_sortie2.ListCount = 0 Then
MsgBox ("Vous devez choisir au moins un etablissement au préalable")
liste_entrée2.SetFocus
GoTo Exit_lancer_comparaison_Click
Exit Sub
End If
End If

Dim stLinkCriteria As String
Dim stLinkCriteriab As String
Dim stDocName As String

stDocName = "etat_tableau_croisé"


'Liste etablissement :

stLinkCriteria = "[Nom] in ("
For i = 0 To liste_sortie2.ListCount - 1
stLinkCriteria = stLinkCriteria & """" & liste_sortie2.ItemData(i) & """" & ","
Next i
stLinkCriteria = stLinkCriteria & """" & " NOM de mon etablissement que je garde d'office" & """" & ")"

'Liste Activité :
stLinkCriteria = stLinkCriteria & " AND " & "[Activite] in ("
For i = 0 To liste_sortie.ListCount - 2
stLinkCriteria = stLinkCriteria & """" & liste_sortie.ItemData(i) & """" & ","
Next i
stLinkCriteria = stLinkCriteria & """" & liste_sortie.ItemData(i) & """" & ")"
End If

DoCmd.OpenReport stDocName, AcView.acViewPreview, , stLinkCriteria

Exit_lancer_comparaison_Click:
Exit Sub

Err_lancer_comparaison_Click:
MsgBox Err.Description
Resume Exit_lancer_comparaison_Click

End Sub

Merci d'avance à tous ceux qui se creuseront les meninges la dessus, moi je suis désespéré....

Configuration: Windows Vista Internet Explorer 7.0

Meilleures réponses pour « access ouvrir un etat selon une liste » dans :
Liste des ports ouverts VoirQue vous soyez sous Windows ou Linux/Unix, la commande suivante (en console) permet d'afficher la liste des ports ouverts sur votre ordinateur :netstat -a Pour des outils graphiques plus poussés, voir Quels sont les ports ouverts sur ma machine
Fichier utilisé - Le fichier est ouvert dans un autre programme VoirLorsque vous souhaitez supprimer ou déplacer un fichier, Windows se plaint avec le message suivant : Fichier utilisé Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme Fermez l'application concernée Avant...
Quels sont les ports ouverts sur ma machine ? VoirTout le monde est (ou devrait être) préoccupé par la sécurité de son ordinateur dès lors qu'il est connecté à Internet. Le B.A.-ba de la sécurité consiste, le cas échéant, à activer les fonctionnalités de pare-feu de son routeur ADSL et surtout...
Collection CommentÇaMarche.net