+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut Requete sql vers access impossible avec champ comportant des accents

    Bonjour,

    Mon problème est que j'ai une base de données Access que je ne peut modifier avec des noms de champs comportant des accents et des espaces.
    Du coup je n'arrive pas à récupérer les données de ces champs (par PHP).
    Exemple d'une de mes requetes :

    Code :
    1
    2
    3
    SELECT [], [date d'intervention] 
                     WHERE [date d'intervention]
                     BETWEEN '$date_debut' AND '$date_fin'
    Il y a aussi le ° de N° qui ne passe pas.
    Si quelqu'un a une idée pour contourner ce problème.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 691
    Points : 8 949
    Points
    8 949

    Par défaut

    Bonjour,

    Le pilote ODBC de PHP n'y arrive pas non plus ?
    Je n'ai jamais testé à vrai dire.
    # Dans la Création, tout est permis mais tout n'est pas utile...

  3. #3
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Apparemment non car c'est ODBC que j'utilise. Après je ne sais pas si c'est ODBC ou Access qui ne prend pas en charge les accents.

  4. #4
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 691
    Points : 8 949
    Points
    8 949

    Par défaut

    Bon, c'est mort je pense.
    Je viens de faire un essai.
    Tu peux contourner le problème : pour chaque table tu fais une requête qui reprend tes tables et tu nommes correctement les champs. Ainsi, tu ne touches pas la structure des tables. Tu fais une sorte de "vue" des tables dans access.
    Quelle idée aussi de nommer des champs de manière si exotique...
    # Dans la Création, tout est permis mais tout n'est pas utile...

  5. #5
    Membre expérimenté Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2010
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2010
    Messages : 397
    Points : 553
    Points
    553

    Par défaut

    C'est bien la première fois que je vois des champs comme ça

    Est-ce que tu as essayé d'échaper les caractères ?

    Je ne sais pas comment échapper le °, sûrement avec un \.

    Par contre pour le ' il faut simplement le doubler.

    Code sql :
    1
    2
    3
    SELECT [N\°], [date d''intervention] 
                     WHERE [date d''intervention]
                     BETWEEN '$date_debut' AND '$date_fin'

    Je sais pas si sa marche, à tester

  6. #6
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    C'est vrai que je n'ai pas pensé à échapper le °, j'essai ça dans 15 min et je te dit.
    Merci.

  7. #7
    Invité de passage
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2012
    Messages : 4
    Points : 0
    Points
    0

    Par défaut

    Bon l'échappement du ° ne fonctionne pas !
    J'y ai déja pensé à faire une copie de la table avec des champs différents, le problème c'est que je n'utilise pas du tout Access et je ne sais pas comment faire.
    Je pense qu'il doit falloir faire une requete par champs, mais je ne sais aucunement faire une requete sur Access.
    Pour ces noms exotiques je confirme que celui qui a créé cette table ne doit connaitre que Access.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •