Bienvenue sur bdgest.com !      107 connectés
Chercher :
INTERVIEW  Les aventures de Rabbi Harvey
INTERVIEW  RĂ©gis Penet en auteur complet chez Daniel Maghen
BDGEST  Tous les mois gagnez 60 euros grĂące aux mini-jeux BD Gest'
 Tous  
Forums
  Aide
  Rechercher
  Membres
  Rangs
  Qui est en ligne
Les jeux
  Pixelo BD
  Rapido BD
  Trombino BD
Les derniers coups de coeur
de la redaction
Guerrero (Le Gendre) 1 L' étranger - Editions Carabas
Guerrero (Le Gendre)
1. L' étranger
Ensembles contraires (Les) 1 PremiĂšre partie - Futuropolis
Ensembles contraires (Les)
1. PremiĂšre partie
Billy Wild 2 Le 13Úme cavalier - Akiléos
Billy Wild
2. Le 13Ăšme cavalier
Communauté (La) 1 [entretiens] premiÚre partie - Futuropolis
Communauté (La)
1. [entretiens] premiĂšre partie
Criminal 2 Impitoyable - Delcourt
Criminal
2. Impitoyable
Spirou et Fantasio (Une aventure de) 4 Le journal d'un ingénu - Dupuis
Spirou et Fantasio (Une aventure de)
4. Le journal d'un ingénu

 

Il y a 48 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
 Page :  1  2
Page PrĂ©cĂ©dente 
Auteur
 Sujet :

Modif de requetes SQL (suite au passage en V6)

 
n°16049
StephaneA
Modérateur
Avatar

Messages : 3680
OĂč : Δ΀Χ
Age : 34
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 18-07-2007 Ă  13:35:24  profilanswer
 

Certaines requetes ne fonctionnent plus depuis le passage en V6.
 
Il s'agit de :

Citation :

Auteurs sans Album ni Para-BD
 
SELECT *  
FROM auteurs AS d  
WHERE NOT (SELECT COUNT(*)  
                          FROM Albums AS a  
                          WHERE a.IdScenariste = d.IdAuteur  
                          OR a.IdDessinateur = d.IdAuteur  
                          OR a.IdColoriste = d.IdAuteur)  
              AND NOT (SELECT COUNT(*)  
                                FROM collaborateurs AS c  
                                WHERE c.IdAuteur = d.IdAuteur)  
             AND NOT (SELECT COUNT(*)  
                          FROM acheter AS b  
                          WHERE b.IdScenariste = d.IdAuteur  
                          OR b.IdDessinateur = d.IdAuteur  
                          OR b.IdColoriste = d.IdAuteur)  
             AND NOT (SELECT COUNT(*)  
                          FROM exlibris AS c  
                          WHERE c.IdDessinateur = d.IdAuteur);


 
Ainsi que :

Citation :

Séries sans Album
 
SELECT SERIES.Titre, ACHETER.IdSerie, ALBUMS.IdSerie  
  FROM ((SERIES  
    LEFT JOIN ACHETER  
      ON SERIES.IdSerie = ACHETER.IdSerie)  
    LEFT JOIN ALBUMS  
      ON SERIES.IdSerie = ALBUMS.IdSerie)  
    LEFT JOIN EXLIBRIS  
      ON SERIES.IDSerie = EXLIBRIS.IdSerie  
  WHERE (ACHETER.IdSerie Is Null)  
    AND (ALBUMS.IdSerie Is Null)  
    AND (EXLIBRIS.IdSerie Is Null);


 
Quelqu'un sait-il quels changements je dois faire afin de faire fonctionner ces requetes?
 
De plus, afin de reparer une bourde je cherche une requete permettant de faire passer les infos contenues dans le champ perso 1 dans le champ ISBN  :oops:

n°16063
StephaneA
Modérateur
Avatar

Messages : 3680
OĂč : Δ΀Χ
Age : 34
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 19-07-2007 Ă  20:15:11  profilanswer
 

Tous les pros du SQL se font dorer sur la plage en ce moment?
 

StephaneA a écrit :

De plus, afin de rĂ©parer une bourde je cherche une requĂȘte permettant de faire passer les infos contenues dans le champ perso 1 dans le champ ISBN  :oops:


Dans le mĂȘme genre une requĂȘte qui fait passer le champ Perso 3 vers Le champ AchevĂ© d'imprimer m'interresserait aussi fortement.  :oops:  

n°16064
BDGest
Chef

Avatar

Messages : 10744
OĂč : Jura
Age : 37
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 19-07-2007 Ă  20:51:12  profilanswer
 

La c'est un peu compliqué car le champ achevé d'imprimé est un champ date alors que le champ perso 3 est un champ texte donc l'update ne peux pas marcher dans ce sens

n°16065
StephaneA
Modérateur
Avatar

Messages : 3680
OĂč : Δ΀Χ
Age : 34
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 19-07-2007 Ă  21:28:00  profilanswer
 

BDGest a écrit :

La c'est un peu compliqué car le champ achevé d'imprimé est un champ date alors que le champ perso 3 est un champ texte donc l'update ne peux pas marcher dans ce sens


MĂȘme si toutes mes entrĂ©es dans le champ Perso 3 sont au format MM/AAAA ?

n°16066
Pascal For​han
BDéphage
Avatar

Messages : 1840
OĂč : Vanves
Age : 35
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 19-07-2007 Ă  22:14:20  profilanswer
 

Oui, transformer un champ texte en date, c'est pas si simple.
 
Pour ta deuxiĂšme requĂȘte, sachant que les tables ACHETER et EXLIBRIS n'existent plus, voila ce uqe ça donne pour fonctionner:

Code :
  1. SELECT SERIES.Titre, ALBUMS.IdSerie 
  2.   FROM SERIES   
  3.     LEFT JOIN ALBUMS 
  4.       ON SERIES.IdSerie = ALBUMS.IdSerie
  5.   WHERE (ALBUMS.IdSerie Is Null);


 
Pour renvoyer l'isbn d'oĂč il vient:

Code :
  1. update albums set reference = perso1;

Message cité 1 fois
Message Ă©ditĂ© par Pascal Forhan le 19-07-2007 Ă  22:15:57
n°16067
Pascal For​han
BDéphage
Avatar

Messages : 1840
OĂč : Vanves
Age : 35
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 19-07-2007 Ă  22:20:34  profilanswer
 

Pour ta premiĂšre requĂȘte, j'ai pas compris pourquoi le count(*) ne marche pas.
Cette requĂȘte semble donner la rĂ©ponse voulue:

Code :
  1. SELECT * 
  2. FROM auteurs AS d 
  3. WHERE NOT (SELECT count(a.IdScenariste) 
  4.                           FROM Albums AS a 
  5.                           WHERE a.IdScenariste = d.IdAuteur 
  6.                           OR a.IdDessinateur = d.IdAuteur 
  7.                           OR a.IdColoriste = d.IdAuteur) 
  8.               AND NOT (SELECT count(c.IdAuteur) 
  9.                                 FROM collaborateurs AS c 
  10.                                 WHERE c.IdAuteur = d.IdAuteur)  ;

n°16068
StephaneA
Modérateur
Avatar

Messages : 3680
OĂč : Δ΀Χ
Age : 34
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 19-07-2007 Ă  22:37:02  profilanswer
 

Merci Pascal, j'en déduit que tu n'es pas en vacances? Tu couves ton nid? ;)
 
Le premier code (Séries) fonctionne impec.
 
Le second concernant l'iSBN aussi, mais il n'élimine pas ce qui était saisi dans le champ ISBN (celui-ci est donc renseigné deux fois maintenant)
 
Quant au code pour les auteurs il doit manquer un truc car le rĂ©sultat me laisse apparaĂźtre des auteurs sans album mais avec para-bd. De plus  la colonne surnom donne non pas le surnom mais le nom de l'image associĂ©e. Bizarre...

n°16069
Pascal For​han
BDéphage
Avatar

Messages : 1840
OĂč : Vanves
Age : 35
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 19-07-2007 Ă  23:03:26  profilanswer
 

et ouais, c'est pas encore les vacances.
Pour le perso1 qui est toujours rempli:

Code :
  1. update album set perso1=null;


Pour les auteurs, j'ai effectivement oublié le parabd:

Code :
  1. SELECT *
  2.    FROM auteurs AS d
  3.    WHERE NOT (SELECT count(a.IdScenariste)
  4.                        FROM Albums AS a
  5.                         WHERE a.IdScenariste = d.IdAuteur
  6.                          OR a.IdDessinateur = d.IdAuteur
  7.                          OR a.IdColoriste = d.IdAuteur)
  8.          AND NOT (SELECT count(c.IdAuteur)
  9.                          FROM collaborateurs AS c
  10.                          WHERE c.IdAuteur = d.IdAuteur) 
  11.           AND NOT (SELECT count(p.IdAuteur)
  12.                          FROM parabd As p
  13.                           WHERE p.IdAuteur = d.IdAuteur);


 
de mĂȘme pour les albums:

Code :
  1. SELECT SERIES.Titre, PARABD.IdSerie, ALBUMS.IdSerie 
  2.   FROM (SERIES 
  3.     LEFT JOIN ALBUMS 
  4.       ON SERIES.IdSerie = ALBUMS.IdSerie) 
  5.     LEFT JOIN PARABD 
  6.       ON SERIES.IDSerie = PARABD.IdSerie 
  7.   WHERE (ALBUMS.IdSerie Is Null) 
  8.     AND (PARABD.IdSerie Is Null);

Message cité 1 fois
Message Ă©ditĂ© par Pascal Forhan le 19-07-2007 Ă  23:14:01
n°16072
eBry
Sac Ă  papier !
BDGestiste Avancé
Avatar

Messages : 5480
OĂč : Belgique
Age : 41
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 20-07-2007 Ă  01:53:58  profilanswer
 

Pascal Forhan a écrit :

Pour ta deuxiĂšme requĂȘte, sachant que les tables ACHETER et EXLIBRIS n'existent plus, voila ce uqe ça donne pour fonctionner:

Code :
  1. SELECT SERIES.Titre, ALBUMS.IdSerie 
  2.   FROM SERIES   
  3.     LEFT JOIN ALBUMS 
  4.       ON SERIES.IdSerie = ALBUMS.IdSerie
  5.   WHERE (ALBUMS.IdSerie Is Null);




Une variante qui donne les ID série des séries sans album :

Code :
  1. SELECT IdSerie, Titre
  2. FROM Series
  3. WHERE IdSerie NOT IN (SELECT IdSerie FROM Albums) 
  4. ORDER BY Titre

n°16073
StephaneA
Modérateur
Avatar

Messages : 3680
OĂč : Δ΀Χ
Age : 34
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 20-07-2007 Ă  07:27:19  profilanswer
 

Pascal Forhan a écrit :

Pour le perso1 qui est toujours rempli:

Code :
  1. update album set perso1=null;



Pour cette requĂȘte j'ai le message d'erreur suivant :

Code :
  1. Echec de l'ouverture du fichier.
  2. Description = Le moteur de base de donnĂ©es Microsoft Jet ne peut pas trouver la table ou la requĂȘte source 'album'. Assurez-vous qu'elle existe et qu'elle est correctement orthographiĂ©e.
  3. Source = Microsoft JET Database Engine
  4. Help Context = 5003011
  5. SQL State = 3078
  6. Error Number = -2147217865
  7. Native Error Number = -524420377
  8. RequĂȘte exĂ©cutĂ©e sur la base <C:\Program Files\BDGest Evolution\Steph.mdb> :
  9. Texte de la requĂȘte :update album set perso1=null;
  10. Nombre de paramĂštres :=0
  11. IEWDOLDB=111005
  12. Module=<WDOLDB>
  13. Version=<11.00Az>
  14. Version du MDAC = <2.81.1117.0>.
  15. [Current Recordset parameters]
  16. Wanted = LockType = <adLockOptimistic>, Location = <adUseServer>, Type = <adOpenKeyset>, Capacities = <ffffffff>
  17. Got = LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>
  18. [Connection parameters]
  19. DataSource = <C:\Program Files\BDGest Evolution\Steph.mdb>
  20. Initial Catalog = <>
  21. Provider = <Microsoft.Jet.OLEDB.4.0>
  22. User = <>
  23. Password = <>
  24. Extended Info = <>
  25. Access = <Read/Write>
  26. [Connection settings]
  27. ConnectionTimeout = <-1>
  28. CommandTimeout = <0>
  29. [Data format]
  30. Query Parameter Checked = <0> = <>
  31. Query Parameter Needing conversion = <0> = <>
  32. DecimalSeparator = <Undefined>
  33. DateFormat = <>
  34. [Cursor settings Match]
  35. LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>
  36. LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>
  37. LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>


 
Sinon le reste fonctionne parfaitement, merci beaucoup.
 
Quant au champ Perso3 -> Achevé d'imprimer, ben je vais m'y coller à la main ;)

n°16076
Pascal For​han
BDéphage
Avatar

Messages : 1840
OĂč : Vanves
Age : 35
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 20-07-2007 Ă  09:05:04  profilanswer
 

faute....
Faut mettre un s Ă  "albums"
C'est dur la nuit :mrgreen:

n°16079
Gwenhwyfar
BDGestiste Avancé
Avatar

Messages : 6027
OĂč : Wavre (BE)
Age : 39
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 20-07-2007 Ă  20:28:41  profilanswer
 

Exemple de convertion texte => date en Access :
update test  set [date] = CDate([texte])
 
Besoin d'une DBA ?
;)


---------------
Mes ventes
n°16080
StephaneA
Modérateur
Avatar

Messages : 3680
OĂč : Δ΀Χ
Age : 34
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 20-07-2007 Ă  20:36:09  profilanswer
 

Ayé pour le passage Champ perso 3 -> Achevé d'imprimer... J'ai tout fait au couper/coller.

n°16082
Pascal For​han
BDéphage
Avatar

Messages : 1840
OĂč : Vanves
Age : 35
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 21-07-2007 Ă  00:38:43  profilanswer
 

Gwenhwyfar a écrit :

Exemple de convertion texte => date en Access :
update test  set [date] = CDate([texte])
 
Besoin d'une DBA ?
;)


Désolé, je connais pas access en tant que base de données SQL, quasiment tout peut se faire en VB ce qui complique les choses quand on veut faire du SQL, ou pour trouver des infos.
On m'aurait parlĂ© de Postgresql, Oracle, mySql ou SqlServer, j'aurais pu plus facilement rĂ©pondre  :wink:  
 
Sinon, pour le CDate, on peut définir le format car en l'occurence on a que le mois et l'année et pas le jour, en plus comment on fait pour differencier un "dd/mm/yyyy" d'un "mm/dd/yyyy" ?

n°16087
Gwenhwyfar
BDGestiste Avancé
Avatar

Messages : 6027
OĂč : Wavre (BE)
Age : 39
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 21-07-2007 Ă  21:32:02  profilanswer
 

Bonne question ...
 
Je ne suis pas une spĂ©cialiste d'Access, que je considĂšre plus comme un gadget bureautique que comme une base de donnĂ©e (Je vais encore me faire des amis  :siffle:). J'ai juste fait un test avec des donnĂ©es tronquĂ©es MM/YYYY et CDate a automatiquement transformĂ© ça en 01/MM/YYYY.
 
Les explications de l'aide d'Access sont les suivantes :

Citation :

CDate recognizes date literals and time literals as well as some numbers that fall within the range of acceptable dates. When converting a number to a date, the whole number portion is converted to a date. Any fractional part of the number is converted to a time of day, starting at midnight.
 
CDate recognizes date formats according to the locale setting of your system. The correct order of day, month, and year may not be determined if it is provided in a format other than one of the recognized date settings. In addition, a long date format is not recognized if it also contains the day-of-the-week string.


 


---------------
Mes ventes
n°16088
Pascal For​han
BDéphage
Avatar

Messages : 1840
OĂč : Vanves
Age : 35
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 21-07-2007 Ă  23:36:06  profilanswer
 

Gwenhwyfar a écrit :

Je ne suis pas une spĂ©cialiste d'Access, que je considĂšre plus comme un gadget bureautique que comme une base de donnĂ©e (Je vais encore me faire des amis  :siffle:).


Pas de ma part en tout cas :mrgreen:  
Je partage complĂštement ce point de vue....
 
Merci pour les prĂ©cisions, je serais moins bĂȘte ce soir :wink:  

n°16097
BDGest
Chef

Avatar

Messages : 10744
OĂč : Jura
Age : 37
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 23-07-2007 Ă  09:43:12  profilanswer
 

C'est peut ĂȘtre un gadget mais pour une DB locale et perso c'est trĂ©s pratique ;) J'imagine la tĂȘte des utilisateurs de BD Gest' sur dans la procĂ©dure d'install je demandais d'installer un serveur Oracle :mrgreen: Le prix de la licence serait sympathique aussi :mrgreen:

n°16102
johnkalak
Brestois
BDGestiste Avancé
Avatar

Messages : 5380
OĂč : F-94 Champigny sur Marne
Age : 30
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 23-07-2007 Ă  09:48:58  profilanswer
 

BDGest a écrit :

C'est peut ĂȘtre un gadget mais pour une DB locale et perso c'est trĂ©s pratique ;)


MĂȘme dans le cadre pro on fait des choses Ă©tonnantes avec access. Evidemment dĂšs que la base prend de l'ampleur c'est un poil plus compliquĂ© mais essayer de trouver un outil si bon marchĂ© et aussi souple surtout pour des novices....


---------------
Le blog de la collection Soleil Celtic : http://soleilceltic.canalblog.com
n°16103
BDGest
Chef

Avatar

Messages : 10744
OĂč : Jura
Age : 37
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 23-07-2007 Ă  09:51:29  profilanswer
 

Access est trĂ©s bien tant que tu ne veux pas gĂ©rer plusieurs accĂšs concurents Ă  la mĂȘme base.

n°16106
Gwenhwyfar
BDGestiste Avancé
Avatar

Messages : 6027
OĂč : Wavre (BE)
Age : 39
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 23-07-2007 Ă  10:05:32  profilanswer
 

johnkalak a écrit :

MĂȘme dans le cadre pro on fait des choses Ă©tonnantes avec access. Evidemment dĂšs que la base prend de l'ampleur c'est un poil plus compliquĂ© mais essayer de trouver un outil si bon marchĂ© et aussi souple surtout pour des novices....

 

En base locale, je veux bien. Et encore ...
Tout dépend aussi de ce que tu entends par "souple pour les novices".
Des apprentis sorciers qui, en quelques clics de souris, se créaient des bases Access en local avec des tables liées vers des bases Oracle ou SQLServer, mais sans rien comprendre à la façon dont ça fonctionne derriÚre, j'en ai vu pas mal ...
 


---------------
Mes ventes
n°16108
johnkalak
Brestois
BDGestiste Avancé
Avatar

Messages : 5380
OĂč : F-94 Champigny sur Marne
Age : 30
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 23-07-2007 Ă  10:53:36  profilanswer
 

Gwenhwyfar a écrit :

Tout dépend aussi de ce que tu entends par "souple pour les novices".
Des apprentis sorciers qui, en quelques clics de souris, se créaient des bases Access en local avec des tables liées vers des bases Oracle ou SQLServer, mais sans rien comprendre à la façon dont ça fonctionne derriÚre, j'en ai vu pas mal ...


Je parle de personnes (comme moi par exemple) qui ont quelques notions en base de données et à qui on demande de faire plein de stats dans tout les sens à partir de fichiers plats ou encore de gérer un planning pour une production informatique.
Sans connaĂźtre du tout access j'ai tout de mĂȘme rĂ©ussi Ă  rĂ©pondre au besoin preuve qu'access est assez accessible.
Si j'avais du faire ça sous Oracle j'y serais encore. Et je ne te parle pas d'interface graphique :mrgreen:
Ceci dit bien entendu je ne m'amuserais jamais à taper dans des bases oracle ou autre. Y'a des DBA pour ça.
Mais effectivement mes bases sont locales et mono utilisateurs. Mais elle répondent largement au besoin.
Bon dĂ©solĂ© chef on dĂ©vie un peu du sujet  :confused:  


---------------
Le blog de la collection Soleil Celtic : http://soleilceltic.canalblog.com
n°16112
Pascal For​han
BDéphage
Avatar

Messages : 1840
OĂč : Vanves
Age : 35
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 23-07-2007 Ă  19:36:34  profilanswer
 

BDGest a écrit :

C'est peut ĂȘtre un gadget mais pour une DB locale et perso c'est trĂ©s pratique ;) J'imagine la tĂȘte des utilisateurs de BD Gest' sur dans la procĂ©dure d'install je demandais d'installer un serveur Oracle :mrgreen: Le prix de la licence serait sympathique aussi :mrgreen:


 
Mais c'est parfait comme truc pour une base locale, j'ai juste quelque soucis avec le SQL utilisĂ© :wink:  
C'est bien mieux qu'une base propriĂ©taire fichier comme l'Ă©tait GBDAO :wink:  
 

n°17992
amadigi
Rester calme et boire frais !
BDévore
Avatar

Messages : 2237
OĂč : Cachan
Age : 42
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 11-01-2008 Ă  01:28:17  profilanswer
 

Il m'est arrivĂ© un truc bizarre, j'avais Ă©crit une requĂȘte en V5 pour sĂ©lectionner les BD Ă  prĂȘter Ă  un emprunteur, en fonction des prĂȘts passĂ©s, afin de ne pas lui prĂȘter les mĂȘmes BD et de pouvoir lui prĂȘter les complĂ©ments sur des sĂ©ries :

Citation :

SELECT s.titre, a.num, a.titre
FROM albums a, series s
WHERE a.idserie = s.idserie
AND (s.idserie*1000)+a.idalbum NOT IN
(SELECT (s2.idserie*1000)+a2.idalbum
FROM prets p, albums a2, series s2
WHERE a2.idalbum = p.idalbum
AND p.emprunteur = 'XXXX'
AND a2.idserie = s2.idserie)
AND (s.idserie*1000)+a.idalbum NOT IN
(SELECT (s2.idserie*1000)+a2.idalbum
FROM prets p, albums a2, series s2
WHERE a2.idalbum = p.idalbum
AND p.DateRetour is null
AND a2.idserie = s2.idserie)
ORDER BY s.titre, a.num


La multiplication par 1000 permettait de tomber sur un numéro unique en combinant idserie et idalbum
La premiĂšre exclusion est sur les albums dĂ©jĂ  prĂȘtĂ©s
La seconde sur les albums en cours de prĂȘt
 
AprĂšs le passage en V6, lorsque j'exĂ©cute cette requĂȘte, le *1000 se transforme en %1000  et la requĂȘte plante :cry:
 
J'ai résolu temporairement en mettant +100000, mais est-ce que quelqu'un a une idée du pourquoi du comment le * se transforme en % [:ar sparfel:2]


---------------
*** Participez au classement des éditeurs DL 2008 ***
n°18015
lavielleph
BDébutant
Avatar

Messages : 1
OĂč : TOULON
Age : 42
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 14-01-2008 Ă  10:26:00  profilanswer
 

Bonjour,
 
j'ai une question simple: Perso 4 ne s'affiche pas dans le logicel, si je rajoute ", A.Perso4," dans SQL Album je n'ai toujours pas d'affichage.
J'ai envoyé 2 mails à la hot line sans réponses à ce jour.
 
Quelqu'un a t il une idée?
 
SQL Album:
 
A.EdO, A.Couverture, A.DateAchat, A.PrixAchat, A.DL, A.CoteActuelle, A.Editeur, A.Collection, Sc.Nom,  
             D.Nom, A.Integrale, A.HorsSerie, A.EditionLimitee, A.NoteAlbum, A.Format, A.Etat, A.Reference, A.Possede, A.Commentaire, Co.Nom, S.Style,  
             A.Broche, A.NbPages, Sc.Pseudo, D.Pseudo, Co.Pseudo, A.Perso1, A.Perso2, A.Perso3, A.NumA  
FROM ALBUMS A, SERIES S, AUTEURS Sc, AUTEURS D, AUTEURS Co  
WHERE A.IdSerie = S.IdSerie    
      AND A.IdColoriste = Co.IdAuteur    
      AND A.IdScenariste = Sc.IdAuteur    
      AND A.IdDessinateur = D.IdAuteur

n°18016
BDGest
Chef

Avatar

Messages : 10744
OĂč : Jura
Age : 37
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 14-01-2008 Ă  10:37:43  profilanswer
 

Perso4 n'est pas un champ texte comme les autres champs perso. C'est un champ Oui/Non qui peut avoir les valeurs 1/0 .
 
SELECT A.EdO, A.Couverture, A.DateAchat, A.PrixAchat, A.DL, A.CoteActuelle, A.Editeur, A.Collection, Sc.Nom,  
             D.Nom, A.Integrale, A.HorsSerie, A.EditionLimitee, A.NoteAlbum, A.Format, A.Etat, A.Reference, A.Possede, A.Commentaire, Co.Nom, S.Style,  
             A.Broche, A.NbPages, Sc.Pseudo, D.Pseudo, Co.Pseudo, A.Perso1, A.Perso2, A.Perso3, A.NumA , A.Perso4
FROM ALBUMS A, SERIES S, AUTEURS Sc, AUTEURS D, AUTEURS Co  
WHERE A.IdSerie = S.IdSerie    
      AND A.IdColoriste = Co.IdAuteur    
      AND A.IdScenariste = Sc.IdAuteur    
      AND A.IdDessinateur = D.IdAuteur
 
doit marcher


---------------
Article 1 : Le chef a toujours raison
Article 2 : Quand le chef se trompe, se référer à l'article 1

n°18729
amadigi
Rester calme et boire frais !
BDévore
Avatar

Messages : 2237
OĂč : Cachan
Age : 42
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 18-04-2008 Ă  12:28:36  profilanswer
 

amadigi a écrit :

Il m'est arrivĂ© un truc bizarre, j'avais Ă©crit une requĂȘte en V5 pour sĂ©lectionner les BD Ă  prĂȘter Ă  un emprunteur, en fonction des prĂȘts passĂ©s, afin de ne pas lui prĂȘter les mĂȘmes BD et de pouvoir lui prĂȘter les complĂ©ments sur des sĂ©ries :

Citation :

SELECT s.titre, a.num, a.titre
FROM albums a, series s
WHERE a.idserie = s.idserie
AND (s.idserie*1000)+a.idalbum NOT IN
(SELECT (s2.idserie*1000)+a2.idalbum
FROM prets p, albums a2, series s2
WHERE a2.idalbum = p.idalbum
AND p.emprunteur = 'XXXX'
AND a2.idserie = s2.idserie)
AND (s.idserie*1000)+a.idalbum NOT IN
(SELECT (s2.idserie*1000)+a2.idalbum
FROM prets p, albums a2, series s2
WHERE a2.idalbum = p.idalbum
AND p.DateRetour is null
AND a2.idserie = s2.idserie)
ORDER BY s.titre, a.num


La multiplication par 1000 permettait de tomber sur un numéro unique en combinant idserie et idalbum
La premiĂšre exclusion est sur les albums dĂ©jĂ  prĂȘtĂ©s
La seconde sur les albums en cours de prĂȘt
 
AprĂšs le passage en V6, lorsque j'exĂ©cute cette requĂȘte, le *1000 se transforme en %1000  et la requĂȘte plante :cry:
 
J'ai résolu temporairement en mettant +100000, mais est-ce que quelqu'un a une idée du pourquoi du comment le * se transforme en % [:ar sparfel:2]


 
Personne n'a répondu, vous n'avez pas une petite idée ???


---------------
*** Participez au classement des éditeurs DL 2008 ***
n°18730
johnkalak
Brestois
BDGestiste Avancé
Avatar

Messages : 5380
OĂč : F-94 Champigny sur Marne
Age : 30
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 18-04-2008 Ă  12:45:23  profilanswer
 

amadigi a écrit :

Personne n'a répondu, vous n'avez pas une petite idée ???


Je viens de retourner ta requĂȘte dans tout les sens et aucune idĂ©e :shock:
J'ai mĂȘme essayĂ© un tout con
SELECT s.idserie*1000
FROM series s
et ça fonctionne....


---------------
Le blog de la collection Soleil Celtic : http://soleilceltic.canalblog.com
n°18731
amadigi
Rester calme et boire frais !
BDévore
Avatar

Messages : 2237
OĂč : Cachan
Age : 42
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 18-04-2008 Ă  13:53:31  profilanswer
 

Oui, c'est ce que j'avais trouvé qui contourner le pb et j'ai donc gardé ce systÚme
Mais si quelqu'un avait une explication, afin que je m'endorme moins bĂȘte ... mais cela ne m'empĂȘche pas de dormir :mrgreen:


---------------
*** Participez au classement des éditeurs DL 2008 ***
n°18756
silversurf​er
BDéphile
Avatar

Messages : 1317
OĂč : Autriche
Age : 32
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 24-04-2008 Ă  22:32:23  profilanswer
 

Pour revenir sur cette histoire, il y a peut-ĂȘtre un bug bizarre avec le caractĂšre '*' car j'ai moi aussi une requĂȘte oĂč il est automatiquement remplacĂ© par un'%' ce qui cause une erreur.
 
VoilĂ  ma requĂȘte (nombre d'albums par auteur dans l'ordre en tenant compte des "autres auteurs" ) :
 

Code :
  1. SELECT Nom, Prenom, Pseudo, SUM(T) AS Total FROM
  2. (SELECT Nom, Prenom, Pseudo, count(*) AS T
  3. FROM AUTEURS, ALBUMS
  4. WHERE (AUTEURS.IdAuteur=ALBUMS.IdScenariste
  5. OR AUTEURS.IdAuteur=ALBUMS.IdDessinateur)
  6. AND Nom <> '<Collectif>'
  7. GROUP BY Pseudo, Prenom, Nom
  8. UNION ALL
  9. SELECT Nom, Prenom, Pseudo, count(*) AS T
  10. FROM COLLABORATEURS, AUTEURS
  11. WHERE (AUTEURS.IdAuteur=COLLABORATEURS.IdAuteur)
  12. AND Nom <> '<Collectif>'
  13. GROUP BY Pseudo, Prenom, Nom) AS TempTable
  14. GROUP BY Pseudo, Nom, Prenom
  15. ORDER BY SUM(T) DESC


Et donc le deuxiĂšme COUNT(*) est remplacĂ© par COUNT(%), ce qui fait Ă©chouer la requĂȘte. En remplaçant par un champ (COUNT(COLLABORATEURS.idAlbum)), ça marche.
 
J'ai essayĂ© de reproduire le problĂšme avec d'autres requĂȘtes, mais sans succĂšs.

n°18757
amadigi
Rester calme et boire frais !
BDévore
Avatar

Messages : 2237
OĂč : Cachan
Age : 42
Son top Séries
Son top Albums
Sa liste d'achat
PostĂ© le 24-04-2008 Ă  22:50:28  profilanswer
 

Il y a peut-ĂȘtre un conflit entre la version d'access locale et celle attendue dans BdGest
Sur mon PC, j'ai access 2000, lorsque j'ouvre le fichier mdb de ma base BdGest, il me dit qu'il faut la convertir pour pouvoir la manipuler sous access
je la convertit, je copie-colle ta requĂȘte et l'exĂ©cute telle quelle, aucun pb
mais dĂšs que je fais la mĂȘme chose dans les opĂ©rations sql avancĂ©es de BDGest, l'Ă©toile est transformĂ©e en % et la requĂȘte plante
 
Chef, n'y aurait-il pas un pb de compatibilité de version entre BdGest et MsAccess local ???
Je testerai au boulot, je dois avoir access 2003, pour voir !!


---------------
*** Participez au classement des éditeurs DL 2008 ***
 Page :  1  2
Page PrĂ©cĂ©dente 

Aller Ă  :
Ajouter une réponse