• Advertisement

base de données Access...

Tout ce qui concerne la version 11 & plus récentes de windev

**Windev est une marque déposée de Pcsoft**

base de données Access...

Messagepar miika_L » Jeu Jan 27, 2011 10:33 am

Bonjour.

Je doit créer une application qui gère une partie du SAV d'une petite entreprise.
Leur base de donnée commercial est faire sous Access, plus de 50 tables ^^.
bref.

J'ai un soucis de remplissage d'un champ.
En effet j'ai une combo qui m'affiche tous les articles du magasin(j'affiche le code articles)... a coté de cette combo j'ai un bouton Valider et sur ce bouton j'aimerais en cliquan qu'il m'affiche la désignation du produit dans le libelle en dessous de la combo...

Image

voici le code pour accéder a ma base :
Code: Tout sélectionner
PROCEDURE ConnexionBDD()


SI SQLConnecte("C:\BASE PRAGMA\GestC.mdb", "", "", "", "ACCESS") = 0 ALORS
   SQLInfoGene()
   Erreur("La connexion à la source de données a échoué."+RC+...
   "Code erreur : " + SQL.Erreur +RC+...
   SQL.MesErreur)
   SQLDeconnecte()
   Ferme
FIN


le code de remplissage de ma combo articles :
Code: Tout sélectionner
SAI_DateDuJour=DateDuJour()

ConnexionBDD()

SI SQLExec("SELECT Code FROM Article", "REQCLI") = Faux ALORS
   SQLInfoGene("REQCLI")
   Info("Erreur SQL : " + SQL.MesErreur)
SINON      
   SQLTable("REQCLI",COMBO_Article)
   
FIN


donc j'aimerais qu'au clic sur le bouton j'ai la désignation du produit en référence au code selectionné dans la combo :)
j'ai essayer plusieurs truc mais ça n'a pas fonctionné.
merci de votre aide :)
Cordialement miika_L
miika_L
Membre
 
Messages: 42
Inscription: Mer Jan 05, 2011 9:00 am

Advertisement

Re: base de données Access...

Messagepar miika_L » Jeu Jan 27, 2011 2:16 pm

j'ai voulu passer une requête paramétré, mais je ne sais pas comment m'y prendre ! c'est plus simple quand c'est de l'hyperfile ^^.
j'ai essayer ça sur le clic du bouton :
Code: Tout sélectionner
ConnexionBDD()
param1 est une chaîne = COMBO_Article
SQLExec("SELECT Nom FROM Article WHERE Code={param}'","REQNOM")
SQLTable("REQNOM",Combo1)

mais ça ne fonctionne pas bien évidemment ^^

help me ^^
Cordialement miika_L
miika_L
Membre
 
Messages: 42
Inscription: Mer Jan 05, 2011 9:00 am

Re: base de données Access...

Messagepar GDev » Jeu Jan 27, 2011 2:58 pm

Essaye un truc pour faire simple au lieu de

param1 est une chaîne = COMBO_Article

mets

param1 est une chaîne = COMBO_Article..ValeurAffichée

et exécute ta requête
GDev
Membre Confirmé
 
Messages: 222
Inscription: Jeu Jan 27, 2011 2:16 pm

Re: base de données Access...

Messagepar miika_L » Jeu Jan 27, 2011 3:20 pm

non ça ne fonctionne pas :/
mais je ne suis pas sur de la syntaxe pour la requête paramétré !
Cordialement miika_L
miika_L
Membre
 
Messages: 42
Inscription: Mer Jan 05, 2011 9:00 am

Re: base de données Access...

Messagepar GDev » Jeu Jan 27, 2011 3:31 pm

On est bien d'accord que tu veux afficher la désignation de ton produit dans le libéllé en bas quand tu cliques sur le bouton ?
Si c'est le cas dans le code du bouton, au clic, tu fais ce que je t'ai dis :

Code: Tout sélectionner
//Bien sur auparavant tu fais ta connexion a ta BDD comme tu le fais
Resultat est une chaine = Combo_Article..ValeurAffichée //Vérifier que la Valeur Affichée n'est pas vide

SI SQLExec("SELECT Nom FROM Article WHERE Code='+Resultat+'","REQNOM") = VRAI ALORS   //Si ton code est une chaine sinon tu le transforme en numérique
              Libelle = SQLLITCOL(REQNOM,1)   //Excuse moi je ne me souviens pu exactement de la syntaxe pour récupérer le résultat de la requête
FIN

SQLFerme(REQNOM)


Essaye ça pour voir, enfin j'espère avoir compris
GDev
Membre Confirmé
 
Messages: 222
Inscription: Jeu Jan 27, 2011 2:16 pm

Re: base de données Access...

Messagepar GDev » Jeu Jan 27, 2011 3:41 pm

Excuse moi je me suis trompé tu dois faire un SQLExec et ensuite un truc du genre tantque SQLAvance(REQNOM) = 0 alors et ensuite SQLLitCol(REQNOM,1), enfin regarde dans l'aide cela t'aidera je ne connais plus trop les syntaxes SQL
GDev
Membre Confirmé
 
Messages: 222
Inscription: Jeu Jan 27, 2011 2:16 pm

Re: base de données Access...

Messagepar miika_L » Ven Jan 28, 2011 1:18 pm

Salut.

j'ai donc essayer ta méthode mais ça en fonctionne toujours pas...
voici le code :
Code: Tout sélectionner
ConnexionBDD()
i est un entier = 0

param1 est une chaîne = COMBO_Article..ValeurAffichée
SQLExec("SELECT Nom FROM Article WHERE Code='+param1+' ","REQNOM")
TANTQUE SQLFetch("REQNOM") = 0
   i++
//Combo1 est la combo ou je veux que la désignation s'affiche.
   Combo1[i] = SQLLitCol("REQNOM",1)
FIN

SQLFerme("REQNOM")


je suis coincé :/
Cordialement miika_L
miika_L
Membre
 
Messages: 42
Inscription: Mer Jan 05, 2011 9:00 am

Re: base de données Access...

Messagepar GDev » Ven Jan 28, 2011 1:37 pm

Mets un point d'arrêt au niveau de ta requête et édite dans le déboggeur pour voir si elle te renvoie un résultat.
Dis moi ce que cela te donne
GDev
Membre Confirmé
 
Messages: 222
Inscription: Jeu Jan 27, 2011 2:16 pm

Re: base de données Access...

Messagepar miika_L » Ven Jan 28, 2011 1:49 pm

donc dans le débogeur le param1 est bien pris en compte il récupere bien la valeur de ma combo :) mais le problème c'est qu'il ne passe pas par l'étape :
Code: Tout sélectionner
Combo1[i] = SQLLitCol("REQNOM",1)

donc du coup rien ne s'affiche dans l'autre combo :/
Cordialement miika_L
miika_L
Membre
 
Messages: 42
Inscription: Mer Jan 05, 2011 9:00 am

Re: base de données Access...

Messagepar GDev » Ven Jan 28, 2011 2:49 pm

Alors maintenant crée toi une variable :

sResultat est une chaine

Tu éxecute ta requête et tu fais :

TANTQUE SQLAvance("REQNOM") = 0
sResultat += SQLLitCol("REQNOM",1)
FIN

SQLFerme("REQNOM")

Trace(sResultat )

Cela donne quoi ?
GDev
Membre Confirmé
 
Messages: 222
Inscription: Jeu Jan 27, 2011 2:16 pm

Re: base de données Access...

Messagepar miika_L » Ven Jan 28, 2011 2:56 pm

mais la avec ce code en aucun cas ma combo de description est renseigné ??
Cordialement miika_L
miika_L
Membre
 
Messages: 42
Inscription: Mer Jan 05, 2011 9:00 am

Re: base de données Access...

Messagepar GDev » Ven Jan 28, 2011 2:57 pm

Je suis d'accord je veux seulement voir tout d'abord si cela te sort un résultat, si oui je te dirais quoi faire après
GDev
Membre Confirmé
 
Messages: 222
Inscription: Jeu Jan 27, 2011 2:16 pm

Re: base de données Access...

Messagepar miika_L » Ven Jan 28, 2011 3:03 pm

j'ai fait ce que tu m'a dit.
Malheuresement rien s'affiche dans la trace :/
Cordialement miika_L
miika_L
Membre
 
Messages: 42
Inscription: Mer Jan 05, 2011 9:00 am

Re: base de données Access...

Messagepar GDev » Ven Jan 28, 2011 3:05 pm

Et si tu exécute ta requête dans un WDSQL par exemple en changeant ton param par une valeur cela te donne un résultat ?
GDev
Membre Confirmé
 
Messages: 222
Inscription: Jeu Jan 27, 2011 2:16 pm

Re: base de données Access...

Messagepar miika_L » Ven Jan 28, 2011 3:13 pm

Alors je l'ai faite sous WDSQL est ça fonctionne parfaitement, j'ai rentré un code existant WHERE Code = 'ADMINPC' et il m'a afficher la designation du produit :)
mais ça ne change en rien a mon problème :/
Dernière édition par miika_L le Ven Jan 28, 2011 3:47 pm, édité 1 fois.
Cordialement miika_L
miika_L
Membre
 
Messages: 42
Inscription: Mer Jan 05, 2011 9:00 am

Suivante


  • Advertisement

Retourner vers Forum windev 11 & plus récentes

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités