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

WinDev Discussion :

relation avec une base access [WD12]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par défaut relation avec une base access
    bonjour a tous,

    petit souci de format ou autre ??
    je me connecte a une base access ,j'utilise un SQLExe.......

    syntaxe de la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    sMon_sql est une chaîne=[
    SELECT ID_SESSION, NOM_NOEUD, TYPE_RESULTAT, VALEURS, DATE_SIMULATION
    FROM resultats_hydro
    WHERE ID_SESSION =  "+ma_session+"
    ORDER BY ID_SESSION ASC, DATE_SIMULATION ASC
    ]
     
    SI SQLExec( sMon_sql, "REQ_SELECTION_SESSION") ALORS blablablabla....
    si je remplace la variable "ma_session" par une valeur exprevi-02-02-06h previ max),cela fonctionne ....

    la variable "ma_session" et de type chaine et sur la base access aussi.je ne sais plus quoi mettre comme signe devant \ derriere.

    la question :comment ecrire la partie de la requête :WHERE ID_SESSION = "+ma_session+" si ma session est une chaine et ou si c'est un numerique

    merci d'avance pour le coup de main

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Les variables chaines doivent être entre double quote, les numériques eux peuvent être passés directement.

    Where id_Session="PREV_BLABLA" ou
    Ma_Session = "PREV_BLABLA" et Where id_Session="""+Ma_Session+"""

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par défaut
    merci louis

    donc j'ai tenté les deux solutions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ma_session est une chaine= "blabla"
    ensuite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	sMon_sql est une chaîne=[
    SELECT ID_SESSION, NOM_NOEUD, TYPE_RESULTAT, VALEURS, DATE_SIMULATION
    FROM resultats_hydro
    WHERE ID_SESSION =  """+ma_session+"""
    ORDER BY ID_SESSION ASC, DATE_SIMULATION ASC
    ]
    
    SI SQLExec( sMon_sql, "REQ_SELECTION_SESSION") ALORS .............
    //et traitement des info ou données
    et la rien ne se passe pas de récupération de données (elles existent ....)

    par contre si j'ecrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE ID_SESSION =  "blabla"   a la place de    WHERE ID_SESSION =  """+ma_session+"""
    cela fonctionne (donc sans l'utilisation d'une variable)

  4. #4
    Membre éprouvé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 998
    Par défaut
    Bonjour,

    Sauf erreur, votre variable ne possède pas les bonnes cotes

    cela devait plutôt ressembler à ceci

    '"+ma_cession+'"

    (Guillemet + cote) +ma_cession+ (cote + guillemet)

    Cela devrait fonctionner
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 17
    Par défaut
    Raptor92 merci

    mais hélas pas de fonctionnement correct......

    dans un autre secteur de mon programme j'utilise ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	sMon_id est une chaîne=TAB_station_moise.COL_Id_station_moise
     
    SI SQLExec( "SELECT   id_Capteur,TypeCapteur FROM capteurs WHERE TypeCapteur =  'Limni'   AND  id_Station =" +sMon_id , "REQ_SELECTION_CAPTEUR") ALORS .....................
    //traitement
    et la cela fonctionne
    franchement je désepère

    finalement j'ai testé sur deux cas:

    1) avec une déclaration de la requête SQL ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    sMon_sql est une chaîne=[
    SELECT ID_SESSION, NOM_NOEUD, TYPE_RESULTAT, VALEURS, DATE_SIMULATION
    FROM resultats_hydro
    WHERE ID_SESSION =  '"+ma_session+"'
    ]
    SI SQLExec( sMon_sql, "nom de la requete") ALORS.....................
    cela ne fonctionne pas

    2) avec la requete incrite directement dans le SQLExec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI SQLExec( "SELECT ID_SESSION, NOM_NOEUD, TYPE_RESULTAT, VALEURS, DATE_SIMULATION FROM resultats_hydro WHERE ID_SESSION =  '"+ma_session+"' " , "nom de la requete") ALORS....................
    et la miracle cela fonctionne

    qui peut m'expliquer ??? sachant que ma_session est une variable chaine

  6. #6
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 402
    Par défaut
    Salut à toi,

    A mon avis, l'erreur provient d'une erreur de syntaxe dans l'utilisation des [].
    Je ne connaissais pas cette syntaxe mais dans l'aide il y a un exemple avec une variable et ta chaîne devrait ressembler à cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sMon_sql est une chaîne=[
    SELECT ID_SESSION, NOM_NOEUD, TYPE_RESULTAT, VALEURS, DATE_SIMULATION
    FROM resultats_hydro
    WHERE ID_SESSION = ']+ma_session+[']

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

Discussions similaires

  1. Créer les relations dans une base access avec ADOQuery
    Par codial dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/03/2007, 09h31
  2. Réponses: 1
    Dernier message: 06/08/2006, 04h00
  3. [ODBC] comment je peut conecter avec une base access chez le client avec php
    Par louzar dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 05/08/2006, 21h35
  4. [VB6]Problème connexion avec une base ACCESS
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 15/05/2006, 17h47
  5. Probleme de relations dans une base access.
    Par fredhali2000 dans le forum Access
    Réponses: 6
    Dernier message: 21/02/2006, 16h36

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