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 :

Requête sql avec where


Sujet :

WinDev

  1. #1
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut Requête sql avec where
    Bonjour,

    Je suis débutant en windev...
    Voilà je doit lancer une requête sur une table dont la clause where est dans un champ de saisie.
    J'ai éssayé de lire l'aide mais je n'ai pas arrivé à réaliser quelque chose.
    Je m'explique : j'ai un champ de saisie dans lequel l'utilisateur doit saisir une matricule, à la sortie du champ de saisie le programme doit exécuter la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     RESSQL = SQLExec(" SELECT SUM(B_PU * B_QTE * D_CHARGE / 100)  as Consot from BON, BON_PHARMA WHERE BON.A_matricule = Bon_pharma.A_matricule_bon  and a_matricule = " + champ de saisie , "REQ1")
    SI PAS RESSQL ALORS
    	SQLInfoGene("REQ1")
    	Info("Erreur SQL : " + SQL.MesErreur)
    SINON
    	Conso = SQLLitCol("req1",1)
    	Info(RESSQL)
    FIN
    SQLFerme("REQ1")
    En l'exécutant il y'a des erreurs sql...
    Je sais que mon code n'est pas bien, c'est pour cela je demande de l'aide.

    - comment intégrer un champ de saisie dans une requête sql
    - comment extraire le résultat et l'afficher dans une variable ou un champ de saisie.

    Merci pour toutes aides.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Tu ne peux utiliser un champ de saisie dans une requete, tu dois utiliser une variable à laquelle tu attribues la valeur du champ de saisie et tu fais une requete paramètrée (cf Aide)

    Pour récupérer la valeur tu assignes la valeur lue à une variable.

  3. #3
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut
    J'ai fais une recherche dans l'aide concernant les requêtes paramétrés et j'ai pu faire quelque chose.
    la requête renvoie une somme, donc j'ai déclarer une variable xconso de type numérique.
    Maintenant je ne sais pas avec quel instruction récupérer les résultat de la requête. J'ai éssayé avec SqlLitCol qui renvoie 0 comme résultat ce qui n'est pas normal dans mon cas.

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    ajoute: sqlavance(nom_requete)
    avant ton sqllitcol() et ré-écrit correctement le nom de ta requête il doit prendre en compte la casse

  5. #5
    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
    Points : 5 953
    Points
    5 953
    Par défaut
    Tu peux utiliser NomChamp..valeur, mais si ton champ est de type numérique, tu dois utiliser NumériqueVersChaine pour le placer dans ton Where.

  6. #6
    Membre habitué Avatar de sondo
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2004
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Août 2004
    Messages : 540
    Points : 162
    Points
    162
    Par défaut
    Merci pour votre aide.
    Mais comme je le disais au début je suis débutant.
    Si ce n'est trop vous demander, pouvez-vous illustrer vos explications par des exemples?.
    Par exemple : faire un requêtes sql et récupérer le résultat dans une variable.

    Merci.

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Il y a tout ce qu'il faut, y compris des exemples, dans l'aide Windev

Discussions similaires

  1. ma Requête SQL avec WHERE me demande un parametre
    Par symbabeauchat dans le forum IHM
    Réponses: 3
    Dernier message: 13/08/2011, 10h53
  2. Réponses: 4
    Dernier message: 11/01/2011, 16h29
  3. [MySQL] Requête SQL avec clause where max
    Par younes371 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/12/2009, 09h21
  4. requête SQL avec paramètre en vb avec base de donnée SQL srv
    Par dialydany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2005, 10h33
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 11h37

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