Requette multicritére

Requette multicritére - SQL/NoSQL - Programmation

Marsh Posté le 11-05-2009 à 13:18:54    

Bonjour,
Je suis en trin de crée une base de donnée sous acces ma table et crée ma requette aussi et mais formulaire mais je souhaite crée une requette multicritére voila se que j'ai taper mais sa ne marche pas.
 
Option Compare Database
 
End Sub
Option Compare Database
Const Sourcezoneliste1  As String = "Patient"      'Table source de ZoneListe1
Const Champzone1 As String = "Patient"         'Champ table données correspondant à Zoneliste1
Const Sourcezoneliste2  As String = "Patient"   'Table source de ZoneListe2
Const Champzone2 As String = "Age"                'Champ table données correspondant à Zoneliste2
'Préciser obligatoirement 4 champs de tri, même plusieurs fois le même
Const Champtri1 As String = "NomFamille"        'Champ de tri ORDER BY n°1
Const Champtri2 As String = "EtabAdapt2"        'Champ de tri ORDER BY n°2
 
Private Sub Form_Open(Cancel As Integer)    'Initialisation des listes de critères
With ZoneListe1                             'avec les constantes
    .RowSourceType = "Table/Query"
    .RowSource = Sourcezoneliste1
    .ColumnHeads = False
End With
 
With ZoneListe2
    .RowSourceType = "Table/Query"
    .RowSource = Sourcezoneliste2
    .ColumnHeads = False
End With
 
End Sub
 
Private Sub LancerRequete_Click()   'Bt Requête
    Patient Requête
End Sub
 
Private Sub RequeteMulticriteres()
Dim strSQL As String
 
'Requête SQL si aucun critère sélectionné
strSQL = "SELECT * FROM " & Patient & " WHERE ([" & Champzone & "] Like '*' "
 
'Recueillir les critères renseignés
If Me.ZoneListe1 <> "" Then
    strSQL1 = " And [" & Champzone1 & "] Like '" & Me.ZoneListe1 & "'"
    Else
    strSQL1 = ""
End If
 
If Me.ZoneListe2 <> "" Then
    strSQL2 = " And [" & Champzone2 & "] Like '" & Me.ZoneListe2 & "'"
    Else
    strSQL2 = ""
End If
 
'Création de la requête SQL finale
strSQL = strSQL & strSQL1 & strSQL2 & strSQL3
'Tri final des enregistrements
strSQL = strSQL & " ) ORDER BY " & Champtri1 & ", " & Champtri2
 
'Affichage de la requête SQL finale
'MsgBox strSQL
 
'Remplir le sous formulaire avec la requête
Me.[LignesRequete].Form.RecordSource = strSQL
End Sub
 
Qui peut me donner un coup de main????????

Reply

Marsh Posté le 11-05-2009 à 13:18:54   

Reply

Marsh Posté le 11-05-2009 à 13:34:19    

Alors :
- la requête, elle est où ? on a un peu autre chose à faire que de la chercher dans ton code, qui n'est même pas placé entre balises [ code ] pour en simplifier la lecture
- l'erreur, c'est quoi ?
- la structure de la base, elle est où ?
- le français correct et compréhensible dans l'énoncé du problème, il est où ?
 
Merci de faire un effort sur le fond, comme sur la forme stp. Et inutile de créer plusieurs topics pour ta question


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 11-05-2009 à 14:23:55    

Harkonnen a écrit :

Alors :
- la requête, elle est où ? on a un peu autre chose à faire que de la chercher dans ton code, qui n'est même pas placé entre balises [ code ] pour en simplifier la lecture
- l'erreur, c'est quoi ?
- la structure de la base, elle est où ?
- le français correct et compréhensible dans l'énoncé du problème, il est où ?
 
Merci de faire un effort sur le fond, comme sur la forme stp. Et inutile de créer plusieurs topics pour ta question


 
Alors j'ai 1 table qui s'apel (Patient) avec 57 champ j'ai 1 requette qui s'apel (Patient Requête) et 1 formulaire qui s'apel (Patient)
 
Peut tu me donner ton adresse mail que je puisse te l'envoyer a la limitte?

Reply

Marsh Posté le 11-05-2009 à 14:35:54    

galius21 a écrit :


Peut tu me donner ton adresse mail que je puisse te l'envoyer a la limitte?


C'est à dire que j'ai pas trop que ça à faire que de répondre individuellement, et surtout c'est contre l'esprit du forum !
Mais sinon c'est si dur que ça que de répondre à mes questions correctement, je pense que tout le monde n'a rien à faire du nom des tables. Ce qu'il faut, c'est la structure de la base (nombre de tables, clés primaires et étrangères, et relations entre les tables).
Et donner le message d'erreur exact ainsi que la requête SQL qui pose problème, ça serait pas mal aussi.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 11-05-2009 à 14:47:27    

Harkonnen a écrit :


C'est à dire que j'ai pas trop que ça à faire que de répondre individuellement, et surtout c'est contre l'esprit du forum !
Mais sinon c'est si dur que ça que de répondre à mes questions correctement, je pense que tout le monde n'a rien à faire du nom des tables. Ce qu'il faut, c'est la structure de la base (nombre de tables, clés primaires et étrangères, et relations entre les tables).
Et donner le message d'erreur exact ainsi que la requête SQL qui pose problème, ça serait pas mal aussi.


 
nombre de tables, clés primaires et étrangères, et relations entre les tables
Alors il y a 1 table 0 clés primaire et étrangéres et du coup aucune relation lol
 
et l'erreur SQL il me note sa
 
(L'expression sur ouverture entrée comme paramétre de la propriété de type événement est à l'origine d'une erreur instruction incorecte à l'éxtérieur d'une procédure.)

Reply

Marsh Posté le 11-05-2009 à 14:53:59    

[:pingouino]

 

Cette erreur est une erreur "bateau" d'Access, il y a toujours d'autres messages d'erreur qui suivent, merci de me les poster.

 

Et je répète : peux tu me donner la requête SQL finale ? Celle qui apparait dans la MsgBox que tu as commentée à la fin de ton source ? Et peux tu mettre ton code entre balises [ code=vb ] (sans les espaces) pour le rendre plus lisible ?

 

Merci

Message cité 1 fois
Message édité par Harkonnen le 11-05-2009 à 14:54:07

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 11-05-2009 à 15:07:21    

Harkonnen a écrit :

[:pingouino]
 
Cette erreur est une erreur "bateau" d'Access, il y a toujours d'autres messages d'erreur qui suivent, merci de me les poster.
 
Et je répète : peux tu me donner la requête SQL finale ? Celle qui apparait dans la MsgBox que tu as commentée à la fin de ton source ? Et peux tu mettre ton code entre balises [ code=vb ] (sans les espaces) pour le rendre plus lisible ?
 
Merci


 
sait quoi une erreur bateau je ne mis connai pas trop  en access j'ai jamai fait de requette multicritére et j'ai utiliser qu'une foi access.
tu veux quoi exactement en me parlent le plus simplement possible

Reply

Marsh Posté le 11-05-2009 à 15:23:42    

galius21 a écrit :


 
sait quoi une erreur bateau je ne mis connai pas trop  en access j'ai jamai fait de requette multicritére et j'ai utiliser qu'une foi access.
tu veux quoi exactement en me parlent le plus simplement possible


Toi yen a copier/coller ici affichage de 'MsgBox strSQL'

Reply

Marsh Posté le 11-05-2009 à 15:24:13    

Ce que je veux :
- le message d'erreur complet. L'erreur que tu donnes est toujours suivie d'une autre erreur plus précise. C'est ce message que je veux.
- la requête SQL contenue dans la variable strSQL à la fin de ton programme


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 11-05-2009 à 15:42:33    

Alors la suite du message erreur sait
 
[Le resulta de l'expretion n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [event procedure]
 
Une erreur a peut-étre commise lors de l'évaluation d'une fonction, d'un événement ou d'une macro.
 
et comment va ton dans strSQL?

Reply

Marsh Posté le 11-05-2009 à 15:42:33   

Reply

Marsh Posté le 11-05-2009 à 15:45:29    

Va falloir sortir le mode d'emploi là...


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 11-05-2009 à 15:46:58    

[:pepe le putois]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 11-05-2009 à 15:49:51    

drasche a écrit :

Va falloir sortir le mode d'emploi là...


 
 
Bin oui je sait bien mais bon sait pas mon truc acces et j'ai pas vraiment le temps de me former decu la sait pour l'un de mais client que je fait sa apres je ne referait plus acces sa m'aura suffi lol

Reply

Marsh Posté le 11-05-2009 à 15:50:36    

galius21 a écrit :

Alors la suite du message erreur sait
 
[Le resulta de l'expretion n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [event procedure]
 
Une erreur a peut-étre commise lors de l'évaluation d'une fonction, d'un événement ou d'une macro.
 
et comment va ton dans strSQL?


T'es sûr que c'est ton code ?  [:dockbchris]  
Parcequ'en l'occurence il y a un joli "MsgBox strSQL" qu'il te suffirait juste de décommenter pour voir le contenu de strSQL...

Reply

Marsh Posté le 11-05-2009 à 15:53:19    

galius21 a écrit :

Bin oui je sait bien mais bon sait pas mon truc acces et j'ai pas vraiment le temps de me former decu la sait pour l'un de mais client que je fait sa apres je ne referait plus acces sa m'aura suffi lol


Au contraire, t'auras brillamment solutionné le problème et tu seras aussitôt considéré comme un expert Access. C'est comme ça que ça marche en entreprise.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 11-05-2009 à 15:56:40    

drasche a écrit :


Au contraire, t'auras brillamment solutionné le problème et tu seras aussitôt considéré comme un expert Access. C'est comme ça que ça marche en entreprise.


 
t'ai la pour aider ou juste donner des conseil inutile?

Reply

Marsh Posté le 11-05-2009 à 15:59:25    

galius21 a écrit :


 
t'ai la pour aider ou juste donner des conseil inutile?


Dernière fois avant fermeture du topic : tu décommentes la ligne "MsgBox strSQL" à la fin de ton programme. Tu auras alors une MessageBox qui apparaitra à l'écran quand tu exécuteras ton formulaire. Cette box contiendra une requête SQL, que je te demande de coller ici.
 
Merci.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 11-05-2009 à 16:01:53    

galius21 a écrit :


 
t'ai la pour aider ou juste donner des conseil inutile?


Soit tu es un expert du domaine et dans ce cas tu n'as même pas besoin de venir poser de questions ici puisque tu vas trouver tout seul comme un grand ce qui ne va pas, soit tu n'en es pas un et dans ce cas tu fais confiance à l'Élite qui daigne prendre sur son temps précieux pour t'aider. Je pense qu'un tout petit peu d'humilité pour commencer te ferait plus plus grand bien. :jap:


---------------
Je suis Kadreg
Reply

Marsh Posté le 11-05-2009 à 16:06:51    

Mais je le sait et le dit je ne suis pas un expert d'ou mon message de demande d'aide sur se forum
 
J'ai jamai dit que j'ete un expert.
 
Mais tu peut vraiment m'aider ou tu ai la juste pour discuter?

Reply

Marsh Posté le 11-05-2009 à 16:08:08    

'tite question :

Code :
  1. Private Sub LancerRequete_Click()   'Bt Requête
  2.    Patient Requête
  3. End Sub


"Patient", c'est quoi ? Je vois aucune Sub de ce nom dans ton programme

 
galius21 a écrit :


Mais tu peut vraiment m'aider ou tu ai la juste pour discuter?


Ca fait 10 plombes que je te demande de poster la MessageBox qui affiche la requête SQL !!!
Je vais vraiment finir par perdre patience là


Message édité par Harkonnen le 11-05-2009 à 16:09:27

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 11-05-2009 à 16:14:38    

mais sait quoi la messagebox?

Reply

Marsh Posté le 11-05-2009 à 16:15:00    

Code :
  1. Option Compare Database
  2.  
  3. End Sub
  4. Option Compare Database
  5. Const Sourcezoneliste1  As String = "Patient"      'Table source de ZoneListe1
  6. Const Champzone1 As String = "Patient"         'Champ table données correspondant à Zoneliste1
  7. Const Sourcezoneliste2  As String = "Patient"   'Table source de ZoneListe2
  8. Const Champzone2 As String = "Age"                'Champ table données correspondant à Zoneliste2
  9. 'Préciser obligatoirement 4 champs de tri, même plusieurs fois le même
  10. Const Champtri1 As String = "NomFamille"        'Champ de tri ORDER BY n°1
  11. Const Champtri2 As String = "EtabAdapt2"        'Champ de tri ORDER BY n°2
  12.  
  13. Private Sub Form_Open(Cancel As Integer)    'Initialisation des listes de critères
  14. With ZoneListe1                             'avec les constantes
  15.    .RowSourceType = "Table/Query"
  16.    .RowSource = Sourcezoneliste1
  17.    .ColumnHeads = False
  18. End With
  19.  
  20. With ZoneListe2
  21.    .RowSourceType = "Table/Query"
  22.    .RowSource = Sourcezoneliste2
  23.    .ColumnHeads = False
  24. End With
  25.  
  26. End Sub
  27.  
  28. Private Sub LancerRequete_Click()   'Bt Requête
  29.    Patient Requête
  30. End Sub
  31.  
  32. Private Sub RequeteMulticriteres()
  33. Dim strSQL As String
  34.  
  35. 'Requête SQL si aucun critère sélectionné
  36. strSQL = "SELECT * FROM " & Patient & " WHERE ([" & Champzone & "] Like '*' "
  37.  
  38. 'Recueillir les critères renseignés
  39. If Me.ZoneListe1 <> "" Then
  40.    strSQL1 = " And [" & Champzone1 & "] Like '" & Me.ZoneListe1 & "'"
  41.    Else
  42.    strSQL1 = ""
  43. End If
  44.  
  45. If Me.ZoneListe2 <> "" Then
  46.    strSQL2 = " And [" & Champzone2 & "] Like '" & Me.ZoneListe2 & "'"
  47.    Else
  48.    strSQL2 = ""
  49. End If
  50.  
  51. 'Création de la requête SQL finale
  52. strSQL = strSQL & strSQL1 & strSQL2 & strSQL3
  53. 'Tri final des enregistrements
  54. strSQL = strSQL & " ) ORDER BY " & Champtri1 & ", " & Champtri2
  55.  
  56. 'Affichage de la requête SQL finale
  57. 'MsgBox strSQL
  58.  
  59. 'Remplir le sous formulaire avec la requête
  60. Me.[LignesRequete].Form.RecordSource = strSQL
  61. End Sub


Message édité par Harkonnen le 11-05-2009 à 16:17:59
Reply

Marsh Posté le 11-05-2009 à 16:15:42    

http://static.ngcdn.net/data/seal-approval.png
 
Cette pic' n'a jamais eu autant de sens qu'aujourdhui [:pingouino]

Reply

Marsh Posté le 11-05-2009 à 16:23:17    

Il m'a reposté tout son code [:prozac]
Mais pourquoi ça tombe sur moi ? [:cerveau sadnoir]
 
Bon, je vais tacher d'y mettre de la bonne volonté... Je t'ai rajouté les balises [ code ] histoire d'y voir clair...
 
Alors, déjà, je vois 2 problèmes à la ligne 29. La variable "Patient", elle fait référence à quoi ? Je suppose que c'est une Fonction qui prend en paramètre une chaine de caractères, mais :
- cette fonction, où se trouve sa définition ?
- la variable "Requête" (au passage, les accents dans le nom des variables, c'est mal), elle est déclarée et définie à quel endroit ?
 
Ensuite, ligne 57, tu peux voir une (un ? je sais jamais mébonbref) apostrophe devant le "MsgBox strSQL". Ce que je te demande, c'est de virer cet(te ?) apostrophe, d'éxecuter ton formulaire. Ceci affichera un message à l'écran (sous réserve de résolution des problèmes que je mentionne plus haut), qui contiendra une requête SQL. Je te demande donc de copier cette requête, et de la coller ici.
 
Capiche ? [:austinou]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 11-05-2009 à 16:26:47    

Quel courage [:rofl]

Reply

Marsh Posté le 11-05-2009 à 16:33:53    

Harkonnen a écrit :

Il m'a reposté tout son code [:prozac]
Mais pourquoi ça tombe sur moi ? [:cerveau sadnoir]
 
Bon, je vais tacher d'y mettre de la bonne volonté... Je t'ai rajouté les balises [ code ] histoire d'y voir clair...
 
Alors, déjà, je vois 2 problèmes à la ligne 29. La variable "Patient", elle fait référence à quoi ? Je suppose que c'est une Fonction qui prend en paramètre une chaine de caractères, mais :
- cette fonction, où se trouve sa définition ?
- la variable "Requête" (au passage, les accents dans le nom des variables, c'est mal), elle est déclarée et définie à quel endroit ?
 
Ensuite, ligne 57, tu peux voir une (un ? je sais jamais mébonbref) apostrophe devant le "MsgBox strSQL". Ce que je te demande, c'est de virer cet(te ?) apostrophe, d'éxecuter ton formulaire. Ceci affichera un message à l'écran (sous réserve de résolution des problèmes que je mentionne plus haut), qui contiendra une requête SQL. Je te demande donc de copier cette requête, et de la coller ici.
 
Capiche ? [:austinou]


 
Alors, déjà, je vois 2 problèmes à la ligne 29. La variable "Patient", elle fait référence à quoi ?
Je ne sait pas je crois a la table.
 
se code sait une connaissence qui me la donner et qui ma dit de me dermerder avec.
 
et sait quoi une variable?
 
pour le msgbox sa sait fait setter simple lol

Reply

Marsh Posté le 11-05-2009 à 16:37:26    

galius21 a écrit :


et sait quoi une variable?


Non mais là c'est officiel c'est un troll


---------------
On sait que le propre du génie est de fournir des idées aux crétins une vingtaine d'années plus tard. Louis Aragon
Reply

Marsh Posté le 11-05-2009 à 16:37:49    

T'as du temps à perdre aujourd'hui harko ? :D


---------------
Twitter
Reply

Marsh Posté le 11-05-2009 à 16:38:50    

0C / 0D / 11 / 12 / 14
 
5 points de la charte pas respectés.
 
[:implosion du tibia]
 
Ca aurait pas été du SQL, le topic aurait eu un close direct :o

Reply

Marsh Posté le 11-05-2009 à 16:38:51    

galius21 a écrit :


 
Alors, déjà, je vois 2 problèmes à la ligne 29. La variable "Patient", elle fait référence à quoi ?
Je ne sait pas je crois a la table.
 
se code sait une connaissence qui me la donner et qui ma dit de me dermerder avec.
 
et sait quoi une variable?
 
pour le msgbox sa sait fait setter simple lol


salut,
 
on va reprendre depuis le début, peux tu me dire la version d'Access que tu utilises ?

Reply

Marsh Posté le 11-05-2009 à 16:41:32    

Oui sa sait simple sait office 2003

Reply

Marsh Posté le 11-05-2009 à 16:42:04    

koskoz a écrit :

T'as du temps à perdre aujourd'hui harko ? :D


c'est un topic qui aurait pu être résolu en 10 secondes si l'interface chaise-clavier avait correctement fonctionné [:pepe le putois]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 11-05-2009 à 16:43:14    

galius21 a écrit :

Oui sa sait simple sait office 2003


ok, t'inquietes je cause le même langage que toi, on va se comprendre...
alors, ce code, il vient d'où et il est pour qui ?

 

edit: lol


Message édité par Serial Coder le 11-05-2009 à 16:43:28
Reply

Marsh Posté le 11-05-2009 à 16:43:22    

galius21 a écrit :

Oui sa sait simple sait office 2003


 
SMS-Stayle étou étou [:rofl]

Reply

Marsh Posté le 11-05-2009 à 16:44:26    

ligne 36 champZone n'existe pas , c'est champZone1 ou champZone2


---------------
On sait que le propre du génie est de fournir des idées aux crétins une vingtaine d'années plus tard. Louis Aragon
Reply

Marsh Posté le 11-05-2009 à 16:45:08    

galius21 a écrit :

Oui sa sait simple sait office 2003


Il y a des fautes d'orthographe, cette phrase s'écrit :
 
=> Oui ça c'est simple c'est office 2003
 
Et avec la ponctuation :
 
=> Oui ça c'est simple, c'est office 2003 !
 
:)


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 11-05-2009 à 16:46:09    

Norbert le hamster a écrit :

ligne 36 champZone n'existe pas , c'est champZone1 ou champZone2


et sur cette même ligne, y'a toujours la variable Patient, qui semble être ici une chaine de caractères, alors qu'elle appelle un paramètre à la ligne 29 [:pepe le putois]

Message cité 1 fois
Message édité par Harkonnen le 11-05-2009 à 16:46:23

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 11-05-2009 à 16:46:16    

Hey gros con, écris français et va sur OSA [:natas]
 
Harko > Pov type :fou:


---------------
When it comes to business/legal topics, just assume almost everyone commenting has no idea what they’re taking about and have no background in these subjects because that’s how it really is. Harkonnen 8-> Elmoricq 8====>
Reply

Marsh Posté le 11-05-2009 à 16:47:16    

il vient d'une basse de l'inspection academic sait un encient collegue qui si connai en acces qui me la donner donc a la basse il et prevu pour leur base.
 
et il me la donner en me disent de le maitre a ma sauce pour qu'il fonctionne sur ma base.
 
apres sette base que je crai et pour un de mais client je suis dépanneur informatique mais la programmation sait pas du tout mon truc.

Reply

Marsh Posté le 11-05-2009 à 16:48:18    

Harkonnen a écrit :


et sur cette même ligne, y'a toujours la variable Patient, qui semble être ici une chaine de caractères, alors qu'elle appelle un paramètre à la ligne 29 [:pepe le putois]


non so tu lis l'intro "patient requete" est le nom de la requete. Comme y'a un espace dans le nom et que c'est écrit n'importe comment, c'est incompréhensible.
 
Mais de toute façon on arrive jamais là puisque ça pete dans le Form_Open (traduit en Sur ouverture dans le message d'erreur)


---------------
On sait que le propre du génie est de fournir des idées aux crétins une vingtaine d'années plus tard. Louis Aragon
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed