Attribuer un nombre à du texte sur liste déroulante

Attribuer un nombre à du texte sur liste déroulante - VB/VBA/VBS - Programmation

Marsh Posté le 27-09-2010 à 15:15:45    

Bonjour,
 
J'utilise le logiciel Access et j'ai quelques problèmes avec l'un de mes formulaires. Dans ce formulaire, j'ai 4 champs :
 
- Nombre de cagettes
- Type de cagettes
- Poids bruts
- Poids net
 
Je rentre des données pour "Nombre de cagettes" et le "Poids brut". Par contre, j'ai mis une liste déroulante pour que je puisse choisir le "Type de cagettes", à savoir "Grandes ou "Petites". Une cagette grande pèse 5 kg et une cagette petite pèse 3 kg. Comment puis-je faire pour que la formule qui calcule le poids net puisse prendre en compte le poids de la cagette juste en choisissant le type (formule Poids net = Poids brut - (Nombre de cagettes * Poids du type de cagette) ?
 
Merci d'avance !

Reply

Marsh Posté le 27-09-2010 à 15:15:45   

Reply

Marsh Posté le 28-09-2010 à 09:53:45    

Bonjour,  
 
on peut par exemple imaginer un bouton sur le formulaire.
Sur évènement clic, la chose suivante:

Code :
  1. Dim sql as String
  2. Dim db as database
  3. Set db = Application.CurrentDb
  4. If IsNull(Me.NbCagettes)=False And IsNull(Me.PoidsBrut)=False Then
  5.   If Me.TypeCagette="Grande" Then
  6.       sql="UPDATE TableCagette SET PoidsNet=PoidsBrut-(NbCagettes*5) WHERE TableCagette.CléPrimaire='"Me.CléPrimaire"'"
  7.      db.Execute sql
  8.      Me.Requery
  9.  ElseIf Me.TypeCagette="Petite" Then
  10.       sql="UPDATE TableCagette SET PoidsNet=PoidsBrut-(NbCagettes*3) WHERE TableCagette.CléPrimaire='"Me.CléPrimaire"'"
  11.      db.Execute sql
  12.      Me.Requery
  13.  Else
  14.      MsgBox("Veuillez indiquer un type de cagette" )
  15. End If

Reply

Marsh Posté le 30-09-2010 à 11:39:33    

Oulaaaaaaaaaaaaaaaa MerryvorRa tu t'es un peu enflammé la non ? :lol:
 
Tu définis simplement deux colonnes pour ta liste déroulante.
Sur les propriétés de ta liste déroulante :
* Onglet Format
   - Nbre Colonnes : 2
   - Largeurs Colonnes :  0;
* Onglet Données :
   - Contenu : 5;"Grande";3;"Petite"
   - Colonne liée : 1
 
En gros tu auras deux colonnes :
5 | Grande
3 | Petite
Et comme la colonne liée c'est la premiere, c'est la valeur de celle ci qui sera prise pour les calculs, les references etc.
 
Et le tour est joué, pas besoin de code pour ca ! OMG
;)


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

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