Gambas France BETA

Connexion

Pas de compte ? Incription

Datasource et variable

Ce sujet est résolu.

12
AuteurMessages
lapenduledargent#1 Posté le 31/10/2011 à 08:45:02
Bonjour,

J'ai un data source qui m'affiche des données dans des datacontrols mais je souhaiterai récupérer une des données dans une variable sans passer par un datacontrol ?

Avec la méthode classique en code, j'ai pas de soucis mais comment faire avec un datacontrol ?

Bonne journée

Pierre
gambix#2 Posté le 31/10/2011 à 11:40:59
La simplicité évite les erreursnormalement :

1
2
3
Datasource.moveto(iLigne)

maval = Datasource[macle]
Ce que Gambas m'a appris c'est qu'avec le temps on peut être capable de tout.
lapenduledargent#3 Posté le 31/10/2011 à 18:25:22
Bonsoir Gambix

Je suis de retour...

1
2
3
Datasource.moveto(iLigne)

maval = Datasource[macle]


Le code que tu me proposes, c'est pas pour déplacer une donnée ?

Avec la méthode classique, sans datasource, je fais :

1
MaVariable = variable.hres!calibre
gambix#4 Posté le 31/10/2011 à 20:37:29
La simplicité évite les erreursnon
moveto c'est pour aller a l'enregistrement

et =datasource[] pour récupérer la valeur dans le champ cle

le data source lui se charge de faire du chargement en temp réel
en faite il ne charge jamais tout les resultats mais une partie
ça permet de naviguer dans de très grosses bases sans ralentissement.... bien sur la contre partie c'est le nombre de requête envoyé a la bdd
mais bon sur un monoposte ou un réseau limité c'est pas un pb ... c'est aussi une technique utilisé par access
Ce que Gambas m'a appris c'est qu'avec le temps on peut être capable de tout.
lapenduledargent#5 Posté le 1/11/2011 à 09:12:54
Bonjour Gambix,

J'ai encore des soucis :x

1
Datasource.moveto(iLigne)


iLigne --> c'est le champs id de la base, par exemple 1


1
maval = Datasource[macle]


maval --> la variable qui récupère la valeur du datasource
macle --> le nom d'un champs de le Bd, par exemple Machine

J'ai une erreur avec macle, il me répond "identificateur inconnu"

Pierre

lapenduledargent#6 Posté le 1/11/2011 à 09:40:59
En fait, c'est pour utiliser un RadioButton avec un datasource.

Bonne journée

Pierre
gambix#7 Posté le 1/11/2011 à 11:05:17
La simplicité évite les erreursben simplement
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
Ce que Gambas m'a appris c'est qu'avec le temps on peut être capable de tout.
lapenduledargent#8 Posté le 1/11/2011 à 15:43:21
Bonjour Gambix,

Merci ça fonctionne maintenant !!!

Mais c'est dommage qu'il n'existe pas d'aide un genre d'aide mémoire avec des exemples. Mais vu le nombre de messages que je posts, je pense aider largement les autres novices en Gb.

Bonne soirée.

Pierre
gambix#9 Posté le 1/11/2011 à 21:40:48
La simplicité évite les erreursmarque le sujet comme résolu
Ce que Gambas m'a appris c'est qu'avec le temps on peut être capable de tout.
lapenduledargent#10 Posté le 1/11/2011 à 21:47:59
Presque...pour le contraire, tu as une idée ?

Je veux dire à partir d'une variable, l'enregistrer dans un Datasource ?

Pierre
gambix#11 Posté le 1/11/2011 à 22:11:19
La simplicité évite les erreursbon c'est du backend :)

donc on va utiliser des fonctions cachées :

1
2
3
4
5
6
7
DIM hresult AS result

hresult = hsrc._EditCurrent()

hresult["monchamp"] = Value

hSrc._UpdateCurrent(hResult)



Avec ce code en plus les controles associé a ce datasource sont mis a jour :)

pour créer un nouvel enregistrement :
1
2
3
4
5
6
7
DIM hresult AS result

hresult = hsrc._CreateCurrent()

hresult["monchamp"] = Value

hSrc._UpdateCurrent(hResult)



Pour supprimer :
1
hSrc._DeleteCurrent()



ça doit marcher mais je n'ai pas testé

Ce que Gambas m'a appris c'est qu'avec le temps on peut être capable de tout.
lapenduledargent#12 Posté le 1/11/2011 à 22:34:30
Bonsoir Gambix,

Ca plante sur "hsrc", identificateur inconnu

C'est quoi hsrc ?

Bonne nuit

Pierre
gambix#13 Posté le 1/11/2011 à 23:08:40
La simplicité évite les erreurshsrc c'est ton datasource pardi :)
Ce que Gambas m'a appris c'est qu'avec le temps on peut être capable de tout.
lapenduledargent#14 Posté le 2/11/2011 à 21:59:00
Bonsoir Gambix,

Ahh tout fonctionne :) :) :)

Merci mais d'où viennent tes sources ?

Pierre
gambix#15 Posté le 2/11/2011 à 22:28:03
La simplicité évite les erreurs10 ans de dev avec gambas ... + le code source de datasource lui même

présent dans trunk/comp/src/gb.db.form
Ce que Gambas m'a appris c'est qu'avec le temps on peut être capable de tout.
12