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 :

problème sur récupérer une valeur d'une requête dans un champ [WD16]


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 59
    Points : 37
    Points
    37
    Par défaut problème sur récupérer une valeur d'une requête dans un champ
    bonjour à tous, merci d'avance pour votre aide, je suis débutant en windev, j'ai eu un problème ci-dessous
    j'ai deux champ dans la fenêtre "ajouter un fabriquant"

    un champ "ville fabriquant" ici on saisie nom de la ville == "nom ville ou champ saisie " est "param1" ici égale "SAI_nom_fab_a"

    autre champ invisible "idville fabriquant" pour récupérer la valeur d'une requête et puis mettre "idville fabriquant" dans la table "fabriquant " dans la base

    mon probleme est j'arrive pas récupérer "idville" dans ma base

    et aussi je sais pas trop où je definie le "param1"

    merci d'avance pour votre aide

    ici mes codes de botton ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    HLitRecherchePremier(Fabriquant,code_fab,SAI_code_fab_a)
    SI PAS HTrouve(Fabriquant) ALORS
    EcranVersFichier()
    	SI (HExécuteRequête(REQ_remplieIDville,hRequêteDéfaut,SAI_nom_fab_a) = Vrai) ALORS
    		HLitPremier(REQ_remplieIDville)
    		SAI_SansNom1 = REQ_remplieIDville.IdVille
    	FIN
    HAjoute(Fabriquant)
    SINON
    	SI OuiNon("Ce CODE a existé dans la table,vous voulez l'enregister?") ALORS
    		Sablier(Vrai)
    		HAjoute(Fabriquant)
    	SINON
    		RETOUR
    	FIN
     
    FIN
    RAZ()
    HRAZ(Fabriquant)
    mes codes sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SELECT 
    	Ville.nom_ville AS nom_ville,	
    	Ville.IdVille AS IdVille,	
    	Fabriquant.ville_fab AS ville_fab
    FROM 
    	Ville,	
    	Fabriquant
    WHERE 
    		Fabriquant.ville_fab	=	Ville.IdVille
    	AND
    	(
    		Ville.nom_ville LIKE {Param1}
    	)

  2. #2
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Un premier conseil de code que je te donnerai suite à ta ligne 5

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HLitPremier(REQ_remplieIDville)
    Je rajouterais un test avec la fonction Hendehors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    si Hendehors(REQ_remplieIDville) alors
         Erreur("")
    sinon 
         SAI_SansNom1 = REQ_remplieIDville.IdVille
    fin
    Cela te permettra de savoir si ta requête renvoie des résultats.

    Sinon je pense que ton problème provient de ta requête, tu utilises l'opérateur LIKE, qui est opérateur de comparaison partielle, qui doit être utiliser avec les caractères % ou _

    Va jeter un coup d'oeil sur ce tuto : http://sqlpro.developpez.com/cours/sqlaz/select/

    Je coderais la requête SQL comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT 
    	Ville.nom_ville AS nom_ville,	
    	Ville.IdVille AS IdVille,	
    	Fabriquant.ville_fab AS ville_fab
    FROM 
    	Ville,	
    	Fabriquant
    WHERE 
    		Fabriquant.ville_fab	=	Ville.IdVille
    	AND
    	(
    		Ville.nom_ville = {Param1}
    	)
    Après question, est ce que tu forces la case (Majuscule/minuscule) de ton champ de saisie ?, sinon il faudra voir pour améliorer la requête SQL et code d'appel.
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 59
    Points : 37
    Points
    37
    Par défaut merci pour votre aide
    merci à tous , merci pour votre aide

    j'ai modifié les code comme ci-dessous

    maintenant je peux récupérer idville dans la table fabriquant

    mais le seul problème est qu'il ajoute toujours non stop

    j'ai besoin de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
     
    HLitRecherchePremier(Fabriquant,code_fab,SAI_code_fab_a)
    SI PAS HTrouve(Fabriquant) ALORS
    EcranVersFichier()
     HExécuteRequête(REQ_remplieIDville,hRequêteDéfaut,SAI_ville_fab_a)  
      HLitPremier(REQ_remplieIDville)
    TANTQUE PAS  HEnDehors(REQ_remplieIDville) 
    		Fabriquant.ville_fab = REQ_remplieIDville.idville
     
            HAjoute(Fabriquant)
     
            FIN
     
    SINON
    	SI OuiNon("Ce CODE a existé dans la table,vous voulez l'enregister?") ALORS
    		Sablier(Vrai)
    		HAjoute(Fabriquant)
    	SINON
    		RETOUR
    	FIN
     
    FIN
     
    RAZ()
    HRAZ(Fabriquant)
    code sql

    SELECT
    Ville.IdVille AS IdVille
    FROM
    Ville

    WHERE
    Ville.nom_ville = {saisie_ville}

  4. #4
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TANTQUE PAS  HEnDehors(REQ_remplieIDville)
    je mettrai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    si PAS  HEnDehors(REQ_remplieIDville)
    ------------------------------------------------------------------------------------------------------------------------------------------
    Mon message vous a aidé, pensez à remercier . La discussion est résolue, n'oubliez pas le tag
    ------------------------------------------------------------------------------------------------------------------------------------------
    Site perso : Formation, Expérience, Réalisations, ...
    Blog : Le Blog de DSR57 - Programmation WinDev

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 59
    Points : 37
    Points
    37
    Par défaut merci
    merci beaucoup , c'est résolu

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 7
    Dernier message: 02/04/2015, 10h58
  3. [WD16] Récupérer la valeur d'une colonne d'une table d'une ligne précise
    Par elghers_hocine dans le forum WinDev
    Réponses: 16
    Dernier message: 06/05/2011, 18h11
  4. Réponses: 7
    Dernier message: 28/10/2008, 10h54
  5. Réponses: 2
    Dernier message: 21/09/2007, 17h27

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