Gambas France BETA


Pas de compte ? Incription

Récupération de DataSource.Filter dans une variable

12
AuteurMessages
lapenduledargent#1 Posté le 19/12/2011 à 17:46:46
Bonjour,

Je bloque et en plus j'ai l'impression que mon erreur saute aux yeux !!!

Je veux récupérer le résultat d'un DataSource.Filter dans une variable mais elle est vide ???

1
2
3
4
dataSource2.filter = "ref_fourniture = '" & RefCroisee1 & "'" 'requete SQL7
dataSource2.Refresh
Produit1 = DataSource2["produit"]
PRINT "produit1" & Produit1


J'ai essayé avec des prints partout pour vérifier que mes variables existe bien.
Par contre, je me demande si c'est pas un soucis de sélection ?
Pour vérifier, j'ai placé dataSource2 et les données s'y affiche bien mais rien dans ma variable ?

Une idée, une astuce ?

Pierre

lapenduledargent#2 Posté le 20/12/2011 à 21:26:33
Bonsoir,

Je n'y arrive toujours pas :( j'essaie avec ce code minimaliste...

1
2
3
4
5
6
7
DIM Produit2 AS STRING
DIM RefCroisee2 AS INTEGER
RefCroisee2 = "11417452"
dataSource2.filter = "ref_fourniture = '" & RefCroisee2 & "'" 'requete SQL7
dataSource2.Refresh
Produit2 = dataSource2["produit"]
PRINT "produi2" & Produit2


Donc rien dans produit2 alors que RefCroisee2 existe bien :?:
manu#3 Posté le 20/12/2011 à 21:30:39
Avec Gambas ca roule !et est ce que avec:
1
dataSource2.filter = "ref_fourniture = 11417452"


tu as quelque chose ?
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
lapenduledargent#4 Posté le 20/12/2011 à 21:45:52
Bonsoir Manu, Non ça ne donne rien ?
manu#5 Posté le 20/12/2011 à 22:18:18
Avec Gambas ca roule !et si dans l'interface graphique tu met ca dans la propriété filter de ton datacsource2 : "ref_fourniture = 11417452".

Si tu n'as rien c'est que ton filtre ne fonctionne pas !
(il faut que tu ai commenté ta ligne : dataSource2.filter = "ref_fourniture = '" & RefCroisee2 & "'" 'requete SQL7 pour pas que ca interfère bien sure...
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
lapenduledargent#6 Posté le 20/12/2011 à 22:27:06
Quant je dis que ça ne donne rien, c'est que
1
2
Produit2 = dataSource2["produit"]
PRINT "produi2" & Produit2DataBrowser2


n'imprime pas la valeur de produit2 par contre j'ai un DataBrowser qui lui fonctionne bien donc mon filtre fonctionne.
Je pense que c'est ma minière de récupérer la variable qui ne fonctionne pas
manu#7 Posté le 21/12/2011 à 07:58:16
Avec Gambas ca roule !ha ok...

J'utilise pas les datasource comme ca alors je sais pas trop mais la doc nous dit que pour DataSource["produit"] "retourne la valeur de la clé du champ de l'enregistrement en cours". Ca ne dit pas que ça retourne la valeur du champ ! enfin je crois :)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
lapenduledargent#8 Posté le 21/12/2011 à 08:28:05
Bonjour Manu,

Je peux utiliser la méthode classique mais mon but c'est d'utiliser le nouveau système graphique de connexion.

Peut-être que Fabien aura une petite idée ?

Pierre
lapenduledargent#9 Posté le 21/12/2011 à 09:02:14
Je viens d'essayer avec ça et ça fonctionne enfin :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
DIM Produit2 AS STRING
DIM RefCroisee2 AS INTEGER
DIM hres AS Result ' Résultat
DIM sql AS STRING ' commande de recherche dans la base
DIM Connect AS Connection
RefCroisee2 = "11417452"

sql = "SELECT * FROM fourniture WHERE ref_fourniture=" & RefCroisee2
hres = Connections["Connection1"].Exec(sql)

Produit2 = hres!produit


PRINT "produi2" & Produit2
manu#10 Posté le 21/12/2011 à 14:06:24
Avec Gambas ca roule !Oui ca c'est la méthode sans les datasources (sans le composant gb.db.form) mais ca n'a rien a voir avec le faite d'utiliser ou non l'ide pour gérer ta base.

Je vais quand même, dans un petit exemple, essayer de faire ce que tu voulais faire avec les datasources, juste pour voir ;)

Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
lapenduledargent#11 Posté le 21/12/2011 à 21:28:25
Bonsoir,

Bien en fait, je pensais plutôt à une erreur dans ma requête...

Avant Gb3, c'est ainsi que je faisais mais maintenant, c'est plus facile, faut pas définir, ouvrir une connexion.
Par contre, on m'a toujours dit qu'il faut fermer la connexion après usage mais ici ça fonctionne pas.

Juste pour voir, je suis preneur de ton exemple.

Bonne soirée
manu#12 Posté le 21/12/2011 à 21:46:05
Avec Gambas ca roule !j'ai refait un exemple et effectivement le filtre fonctionne.

C'est ca qui ne fonctionne pas : Produit2 = dataSource2["produit"]. Ca ne sert pas a renvoyer le contenu du champ produit.

Je te tiens au courant quand j'aurais compris :)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
manu#13 Posté le 21/12/2011 à 22:04:55
Avec Gambas ca roule !tu peu metre "toto" a la place de produit, ca ne renvoi pas d'erreur !!! donc ce n'est pas un nom de champ mais une clé (???)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
manu#14 Posté le 21/12/2011 à 22:13:55
Avec Gambas ca roule !la reponse est la et c'est Gambix qui la fait mais je ne comprends pas en fait :



Datasource["monchamp"]

c'est un string que tu doit passer avec le nom du champ

fait gaffe moveto ne correspond pas a l'id mais au numéro de ligne c'est pas la même chose
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
lapenduledargent#15 Posté le 21/12/2011 à 22:17:12
fait gaffe moveto ne correspond pas a l'id mais au numéro de ligne c'est pas la même chose


c'est cette ligne là que tu ne comprends pas
12