Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & ODBC
PHP & ODBC Forum d'entraide sur ODBC avec PHP. Avant de poster -> FAQ ODBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/08/2008, 11h35   #1
Nouveau Membre du Club
 
Inscription : août 2008
Messages : 142
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 142
Points : 38
Points : 38
Par défaut Requêtes Access qui ne passent pas

Bonjour à tous,

Je suis confronté à une difficulté que j'arrive pas à résolveer depuis une semaine et j'espère trouver mon bonheur ici.

J'ai une base de donées access, et un script php qui s'y connecte. Le script php execute ensuite 14 requêtes qui me permettent de mettre à jour des données. Sauf que voilà, des 14 requêtes, seule une seule est éxécutée. J'ai beau changer l'ordre des requêtes dans le script, les 13 autres ne marchent toujours pas. Ce qui est le plus supprenant, c'est que toutes ces requêtes, mises hors contexte fonctionnent correctement. En d'autres termes, j'execute les mêmes requêtes sans problème sous access directement.

Voici la requête qui marche :
Code :
UPDATE TBL_DEMANDES SET Dem_OLX_Libel = 'INTERVENTION COMPTAGE' WHERE NOT (Dem_Libelle Like '*PUISS*' Or Dem_Libelle Like '*KVA*' Or Dem_Libelle Like '*PS*' Or Dem_Libelle Like '*AP*' Or Dem_Libelle Like '*DP*' Or Dem_Libelle Like '*BAISSE*' Or Dem_Libelle Like '*DIMIN*' Or Dem_Libelle Like '*AUGMENT*') AND Dem_Description In ('Intervention Comptage') AND Dem_Type = 'Demande Simple'
Et voici par exemple un exemple de requête qui ne marche pas avec le script , mais qui fonctionne directement sous access :
Code :
UPDATE TBL_DEMANDES SET Dem_OLX_Libel = 'MODIF NON CONTRACTUELLE OH' WHERE (Dem_Libelle Like '*MODIF*' Or Dem_Libelle Like '*CHGT*' Or Dem_Libelle Like '*DOMICIL*' Or Dem_Libelle Like '*COORD*' Or Dem_Libelle Like '*ADRES*') AND Dem_Description In ('Modif Non Contractuelle OH') AND Dem_Type = 'Demande Simple'
La seule différence que je vois entre ces deux requêtes est que la première(celle qui marche) a une clause "WHERE NOT", et la seconde (celle qui ne marche pas) une clause "WHERE". J'ai éssayé bêtement de mettre la clause "WHERE NOT" à la place de la clause "WHERE" dans ma seconde requête et comme par miracle, elle marche aussi bien via le script que directement sous acces.

Bref, je n'y comprends plus rien. Aidez moi s'il vous plait.
papaetoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 11h49   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
Le joker en SQL c'est %, essai comme ca :
Citation:
Envoyé par papaetoo
J'ai éssayé bêtement de mettre la clause "WHERE NOT" à la place de la clause "WHERE" dans ma seconde requête et comme par miracle, elle marche
Si tu demandes a mettre à jour tous les enregistrements ou Dem_Libelle vaut XXX mais qu'aucun n'a cette valeur, rien n'est mis à jour.
C'est donc très normal que si tu demandes ensuite de mettre à jour tous les enregistrement ou Dem_Libelle ne vaut pas XXX, tout soit mis à jour.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 16h04   #3
Nouveau Membre du Club
 
Inscription : août 2008
Messages : 142
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 142
Points : 38
Points : 38
Par défaut merci

Apparement, c'était juste cela le problème. Et dire que j'ai glanné là dessu pendant tout ce temps là.
Merci...
papaetoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h56.


 
 
 
 
Partenaires

Hébergement Web