Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1458 connectés 

  FORUM HardWare.fr
  Programmation

  Requête SQL.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête SQL.

n°139615
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 09:15:37  profilanswer
 

comment faire lorsqu'on veut créer une requête sous vba, mais que cette requête dépasse les 1024 caractères autorisées ???
 
merci


---------------
Music|Market|Feed|Loom|DVD
mood
Publicité
Posté le 16-05-2002 à 09:15:37  profilanswer
 

n°139616
HappyHarry
Posté le 16-05-2002 à 09:16:34  profilanswer
 

les 1024 caracteres autorises par koi ???

n°139617
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 09:19:18  profilanswer
 

HappyHarry a écrit a écrit :

les 1024 caracteres autorises par koi ???  




 
ben je sais pas, il me dit l'expression entrée dépasse la limite des 1024 caractères pour la grille de création...
 
ça vous dit qqchose ?


---------------
Music|Market|Feed|Loom|DVD
n°139619
HappyHarry
Posté le 16-05-2002 à 09:26:00  profilanswer
 

tu fais koi exactement ?

n°139622
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 09:30:25  profilanswer
 

HappyHarry a écrit a écrit :

tu fais koi exactement ?  




 
ben en fait g une grosse requête sql bien immense, avec plein de iif, des jointures, des requêtes imbriquées, etc... mais on dirait qu'elle est trop grosse...
sans entrer dans le détail, voilà... y'a t'il moyen de remédier à cela ??


---------------
Music|Market|Feed|Loom|DVD
n°139651
thegti
La constipation se soigne ...
Posté le 16-05-2002 à 10:05:06  profilanswer
 

Tu décomposes ta requête en plusieurs requêtes

n°139658
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 10:09:33  profilanswer
 

thegti a écrit a écrit :

Tu décomposes ta requête en plusieurs requêtes  




 
et je coupe à quel niveau ?  
 
et je les relie comment après ?? :??:


---------------
Music|Market|Feed|Loom|DVD
n°139663
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2002 à 10:22:53  profilanswer
 

:hello:  
 
j'imagine que tu fais ta requete dans l'assistant requete d'access en mode création ;)
 
et si tu la faisais directement en mode SQL ? je me souviens avoir tapé des requetes immenses sans aucun prob


---------------
J'ai un string dans l'array (Paris Hilton)
n°139669
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 10:32:33  profilanswer
 

Harkonnen a écrit a écrit :

:hello:  
 
j'imagine que tu fais ta requete dans l'assistant requete d'access en mode création ;)
 
et si tu la faisais directement en mode SQL ? je me souviens avoir tapé des requetes immenses sans aucun prob  




 
Harkonnen fidèle au poste !!
 
 
ben en fait je crée la requête sous vba en faisant un createquerydef, ms ça revient au mem paske après je suis allé la modifier en mode dsl et ca change rien
 
au fait g vérifié dans les restrictions d'access, et une requete sql peut faire 64000 caractères, donc c pas ça. il semblerait que ce soit au niveau du nombre de caractères dans une cellule de grille d'interrogation qui est limité à 1024, et c ça qui plante ! as tu une idée de ce que c'est ?


---------------
Music|Market|Feed|Loom|DVD
n°139686
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2002 à 10:55:33  profilanswer
 

la grille d'interrogation doit etre la grille qui te permet de faire une requete en mode création, en faisant glisser les champs de la table
 
c'est pour ça que tu devrais faire ta requete directement en mode SQL dans access je pense, à la mimine  :)


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 16-05-2002 à 10:55:33  profilanswer
 

n°139689
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 10:58:26  profilanswer
 

Harkonnen a écrit a écrit :

la grille d'interrogation doit etre la grille qui te permet de faire une requete en mode création, en faisant glisser les champs de la table
 
c'est pour ça que tu devrais faire ta requete directement en mode SQL dans access je pense, à la mimine  :)  




 
ouais mais la actuellement je suis en mode sql, et ça ne marche pas mieux.
 
il faudrait que cette requete se fasse automatiquement en cliquant sur un bouton, c'est pour ça que je la fais par vba.
si je te montre la requête , tu peux trouver l'erreur potentielle ??


---------------
Music|Market|Feed|Loom|DVD
n°139691
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2002 à 10:59:43  profilanswer
 

envoie toujours


---------------
J'ai un string dans l'array (Paris Hilton)
n°139696
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 11:06:11  profilanswer
 

ok, surtout ne t'effraie pas ...!!  :D  
 
SELECT INCIDENT.date, nomSource, RUE.nomRue, QUARTIER_ELU.nomQuartierElu, QUARTIER.nomQuartier, catIncident, INCIDENT.description
FROM INCIDENT, QUARTIER_ELU, RUE, QUARTIER, SOURCE, CAT_INCIDENT
WHERE INCIDENT.numQuartierElu=QUARTIER_ELU.numQuartierElu AND SOURCE.numSource = 2^(chercheSelection(INCIDENT.numSource , 20)) AND INCIDENT.numRue= RUE.numRue AND INCIDENT.numQuartier=QUARTIER.numQuartier AND CAT_INCIDENT.catIncident = iif(INCIDENT.agression =0,iif(INCIDENT.vol =0,iif(INCIDENT.incendie =0 , iif(INCIDENT.dégradation =0,iif(INCIDENT.comportement =0,iif(INCIDENT.problèmes =0,iif(INCIDENT.regroupements =0,iif(INCIDENT.éclairage =0,SELECT catIncident FROM CAT_INCIDENT WHERE typeIncident = 9 AND numCatIncident = 2^chercheSelection(INCIDENT.divers, SELECT COUNT(*) FROM CAT_INCIDENT WHERE typeIncident=9) ,'Eclairage public';),SELECT catIncident FROM CAT_INCIDENT WHERE typeIncident = 7 AND numCatIncident = 2^chercheSelection(INCIDENT.regroupements, SELECT COUNT(*) FROM CAT_INCIDENT WHERE typeIncident=7)),SELECT catIncident FROM CAT_INCIDENT WHERE typeIncident = 6 AND numCatIncident = 2^chercheSelection(INCIDENT.problèmes, SELECT COUNT(*) FROM CAT_INCIDENT WHERE typeIncident=6)),SELECT catIncident FROM CAT_INCIDENT WHERE typeIncident = 5 AND numCatIncident = 2^chercheSelection(INCIDENT.problèmes, SELECT COUNT(*) FROM CAT_INCIDENT WHERE typeIncident=5)), SELECT catIncident FROM CAT_INCIDENT WHERE typeIncident = 4 AND numCatIncident = 2^chercheSelection(INCIDENT.dégradation, SELECT COUNT(*) FROM CAT_INCIDENT WHERE typeIncident=4)),SELECT catIncident FROM CAT_INCIDENT WHERE typeIncident = 3 AND numCatIncident = 2^chercheSelection(INCIDENT.incendie, SELECT COUNT(*) FROM CAT_INCIDENT WHERE typeIncident=3)),SELECT catIncident FROM CAT_INCIDENT WHERE typeIncident = 2 AND numCatIncident = 2^chercheSelection(INCIDENT.vol, SELECT COUNT(*) FROM CAT_INCIDENT WHERE typeIncident=2)),SELECT catIncident FROM CAT_INCIDENT WHERE typeIncident = 1 AND numCatIncident = 2^chercheSelection(INCIDENT.agression, SELECT COUNT(*) FROM CAT_INCIDENT WHERE typeIncident=1));
 
 
 
 
tu comprends mieux le pb ???? :lol:


---------------
Music|Market|Feed|Loom|DVD
n°139698
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2002 à 11:08:14  profilanswer
 

ouh putain........  :ouch:


---------------
J'ai un string dans l'array (Paris Hilton)
n°139699
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2002 à 11:10:09  profilanswer
 

cette requete se "compile" normalement sous access, sans erreur ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°139703
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 11:12:34  profilanswer
 

Harkonnen a écrit a écrit :

ouh putain........  :ouch:  




 
c pas de la requête de pd ça hein ??   :D  
stp soit gentil avec moi si je programme comme une merde !!  
 
 
SQL RULEZZZ  :sol:


---------------
Music|Market|Feed|Loom|DVD
n°139706
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 11:14:17  profilanswer
 

Harkonnen a écrit a écrit :

cette requete se "compile" normalement sous access, sans erreur ?  




 
 
qu'entends tu par se compile ?  
le module dans lequel je la crée passe ; lorsque je clique sur le bouton qui appelle la création de la requête ça marche, mais quand j'essaie d'obtenir les résultats ou de passer en mode création, ça plante...


---------------
Music|Market|Feed|Loom|DVD
n°139712
thegti
La constipation se soigne ...
Posté le 16-05-2002 à 11:19:37  profilanswer
 

J'ai déjà eu le même problème, c limité Access
Faut décomposer la requêtes en plusieurs sous-requêtes.
Maintenant, vu la mauvaise tournure de ta requête, c'est pas gagné ;)

n°139727
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-05-2002 à 11:35:12  profilanswer
 

je viens de tester, en remplaçant tes fonctions VB par des fonctions à moi, et ça pète aussi
 
donc, comme dit thegti, à mon avis le seul moyen est de diviser ta requete en sous requetes.
 
bon courage... si j'ai 5mn dans la journée j'essaierai de m'y coller, mais c'est pas gagné :(


---------------
J'ai un string dans l'array (Paris Hilton)
n°139736
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 11:43:48  profilanswer
 

Harkonnen a écrit a écrit :

je viens de tester, en remplaçant tes fonctions VB par des fonctions à moi, et ça pète aussi
 
donc, comme dit thegti, à mon avis le seul moyen est de diviser ta requete en sous requetes.
 
bon courage... si j'ai 5mn dans la journée j'essaierai de m'y coller, mais c'est pas gagné :(  




 
 
ok je veux bien la séparer en plusieurs requetes mais comment faire ? je coupe à quel niveau ? et comment je fais après pour n'avoir plus qu'une requete globale ?
 
merci qd meme de te prendre la tete pr ça  :jap:  :ange:


---------------
Music|Market|Feed|Loom|DVD
n°139801
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 13:37:50  profilanswer
 

up :bounce:


---------------
Music|Market|Feed|Loom|DVD
n°139809
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 13:52:36  profilanswer
 

kess que c que ce message d'erreur...  
 
"la fonction iif sans () dans l'expression iif(..... "
 
ça veut dire koi ?
c  la tout le pb...


---------------
Music|Market|Feed|Loom|DVD
n°139821
Mara's dad
Yes I can !
Posté le 16-05-2002 à 14:09:14  profilanswer
 

Je te l'ai déjà dis, le design de ta base est ... pas top !
 
Au lieu de multiplier les champs :
INCIDENT.agression
INCIDENT.vol
INCIDENT.incendie
...
 
Tu ferais mieux d'avoir une autre table, qui te donne la liste des types d'incident pour un INCIDENT, chaque type étant affecté d'un niveau de gravité, ce qui te permetrait de sélectionner directemment celui ayant le niveau le plus haut et qui te débarasserait de tous ces iif() qui font quand même pas très propre.
 
Comment tu va faire pour maintenir ton application le jour ou un utilisateur te pondra de nouveaux types d'incidents ?
 
C'est pas une question en l'air !
Tu peux être QUAZIEMENT certain que çà va arriver, même si on t'a jurré que çe n'est pas le cas...
 
Si t'as besoin d'aide pour la modélisation, ben, tu sais ou demander  :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°139825
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 14:12:46  profilanswer
 

Mara's dad a écrit a écrit :

Je te l'ai déjà dis, le design de ta base est ... pas top !
 
Au lieu de multiplier les champs :
INCIDENT.agression
INCIDENT.vol
INCIDENT.incendie
...
 
Tu ferais mieux d'avoir une autre table, qui te donne la liste des types d'incident pour un INCIDENT, chaque type étant affecté d'un niveau de gravité, ce qui te permetrait de sélectionner directemment celui ayant le niveau le plus haut et qui te débarasserait de tous ces iif() qui font quand même pas très propre.
 
Comment tu va faire pour maintenir ton application le jour ou un utilisateur te pondra de nouveaux types d'incidents ?
 
C'est pas une question en l'air !
Tu peux être QUAZIEMENT certain que çà va arriver, même si on t'a jurré que çe n'est pas le cas...
 
Si t'as besoin d'aide pour la modélisation, ben, tu sais ou demander  :D  




 
 
je sais bien que c pas trop évolutif, mais c'était la seule solution que j'avais envisagé
je leur avait dit, qu'il ne pourrait pas ajouter de type d'incident, mais que les sous catégories pouvaient être rajoutées autant que possible (j'avais fait pour en tout cas)
 
je vais réflechir à cette nouvelle organisation
 
n'hésites pas à développer ton idée
 
et encore merci  :jap:


---------------
Music|Market|Feed|Loom|DVD
n°139827
Loom the G​loom
Even coders get the blues...
Posté le 16-05-2002 à 14:15:38  profilanswer
 

ok alors essayons de comprendre
au lieu d'avoir incident.agression, incident.vol etc
je mets un champ typeIncident. et là dedans je stocke quoi ? quelle relation fais je avec cette nouvelle table ?  
 
pour cette nouvelle table, quels sont donc les champs que je dois créer ?  
je précise que j'ai déja une table typeIncident qui me donne la liste des 9 types d'incident possible
 
 
...


---------------
Music|Market|Feed|Loom|DVD
n°139853
Mara's dad
Yes I can !
Posté le 16-05-2002 à 14:41:02  profilanswer
 

Loom the Gloom a écrit a écrit :

ok alors essayons de comprendre
au lieu d'avoir incident.agression, incident.vol etc
je mets un champ typeIncident. et là dedans je stocke quoi ? quelle relation fais je avec cette nouvelle table ?  
 
pour cette nouvelle table, quels sont donc les champs que je dois créer ?  
je précise que j'ai déja une table typeIncident qui me donne la liste des 9 types d'incident possible
 
 
...  




 
Et tu as donc 9 relations entre INCIDENT et typeIncident ! ! !
 
Bon, dans ta table typeIncident tu ajoutes un champs NiveauDeGravité s'il n'y en as pas déjà un.
 
Ensuite il te faut une nouvelle table qui fasse la relation entre INCIDENT et typeIncident, disons ListeIncidents.
 
Dans ListeIncidents il faut au moins 2 champs:
1- Identifiant de l'indident
2- Identifiant du type d'incident
 
Exemple de requête:
 
SELECT INCIDENT.id, Max(typeIncident.NIVEAU) AS MaxDeNIVEAU
FROM INCIDENT, ListeIncidents, typeIncident
WHERE (((ListeIncidents.id_incident)=[INCIDENT].[ID]) AND ((ListeIncidents.id_typeIncident)=[typeIncident].[ID]))
GROUP BY INCIDENT.id;
 
Qui te donne pour chaque incident le type d'incidant ayant le niveau le plus élevé.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Requête SQL.

 

Sujets relatifs
requète SQL sans exécution[Delphi SQL] changer la table d'un requête avec un TPARAM ..
Requête SQL avec ASP[PHP] Temps d'execution Requete SQL
[SQL] Besoin d'aide pour céer un requete[JAVA&SQL] Comment inserer une requete ds un JTextArea ?
[SQL] une requête non ordinaire ...SQL : Requete avec des "and" des "or", et ca marche po
Problème de requête SQL avec condition "Where" en vb...[Pb SQL et Delphi] énnoncé d'une requête INSERT
Plus de sujets relatifs à : Requête SQL.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR