ACCESS-Tri par ordre numerique illogique
Résolu/Fermé
WildDragon
Messages postés
1347
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
28 octobre 2009
-
8 nov. 2007 à 11:40
WildDragon Messages postés 1347 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 28 octobre 2009 - 23 nov. 2007 à 12:36
WildDragon Messages postés 1347 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 28 octobre 2009 - 23 nov. 2007 à 12:36
A voir également:
- ACCESS-Tri par ordre numerique illogique
- Excel trier par ordre croissant chiffre - Guide
- Pavé numérique bloqué - Guide
- Clavier numérique bloqué - Guide
- Ordre meilleur ami snap - Forum Snapchat
- Exemple base de données access à télécharger gratuit - Forum Access
27 réponses
WildDragon
Messages postés
1347
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
28 octobre 2009
34
16 nov. 2007 à 10:58
16 nov. 2007 à 10:58
Bonjour Manu,
Tout d'abord, concernant le nom de la requete SQL, vous avez raison, il s'agit bien de "qryAssignedtoPaul".
J'ai ensuite teste ce que vous m'avez suggere et le code VB du bouton Paul Machin est devenu celui-ci, en suivant vos instructions :
Private Sub cmdPaulws_Click()
On Error GoTo Err_cmdPaulws_click
Dim stDocName As String
stDocName = "qryAssignedtoPaul"
DoCmd.RunMacro stDocName
Mais je m'attendais a un probleme car la derniere ligne cherche a lancer une macro "DoCmd.RunMacro" et le document que je lui donne a lancer est une requete...
Et effectivement, quand j'ai utilise ce bouton, j'ai obtenu le message suivant :
IT Helpdesk-2007 can't find the object 'qryAssignedtoPaul.'
Je vous precise, au cas ou je ne l'aurais pas fait, que IT Helpdesk-2007 est le nom de ma base de donnees access.
Pour ce qui est de la ligne que vous me demandez de supprimer, il s'agit de la "Where Condition" de la macro "mcrSapassignselectorPaul" qui servait de filtre a la base...
Vu que nous sommes d'accord sur le fait que cette macro ne rempli pas son role (puisqu'elle filtre mais ne classe pas dans l'ordre), j'ai bien evidemment l'intention de la supprimer... Mais ca ne changera pas le probleme d'arriver a lancer ma requete...
Autre chose qui me vient a l'esprit...
Connaissez-vous un site ou je puisse charger des images pour que vous puissiez y acceder ?
Je pourrai comme ca vous faire des screen qui serait plus parlantes...
Qu'en pensez vous ?
Tout d'abord, concernant le nom de la requete SQL, vous avez raison, il s'agit bien de "qryAssignedtoPaul".
J'ai ensuite teste ce que vous m'avez suggere et le code VB du bouton Paul Machin est devenu celui-ci, en suivant vos instructions :
Private Sub cmdPaulws_Click()
On Error GoTo Err_cmdPaulws_click
Dim stDocName As String
stDocName = "qryAssignedtoPaul"
DoCmd.RunMacro stDocName
Mais je m'attendais a un probleme car la derniere ligne cherche a lancer une macro "DoCmd.RunMacro" et le document que je lui donne a lancer est une requete...
Et effectivement, quand j'ai utilise ce bouton, j'ai obtenu le message suivant :
IT Helpdesk-2007 can't find the object 'qryAssignedtoPaul.'
Je vous precise, au cas ou je ne l'aurais pas fait, que IT Helpdesk-2007 est le nom de ma base de donnees access.
Pour ce qui est de la ligne que vous me demandez de supprimer, il s'agit de la "Where Condition" de la macro "mcrSapassignselectorPaul" qui servait de filtre a la base...
Vu que nous sommes d'accord sur le fait que cette macro ne rempli pas son role (puisqu'elle filtre mais ne classe pas dans l'ordre), j'ai bien evidemment l'intention de la supprimer... Mais ca ne changera pas le probleme d'arriver a lancer ma requete...
Autre chose qui me vient a l'esprit...
Connaissez-vous un site ou je puisse charger des images pour que vous puissiez y acceder ?
Je pourrai comme ca vous faire des screen qui serait plus parlantes...
Qu'en pensez vous ?
Bonjour,
« Mais je m'attendais a un probleme car la derniere ligne cherche a lancer une macro "DoCmd.RunMacro" et le document que je lui donne a lancer est une requete... »
1) Essayez de remplacer "DoCmd.RunMacro" par "DoCmd.RunQuery" (c'est du pifomètre, je ne connais rien à VB)
« il s'agit de la "Where Condition" de »
Votre macro est manifestement un commande SQL dont je ne vois qu'un morceau. Essayez de trouver une zone sur cet écran où vous avez un menu contextuel qui vous permet de
2) soit de passer en mode SQL
3) soit d'avoir un champ de saisie de l'ordre de restitution (autrement dit : de la manière que vous avez su afficher un champ qui s'appelle "where condition", il y a sûrement quelque chose d'équivalent qui s'appelle "order by" ou équivalent).
Note ce que j'ai numéroté 1 à 3 sont trois essais qui s'excluent mutuellement.
NB c'est bientôt le week-end, je commence à fatiguer.
Manu
« Mais je m'attendais a un probleme car la derniere ligne cherche a lancer une macro "DoCmd.RunMacro" et le document que je lui donne a lancer est une requete... »
1) Essayez de remplacer "DoCmd.RunMacro" par "DoCmd.RunQuery" (c'est du pifomètre, je ne connais rien à VB)
« il s'agit de la "Where Condition" de »
Votre macro est manifestement un commande SQL dont je ne vois qu'un morceau. Essayez de trouver une zone sur cet écran où vous avez un menu contextuel qui vous permet de
2) soit de passer en mode SQL
3) soit d'avoir un champ de saisie de l'ordre de restitution (autrement dit : de la manière que vous avez su afficher un champ qui s'appelle "where condition", il y a sûrement quelque chose d'équivalent qui s'appelle "order by" ou équivalent).
Note ce que j'ai numéroté 1 à 3 sont trois essais qui s'excluent mutuellement.
NB c'est bientôt le week-end, je commence à fatiguer.
Manu
Rebonjour,
« Vu que nous sommes d'accord sur le fait que cette macro ne rempli pas son role (puisqu'elle filtre mais ne classe pas dans l'ordre), j'ai bien evidemment l'intention de la supprimer... Mais ca ne changera pas le probleme d'arriver a lancer ma requete... »
Je ne vous demandais pas de supprimer la macro. Il est clair qu'elle accède la la requête... par un moyen que vous ne nous avez pas montré. Je vous suggérais seulement de supprimer le contenu du champ qui s'appelle « where condition ». Vous laissez la macro et vous lui dites de ne rien faire.
Et bien sûr ça peut être utile de nous dire l'effet produit.
Manu
« Vu que nous sommes d'accord sur le fait que cette macro ne rempli pas son role (puisqu'elle filtre mais ne classe pas dans l'ordre), j'ai bien evidemment l'intention de la supprimer... Mais ca ne changera pas le probleme d'arriver a lancer ma requete... »
Je ne vous demandais pas de supprimer la macro. Il est clair qu'elle accède la la requête... par un moyen que vous ne nous avez pas montré. Je vous suggérais seulement de supprimer le contenu du champ qui s'appelle « where condition ». Vous laissez la macro et vous lui dites de ne rien faire.
Et bien sûr ça peut être utile de nous dire l'effet produit.
Manu
WildDragon
Messages postés
1347
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
28 octobre 2009
34
20 nov. 2007 à 12:16
20 nov. 2007 à 12:16
Le runQuery ne marchait pas...
Mais j'ai fini par trouver un truc : runSQL...
Mais j'essai de trouver des exemples pour en comprendre le fonctionnement...
Si je trouve une solution, je vous envoie ce que j'ai rentre et les resultats...
Mais j'ai fini par trouver un truc : runSQL...
Mais j'essai de trouver des exemples pour en comprendre le fonctionnement...
Si je trouve une solution, je vous envoie ce que j'ai rentre et les resultats...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
WildDragon
Messages postés
1347
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
28 octobre 2009
34
21 nov. 2007 à 13:12
21 nov. 2007 à 13:12
Je vais recourir a une solution de facilite... Ma tutrice de stage attends des resultats et ca fait plus du'une semaine que je n'avance avec ce probleme (qui selon moi, n'est pas d'une grande gravite pour la base de donnees...).
Je vais donc lier chaque bouton a un formulaire identique a celui dans lequel il devait s'afficher mais les champs de ses formulaires seront fait avec les requetes correspondantes aux boutons... Comme ca, le filtre sera fait et classer dans le bon ordre...
Je vous tiens au courant (ca va etre assez long... le formulaire de base est complexe et je dois le faire en 5 exemplaires...
Je vais donc lier chaque bouton a un formulaire identique a celui dans lequel il devait s'afficher mais les champs de ses formulaires seront fait avec les requetes correspondantes aux boutons... Comme ca, le filtre sera fait et classer dans le bon ordre...
Je vous tiens au courant (ca va etre assez long... le formulaire de base est complexe et je dois le faire en 5 exemplaires...
WildDragon
Messages postés
1347
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
28 octobre 2009
34
23 nov. 2007 à 12:20
23 nov. 2007 à 12:20
Bonjour Manu...
J'ai trouver la solution... Totalement par hasard...
Comme je vous l'ai dit precedement, je voulais recourir a une solution de facilite...
Je recapitule :
Tout d'abord, je cree une requete pour chaque bouton de mon formulaire frmSAPHelpdeskSolutions...
ex: pour le bouton Paul Machin, je creai la requete qui :
-affiche les enregistrements des problemes assigne a Paul
-ou la date de resolution du probleme n'est pas remplie (donc, le probleme n'est pas encore resolu)
-et qui classe ces enregistrements par No d'appel
EN version SQL (en anglaise), ca donne cela :
SELECT tblSAPHelpdesk.CallNo, tblSAPHelpdesk.EntryDate, tblSAPHelpdesk.Requestor, tblSAPHelpdesk.SummaryProblem, tblSAPHelpdesk.CallType, tblSAPHelpdesk.Department, tblSAPHelpdesk.Priority, tblSAPHelpdesk.TransactionCode, tblSAPHelpdesk.MenuPath, tblSAPHelpdesk.ErrorMessage, tblSAPHelpdesk.ProblemDescription, tblSAPHelpdesk.TransactionalData, tblSAPHelpdesk.[Additional Information], tblSAPHelpdesk.Status, tblSAPHelpdesk.AssignedDate, tblSAPHelpdesk.AssignedTo, tblSAPHelpdesk.DateDue, tblSAPHelpdesk.CompletedDate, tblSAPHelpdesk.Hours, tblSAPHelpdesk.TestData, tblSAPHelpdesk.TestClient, tblSAPHelpdesk.Solution, tblSAPHelpdesk.MenuPathForConfig, tblSAPHelpdesk.TransportNos, tblSAPHelpdesk.TransportMoved
FROM tblSAPHelpdesk
WHERE (((tblSAPHelpdesk.AssignedTo)="Paul Machin") AND ((tblSAPHelpdesk.CompletedDate) Is Null))
ORDER BY tblSAPHelpdesk.CallNo;
End Sub
Et, le but, c'etait de creer un formulaire identique a frmSAPHelpdeskSolutions sauf que les champs venait directement de la requete... Et tout le tri et le classement etait fait (mais vu la complexite du formulaire de base, j'en avait pour des heures de travail... car je devais le faire en 5 ou 6 exemplaires).
La derniere etape etait ensuite de changer les boutons de frmSAPHelpdeskSolutions pour que, au lieu de lancer une macro, ils ouvrent le formulaire qui correspond...
Voila ce que j'avais prevu...
J'ai donc passe une heure a recopier la premiere version du formulaire...
Mais quand j'ai compare la feuille de propriete des deux formulaires, je trouver 2 lignes que je n'avais pas vu auparavent :
En selectionnant "Form", dans l'onglet Data, J'ai trouve la ligne :
-Filter avec le code de la macro dedans [tblSAPHelpdesk]![AssignedTo]="ANDY MATSON" And IsNull([tblSAPHelpdesk]![CompletedDate])
-Order By avec le nom du champ de tri tblSAPHelpdesk.CallNo
Et je me suis dis : "Pourquoi reappliquer le filtre ici alors que la macro du bouton le fait deja juste avant ?"
J'ai donc vider cette ligne...
Et du coup, le formulaire ne faisait plus que trier (order by) la selection obtenu grace a la macro de chaque bouton...
Donc, en resume,
1-Je clic sur le bouton "Paul Machin".
2-Cela lance la macro de filtre qui ne garde que les problemes assignes a Paul Machin qu'il n'a pas encore resolu
3-Il s'affiche dans les champs du formulaire
4-Puis les proprietes du formulaire s'applique, ce qui a pour effet de classer cette selection par CallNo, par ordre croissant...
LE PROBLEME EST RESOLUE...
MERCI BEAUCOUP MANU pour votre patience et vos conseils...
Non seulement j'ai decouvers pas mal de nouveaux trucs sur access grace a vos conseils...
Et en plus, je saurais mieux expliquer mes problemes a l'avenir...
Je vous souhaite une bonne journee...
A+
J'ai trouver la solution... Totalement par hasard...
Comme je vous l'ai dit precedement, je voulais recourir a une solution de facilite...
Je recapitule :
Tout d'abord, je cree une requete pour chaque bouton de mon formulaire frmSAPHelpdeskSolutions...
ex: pour le bouton Paul Machin, je creai la requete qui :
-affiche les enregistrements des problemes assigne a Paul
-ou la date de resolution du probleme n'est pas remplie (donc, le probleme n'est pas encore resolu)
-et qui classe ces enregistrements par No d'appel
EN version SQL (en anglaise), ca donne cela :
SELECT tblSAPHelpdesk.CallNo, tblSAPHelpdesk.EntryDate, tblSAPHelpdesk.Requestor, tblSAPHelpdesk.SummaryProblem, tblSAPHelpdesk.CallType, tblSAPHelpdesk.Department, tblSAPHelpdesk.Priority, tblSAPHelpdesk.TransactionCode, tblSAPHelpdesk.MenuPath, tblSAPHelpdesk.ErrorMessage, tblSAPHelpdesk.ProblemDescription, tblSAPHelpdesk.TransactionalData, tblSAPHelpdesk.[Additional Information], tblSAPHelpdesk.Status, tblSAPHelpdesk.AssignedDate, tblSAPHelpdesk.AssignedTo, tblSAPHelpdesk.DateDue, tblSAPHelpdesk.CompletedDate, tblSAPHelpdesk.Hours, tblSAPHelpdesk.TestData, tblSAPHelpdesk.TestClient, tblSAPHelpdesk.Solution, tblSAPHelpdesk.MenuPathForConfig, tblSAPHelpdesk.TransportNos, tblSAPHelpdesk.TransportMoved
FROM tblSAPHelpdesk
WHERE (((tblSAPHelpdesk.AssignedTo)="Paul Machin") AND ((tblSAPHelpdesk.CompletedDate) Is Null))
ORDER BY tblSAPHelpdesk.CallNo;
End Sub
Et, le but, c'etait de creer un formulaire identique a frmSAPHelpdeskSolutions sauf que les champs venait directement de la requete... Et tout le tri et le classement etait fait (mais vu la complexite du formulaire de base, j'en avait pour des heures de travail... car je devais le faire en 5 ou 6 exemplaires).
La derniere etape etait ensuite de changer les boutons de frmSAPHelpdeskSolutions pour que, au lieu de lancer une macro, ils ouvrent le formulaire qui correspond...
Voila ce que j'avais prevu...
J'ai donc passe une heure a recopier la premiere version du formulaire...
Mais quand j'ai compare la feuille de propriete des deux formulaires, je trouver 2 lignes que je n'avais pas vu auparavent :
En selectionnant "Form", dans l'onglet Data, J'ai trouve la ligne :
-Filter avec le code de la macro dedans [tblSAPHelpdesk]![AssignedTo]="ANDY MATSON" And IsNull([tblSAPHelpdesk]![CompletedDate])
-Order By avec le nom du champ de tri tblSAPHelpdesk.CallNo
Et je me suis dis : "Pourquoi reappliquer le filtre ici alors que la macro du bouton le fait deja juste avant ?"
J'ai donc vider cette ligne...
Et du coup, le formulaire ne faisait plus que trier (order by) la selection obtenu grace a la macro de chaque bouton...
Donc, en resume,
1-Je clic sur le bouton "Paul Machin".
2-Cela lance la macro de filtre qui ne garde que les problemes assignes a Paul Machin qu'il n'a pas encore resolu
3-Il s'affiche dans les champs du formulaire
4-Puis les proprietes du formulaire s'applique, ce qui a pour effet de classer cette selection par CallNo, par ordre croissant...
LE PROBLEME EST RESOLUE...
MERCI BEAUCOUP MANU pour votre patience et vos conseils...
Non seulement j'ai decouvers pas mal de nouveaux trucs sur access grace a vos conseils...
Et en plus, je saurais mieux expliquer mes problemes a l'avenir...
Je vous souhaite une bonne journee...
A+
Bonjour,
Bravo !
Manu
Bravo !
Manu
WildDragon
Messages postés
1347
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
28 octobre 2009
34
23 nov. 2007 à 12:36
23 nov. 2007 à 12:36
Et merci encore... Vous etes le seul a m'avoir aider sur mes problemes access... Donc encore merci !!!