[Access et PHP]NZ non reconnu?
Mythrandil
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Mythrandil Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Mythrandil Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour à Tous,
je suis face à un problème.
J'ai réalisé 4 requêtes sous Access, je vous les colle ici :
Prev1
Prev2
Livrables (Union entre Prev1 et Prev2)
LivrablesFinal (Ajout de certains calculs et colonnes)
Tout cela s'exécute sans difficulté sous Access.
Je vais d'ores et déjà répondre aux questions. Pourquoi tant de cdbl et de NZ dans la dernière requête ? Parce que je ne peux pas le faire avant puisque la jointure (jointure complète) m'ajoute des champs à NULL que je dois remplacer par 0 pour faire une somme.
J'aurais pu le faire dans la requête "Livrables" mais ça revient au même.
Je veux exécuter "LivrablesFinal" dans un script PHP. Voici l'erreur retournée :
Warning: odbc_exec: SQL error [Microsoft][Pilote ODBC Microsoft Access] Fonction 'nz' non définie dans l'expression, SQL state 37000 in SQL ExecDirect in C:\.... on line 9
Est la fonction NZ qui pose problème ? Est ce mon code ?
Voilà...
Merci d'avance de votre aide éventuelle.
je suis face à un problème.
J'ai réalisé 4 requêtes sous Access, je vous les colle ici :
Prev1
TRANSFORM nz(Count(*),0) AS nbMES SELECT projet.PROGRAMME_IDENTIFIANT FROM jalons, projet WHERE (((jalons.PROJET_NUMPROJET)=[projet].[projet_numprojet]) AND ((jalons.JALONS_MISEENSERVICE) Is Not Null) AND ((Month([jalons_miseenservice]))<Month(Now())) AND ((jalons.JALONS_ETATMISEENSERVICE)='1') AND ((Year([jalons_miseenservice]))=Year(Now()))) GROUP BY projet.PROGRAMME_IDENTIFIANT PIVOT Month(jalons_miseenservice);
Prev2
TRANSFORM nz(Count(*),0) AS nbMES SELECT projet.PROGRAMME_IDENTIFIANT FROM jalons, projet WHERE jalons.PROJET_NUMPROJET=projet.projet_numprojet And jalons.JALONS_MISEENSERVICE Is Not Null And Month([jalons_miseenservice])>=Month(Now()) And jalons.JALONS_ETATMISEENSERVICE Is Null And year(jalons_miseenservice)=year(now()) GROUP BY projet.PROGRAMME_IDENTIFIANT PIVOT Month(jalons_miseenservice);
Livrables (Union entre Prev1 et Prev2)
SELECT prev1.programme_identifiant, [1] as Janvier, [2] as Fevrier, [3] as Mars, [4] as Avril,[5] as Mai, [6] as Juin,[7] as Juillet,[8] as Aout, [9] as Septembre, [10] as Octobre,[11] as Novembre, [12] as Decembre FROM prev1 LEFT JOIN prev2 ON prev1.programme_identifiant=prev2.programme_identifiant UNION SELECT prev2.programme_identifiant, [1] as Janvier, [2] as Fevrier, [3] as Mars, [4] as Avril,[5] as Mai, [6] as Juin,[7] as Juillet,[8] as Aout, [9] as Septembre, [10] as Octobre,[11] as Novembre, [12] as Decembre FROM prev2 LEFT JOIN prev1 ON prev1.programme_identifiant=prev2.programme_identifiant;
LivrablesFinal (Ajout de certains calculs et colonnes)
SELECT programme_nomprogcapex AS Programme, Jan+Fev+Mar+Avr+Mai+Juin+Juil+Aout+Sept+Oct+Nov+Dec AS Qtes, Programme_PUMoyen, Programme_PUMoyen*Qtes AS Total, cdbl(nz(Janvier,0)) AS Jan, cdbl(nz(Fevrier,0)) AS Fev, cdbl(nz(Mars,0)) AS Mar, cdbl(nz(Avril,0)) AS Avr, cdbl(nz(Livrables.Mai,0)) AS Mai, cdbl(nz(Livrables.Juin,0)) AS Juin, cdbl(nz(Juillet,0)) AS Juil, cdbl(nz(Livrables.Aout,0)) AS Aout, cdbl(nz(Septembre,0)) AS Sept, cdbl(nz(Octobre,0)) AS Oct, cdbl(nz(Novembre,0)) AS Nov, cdbl(nz(Decembre,0)) AS [Dec] FROM Livrables, Programme WHERE Livrables.Programme_Identifiant=Programme.Programme_Identifiant;
Tout cela s'exécute sans difficulté sous Access.
Je vais d'ores et déjà répondre aux questions. Pourquoi tant de cdbl et de NZ dans la dernière requête ? Parce que je ne peux pas le faire avant puisque la jointure (jointure complète) m'ajoute des champs à NULL que je dois remplacer par 0 pour faire une somme.
J'aurais pu le faire dans la requête "Livrables" mais ça revient au même.
Je veux exécuter "LivrablesFinal" dans un script PHP. Voici l'erreur retournée :
Warning: odbc_exec: SQL error [Microsoft][Pilote ODBC Microsoft Access] Fonction 'nz' non définie dans l'expression, SQL state 37000 in SQL ExecDirect in C:\.... on line 9
Est la fonction NZ qui pose problème ? Est ce mon code ?
Voilà...
Merci d'avance de votre aide éventuelle.
A voir également:
- [Access et PHP]NZ non reconnu?
- Cle usb non reconnu - Guide
- Easy php - Télécharger - Divers Web & Internet
- Acer quick access ✓ - Forum PC portable
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Access appdata - Guide
2 réponses
Le problème c'est que NZ est une fonction VBA et non une fonction SQL.
Il faut donc que tu crée ta requête en VBA et que tu l'envoie seulement ensuite au SGBD Access.
Il faut donc que tu crée ta requête en VBA et que tu l'envoie seulement ensuite au SGBD Access.