IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

[ACCESS] Intégration Données via PHP


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [ACCESS] Intégration Données via PHP
    Bonjour à tous,

    Je cherche à comprendre mon erreur sur un INSERT INTO sur une base ACCESS via un script PHP et une connexion ODBC.
    Le lien entre la base de données ACCESS et mon script fonctionne bien puisque j'arrive à faire un SELECT.

    Voici la requête effectuée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into Lots (Produit, Référence, Date_Création, Début_Production, Fin_Production, Date_Lyophilisation, Date_Cloture, Clos, Commentaires, E, S, Solde, RemarqueImportante, Fournisseur, NewLot) VALUES (3,'C.ce.-C-4.11 ','20/06/2011','20/09/2011','13/12/2011','14/12/2011','','Non','Changement de lettre de POOL. Clôture auto de tous les flacons du Pool #13 le 2011-12-13 08:21:00.',5168,0,5168,'Non',0,'C.ce.-C-4.11 ')
    Voici l'erreur lors de l'exécution de la requête :

    Warning: odbc_do() [function.odbc-do]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Type de données incompatible dans l'expression du critère., SQL state 22005 in SQLExecDirect in C:\dev_internet\www\stock\test_lien.php on line 320
    Et enfin la structure de la table :

    NumEnr : NuméroAuto
    Produit : Numérique
    Référence : Texte
    Date_Création : Date/Heure
    Début_Production : Date/Heure
    Fin_Production : Date/Heure
    Date_Lyophilisation : Date/Heure
    Date_Cloture : Date/Heure
    Clos : Oui/Non
    Commentaires : Mémo
    E : Numérique
    S : Numérique
    Solde : Numérique
    RemarqueImportante : Oui/Non
    Fournisseur : Numérique
    NewLot : Texte


    Ayant très peu de connaissance sur ACCESS je fais appel à votre aide.

    Merci par avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 665
    Points : 34 373
    Points
    34 373
    Par défaut


    la syntaxe des dates me semble le point problématique.

    Lorsqu'on travaille avec Access, le format d'une date jj/mm/aaaa doit être
    #mm/jj/aaaa#.

    Tu dois donc adapter ton sql en conséquence

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Tout d'abord merci pour ta réponse.
    Cependant ce qque je ne comprends pas c'est que mon champs dans ma base ACCESS est au format 'Date, abrégée' (jj/mm/aaaa) avec un masque de saisie en 00/00/0000.

    Via une requête comment puis-je intégrer une date
    Est-ce bon ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $queryaccess = "insert into Lots (Date_Création)"; 
    $queryaccess .= " VALUES ('#".$date_creation."#') "; 
    $result = odbc_do($connexion,$queryaccess);
    ce qui donnerait la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert into Lots (Date_Création) VALUES ('#07/03/2011#')
    Merci pour votre aide

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 665
    Points : 34 373
    Points
    34 373
    Par défaut
    il ne faut pas de quote entourant les ##

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réactivité et tes réponses ça fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PostgreSQL] connexion à une base de données via php
    Par georex dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/04/2012, 13h20
  2. [ACCESS] Intégration données via PHP II
    Par winco07 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 12/03/2012, 09h24
  3. Réponses: 4
    Dernier message: 01/02/2012, 17h16
  4. [MySQL] manipulation des données via PHP
    Par baouk2000 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 20/03/2010, 01h24
  5. Export de données Oracle vers Excel via PHP
    Par Yanos dans le forum Oracle
    Réponses: 1
    Dernier message: 11/01/2006, 19h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo