[Access] Formulaire : calcul sur le contenu de deux champs avec bouton

Formulaire : calcul sur le contenu de deux champs avec bouton [Access] - Divers - Programmation

Marsh Posté le 05-03-2003 à 11:40:24    

Voila, on en est maintenant au 4eme!!!
 
Bon, plus serieusement, je dois sur mon formulaire effectuer des opérations sur le contenu d'autres champs de ce formulaire.
 
J'ai donc deux champs qui "tapent" dans une table, et un troisieme champ qui est destiné à afficher le resultat.
Je pensais lancer le calcul avec un bouton.
Mais je ne sais pas trop comment je dois faire (surement avec un script) pour lui dire de multiplier (c'est un exemple) le deux champs: champ1 et champ2 et de mettre le resultat dans le champ3.
 
D'ailleurs de quel nature doit etre le champ3? intitulé? texte?
 
Merci de m'eclairer de vos lumieres!!  [:prosterne]  
 

Reply

Marsh Posté le 05-03-2003 à 11:40:24   

Reply

Marsh Posté le 05-03-2003 à 12:39:19    

Avec l'editeur de code, j'ai presque reussi à faire ce que je souhaite.
J'ai fais l'essai sur des elements texte et ca marche :  
Texte1 : Saisie par utilisateur
Texte2 : Saisie par utilisateur
Texte3 : resultat.
 
Bouton : declencheur
 
Code :
Private Sub Bouton_Click()
Texte3 = Texte1 * Texte2
End Sub
 
 
La ca fonctionne nickel.
 
Par contre, quand je fait la meme chose a partir de ma liste modifiable, et bien ce me donne pas le resultat voulu, peut etre qu'il utilise le numero Id unique de l'enregistrement pour faire son calcul plutot que la valeur meme, de l'enregistrement choisis, affiché par la liste modifiable...
 
Des idées??


Message édité par GENIUS999 le 05-03-2003 à 12:40:33
Reply

Marsh Posté le 05-03-2003 à 12:48:43    

genius999 a écrit :

Par contre, quand je fait la meme chose a partir de ma liste modifiable, et bien ce me donne pas le resultat voulu, peut etre qu'il utilise le numero Id unique de l'enregistrement pour faire son calcul plutot que la valeur meme, de l'enregistrement choisis, affiché par la liste modifiable...
 
Des idées??


 
Apres verifiaction, c'est bien ce qu'il fait, il prend la valeur de la clé primaire de l'enregistrement selectionné, et non la valeur selectionné en elle meme.
Comment faire pour qu'il selectionne vraiment ce qui est affiché dans la liste modifiable??

Reply

Marsh Posté le 05-03-2003 à 13:58:21    

Alors genius en plein boum  
à ce ke je vois ..
 
La propriété Colonne (Column) permet de désigner une colonne spécifique ou une combinaison de colonnes et de lignes dans une zone de liste modifiable ou une zone de liste multicolonne. Le paramètre 0 désigne la première colonne, le paramètre 1 la deuxième, et ainsi de suite. De même, le paramètre 0 désigne la première ligne, le paramètre 1 la deuxième, et ainsi de suite. Par exemple, pour une zone de liste composée d'une colonne de codes de clients et d'une colonne de noms de clients, vous pouvez faire référence au nom du client dans la seconde colonne et la cinquième ligne comme ci-après :
 
Forms!Contacts!Clients.Column(1, 4)
 
 
Sinon niveau de ton select ty fais
select *, chp1+chp2 as chp3 from matable ...
et tu créés un champ dans ton formulaire
avec comme sourcecontrôle : chp3

Reply

Marsh Posté le 05-03-2003 à 14:41:58    

vttman2 a écrit :

Alors genius en plein boum  
à ce ke je vois ..
 
La propriété Colonne (Column) permet de désigner une colonne spécifique ou une combinaison de colonnes et de lignes dans une zone de liste modifiable ou une zone de liste multicolonne. Le paramètre 0 désigne la première colonne, le paramètre 1 la deuxième, et ainsi de suite. De même, le paramètre 0 désigne la première ligne, le paramètre 1 la deuxième, et ainsi de suite. Par exemple, pour une zone de liste composée d'une colonne de codes de clients et d'une colonne de noms de clients, vous pouvez faire référence au nom du client dans la seconde colonne et la cinquième ligne comme ci-après :
 
Forms!Contacts!Clients.Column(1, 4)
 
 
Sinon niveau de ton select ty fais
select *, chp1+chp2 as chp3 from matable ...
et tu créés un champ dans ton formulaire
avec comme sourcecontrôle : chp3
 


 
?? t'as chopé ca dans l'aide de access??
 
 
PS:Merci, je vais essayé  :)  
 

Reply

Marsh Posté le 05-03-2003 à 15:13:27    

Disons que je me rappelle que ça
existe et je vérifie dans Access
pour pas raconter trop de conneries !
La 2ème méthode (select X+Y as Z...)
est de loin la plus clean !

Reply

Marsh Posté le 05-03-2003 à 15:38:34    

vttman2 a écrit :

Disons que je me rappelle que ça
existe et je vérifie dans Access
pour pas raconter trop de conneries !
La 2ème méthode (select X+Y as Z...)
est de loin la plus clean !


 
Le : select x+y as z, je le mets dans l'evenement sur clic du bouton??
Comment ca va marcher quand je vais vouloir lancer plusieurs calcul avec un seul bouton, n'y existe t'il pas de code vb pour faire des opérations un peu plus poussées??

Reply

Marsh Posté le 05-03-2003 à 16:24:57    

Salut,  
Si j ai bien compris, c'est assez simple!
Il te suffit de faire une requete de mise a jour de ta table.
(tu calulera ton champ dans ta requete) ou alors  vu que tu y est parvenu tu reprend ton champ texte3!
Si tu as besoin de plus d aide envoie moi ta BD sur mon mail avec des explicationde tes probleme claires et préci je te répondrai au plus vite mais je n ai en général accès au net que le WE!

Reply

Marsh Posté le 05-03-2003 à 16:43:17    

En fait, je n'ai pas reussi a faire mon calcul car comme je l'ai dis plus haut,lors du calcul, il prend la valeur de la clé primaire de l'enregistrement selectionné, et non la valeur selectionné en elle meme.
 
En résumé, il me fait des opérations avec mes clé primaire qui n'ont totalement rien a voir avec le calcul que je suohaite faire.

Reply

Marsh Posté le 05-03-2003 à 16:55:51    

tu utulise un menu déroulant sans doute? si je me souviens bien tu dois d'abors faire une recherche dans ta requete sur ton ID avec ta table contenant le champs qui t interesse. Pour ca, tu me dans le champs critère, = FORMULAIRE![TABLE]![ton_CHAMP]
tu devrais retrouver le nom qui t interesse

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed