codes VBA ... aide

Le
Boucland
Bjr
J'apprends insrer des codes VBA dans ma base de
donnes Access :-)
En effet j'avais fait juste un peu de programmation
(fortran) ! classique, n'est ce pas ? :-)
Et j'essaye de me retrouver en VBA :-)
Je me souviens, avec le fortran, on compilait la source
pour localiser les erreurs .
Est-ce le cas avec les codes VBA sous Access ? Comment ?
Excusez mes questions, il se peut que je vous fasse
rire :-)
Voil, sur un formulaire de saisie (labor avec
l'Assistant d'Access) j'ai des champs (ou contrles)
corrls par des rgles de gestion.
Par exemple :
- le champ [POSTE] peut prendre les valeurs textes P1,
P2, P3 ou S. Ce que j'ai reprsent par une liste
droulante.
- le champ [HN] peut prendre les valeurs numriques 4,5,
5, 9 ou 10 aussi reprsent par liste droulante
- quand [POSTE] = S, [HN] ne peut tre gale qu 10 ou 5
- quand [POSTE] = P1, [HN] ne peut tre gale qu 9 ou
4.5
- quand [POSTE] = P2 ou P3, [HN] ne peut tre gale qu
19

Le code ci-dessous correspond - t - il ce que je viens
de citer ci-dessus ?

Private Sub HN_BeforeUpdate(Cancel As Integer)
If [POSTE] = "S" Then
[HN] = 10 Or [HN] = 5
ElseIf [POSTE] = "P1" Then
[HN] = 9 Or [HN] = 4.5
ElseIf [POSTE] = "P2" Or [POSTE] = "P3" Then
[HN] = 9
End If
End If
End If
End Sub

Je vous remercie d'avance.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jessy Sempere [MVP]
Le #4835821
Bonjour

Tu peux effectivement compiler un module pour savoir s'il contient
des erreurs sous Access...

Pour cela tu dois lorsque tu es dans un module, aller dans le menu :
"Deboguer" - "Compiler et enregistrer tous les modules"

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Boucland" 6e9c01c401fd$a2e46fd0$
Bjr
J'apprends à insérer des codes VBA dans ma base de
données Access :-)
En effet j'avais fait juste un peu de programmation
(fortran) ! classique, n'est ce pas ? :-)
Et j'essaye de me retrouver en VBA :-)
Je me souviens, avec le fortran, on compilait la source
pour localiser les erreurs .
Est-ce le cas avec les codes VBA sous Access ? Comment ?
Excusez mes questions, il se peut que je vous fasse
rire :-)
Voilà, sur un formulaire de saisie (élaboré avec
l'Assistant d'Access) j'ai des champs (ou contrôles)
corrélés par à des règles de gestion.
Par exemple :
- le champ [POSTE] peut prendre les valeurs textes P1,
P2, P3 ou S. Ce que j'ai représenté par une liste
déroulante.
- le champ [HN] peut prendre les valeurs numériques 4,5,
5, 9 ou 10 aussi représenté par liste déroulante
- quand [POSTE] = S, [HN] ne peut être égale qu à 10 ou 5
- quand [POSTE] = P1, [HN] ne peut être égale qu à 9 ou
4.5
- quand [POSTE] = P2 ou P3, [HN] ne peut être égale qu à
19

Le code ci-dessous correspond - t - il à ce que je viens
de citer ci-dessus ?

Private Sub HN_BeforeUpdate(Cancel As Integer)
If [POSTE] = "S" Then
[HN] = 10 Or [HN] = 5
ElseIf [POSTE] = "P1" Then
[HN] = 9 Or [HN] = 4.5
ElseIf [POSTE] = "P2" Or [POSTE] = "P3" Then
[HN] = 9
End If
End If
End If
End Sub

Je vous remercie d'avance.
Jessy Sempere [MVP]
Le #4835801
Sinon pour ton code :

Sur quoi sont basée tes listes, sur des tables ou sur une liste de valeur
???

En fait l'idéal serait d'avoir une table contenant les HN et à quel poste
ils peuvent correspondre, genre :

HN Poste
10 S
5 S
9 P1
4.5 P1
19 P2
19 P3

Ensuite il te suffirait de baser ta liste déroulante HN sur une requête
elle même basé sur cette table avec comme critère
Poste = Forms!TonFormulaire!Poste

Après tu mets sur l'évènement après mise à jour de Poste:

Me.ListeHN.Requery

Voilà, it's good ???

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Boucland" 6e9c01c401fd$a2e46fd0$
Bjr
J'apprends à insérer des codes VBA dans ma base de
données Access :-)
En effet j'avais fait juste un peu de programmation
(fortran) ! classique, n'est ce pas ? :-)
Et j'essaye de me retrouver en VBA :-)
Je me souviens, avec le fortran, on compilait la source
pour localiser les erreurs .
Est-ce le cas avec les codes VBA sous Access ? Comment ?
Excusez mes questions, il se peut que je vous fasse
rire :-)
Voilà, sur un formulaire de saisie (élaboré avec
l'Assistant d'Access) j'ai des champs (ou contrôles)
corrélés par à des règles de gestion.
Par exemple :
- le champ [POSTE] peut prendre les valeurs textes P1,
P2, P3 ou S. Ce que j'ai représenté par une liste
déroulante.
- le champ [HN] peut prendre les valeurs numériques 4,5,
5, 9 ou 10 aussi représenté par liste déroulante
- quand [POSTE] = S, [HN] ne peut être égale qu à 10 ou 5
- quand [POSTE] = P1, [HN] ne peut être égale qu à 9 ou
4.5
- quand [POSTE] = P2 ou P3, [HN] ne peut être égale qu à
19

Le code ci-dessous correspond - t - il à ce que je viens
de citer ci-dessus ?

Private Sub HN_BeforeUpdate(Cancel As Integer)
If [POSTE] = "S" Then
[HN] = 10 Or [HN] = 5
ElseIf [POSTE] = "P1" Then
[HN] = 9 Or [HN] = 4.5
ElseIf [POSTE] = "P2" Or [POSTE] = "P3" Then
[HN] = 9
End If
End If
End If
End Sub

Je vous remercie d'avance.
Pierre CFI [mvp]
Le #4835751
bonjour
sans code tu aurais pu prévoir ces restriction dans des tables et filtrer directement tes listes déroulantes, mais bon, en code, ce
serait plutot
Private Sub HN_BeforeUpdate(Cancel As Integer)
If Me.POSTE = "S" Then
if Me.HN = 10 Or Me.HN = 5 then cancel = true
ElseIf Me.POSTE = "P1" Then
if Me.HN = 9 Or MeHN = 4.5 Then cancel = true
ElseIf Me.POSTE = "P2" Or Me.POSTE = "P3" Then
if Me.HN = 9 then cancel.true
else
cancel úlse
End If
End Sub



--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Boucland" Bjr
J'apprends à insérer des codes VBA dans ma base de
données Access :-)
En effet j'avais fait juste un peu de programmation
(fortran) ! classique, n'est ce pas ? :-)
Et j'essaye de me retrouver en VBA :-)
Je me souviens, avec le fortran, on compilait la source
pour localiser les erreurs .
Est-ce le cas avec les codes VBA sous Access ? Comment ?
Excusez mes questions, il se peut que je vous fasse
rire :-)
Voilà, sur un formulaire de saisie (élaboré avec
l'Assistant d'Access) j'ai des champs (ou contrôles)
corrélés par à des règles de gestion.
Par exemple :
- le champ [POSTE] peut prendre les valeurs textes P1,
P2, P3 ou S. Ce que j'ai représenté par une liste
déroulante.
- le champ [HN] peut prendre les valeurs numériques 4,5,
5, 9 ou 10 aussi représenté par liste déroulante
- quand [POSTE] = S, [HN] ne peut être égale qu à 10 ou 5
- quand [POSTE] = P1, [HN] ne peut être égale qu à 9 ou
4.5
- quand [POSTE] = P2 ou P3, [HN] ne peut être égale qu à
19

Le code ci-dessous correspond - t - il à ce que je viens
de citer ci-dessus ?

Private Sub HN_BeforeUpdate(Cancel As Integer)
If [POSTE] = "S" Then
[HN] = 10 Or [HN] = 5
ElseIf [POSTE] = "P1" Then
[HN] = 9 Or [HN] = 4.5
ElseIf [POSTE] = "P2" Or [POSTE] = "P3" Then
[HN] = 9
End If
End If
End If
End Sub

Je vous remercie d'avance.
Boucland
Le #4835681
re "Jessy"
mes listes déroulantes sont basées sur des valeurs et non
pas des sur des tables.

vous avez raison, il serait mieux d'avoir une tables
contenant toutes les combinaisons possibles entre poste
et HN.
je me connais pas tellement en code VBA mais je vais
essayer qd même :-)
Merci bcp
-----Message d'origine-----
Sinon pour ton code :

Sur quoi sont basée tes listes, sur des tables ou sur
une liste de valeur

???

En fait l'idéal serait d'avoir une table contenant les
HN et à quel poste

ils peuvent correspondre, genre :

HN Poste
10 S
5 S
9 P1
4.5 P1
19 P2
19 P3

Ensuite il te suffirait de baser ta liste déroulante HN
sur une requête

elle même basé sur cette table avec comme critère
Poste = Forms!TonFormulaire!Poste

Après tu mets sur l'évènement après mise à jour de Poste:

Me.ListeHN.Requery

Voilà, it's good ???

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Boucland" message news:

6e9c01c401fd$a2e46fd0$
Bjr
J'apprends à insérer des codes VBA dans ma base de
données Access :-)
En effet j'avais fait juste un peu de programmation
(fortran) ! classique, n'est ce pas ? :-)
Et j'essaye de me retrouver en VBA :-)
Je me souviens, avec le fortran, on compilait la source
pour localiser les erreurs .
Est-ce le cas avec les codes VBA sous Access ? Comment ?
Excusez mes questions, il se peut que je vous fasse
rire :-)
Voilà, sur un formulaire de saisie (élaboré avec
l'Assistant d'Access) j'ai des champs (ou contrôles)
corrélés par à des règles de gestion.
Par exemple :
- le champ [POSTE] peut prendre les valeurs textes P1,
P2, P3 ou S. Ce que j'ai représenté par une liste
déroulante.
- le champ [HN] peut prendre les valeurs numériques 4,5,
5, 9 ou 10 aussi représenté par liste déroulante
- quand [POSTE] = S, [HN] ne peut être égale qu à 10 ou 5
- quand [POSTE] = P1, [HN] ne peut être égale qu à 9 ou
4.5
- quand [POSTE] = P2 ou P3, [HN] ne peut être égale qu à
19

Le code ci-dessous correspond - t - il à ce que je viens
de citer ci-dessus ?

Private Sub HN_BeforeUpdate(Cancel As Integer)
If [POSTE] = "S" Then
[HN] = 10 Or [HN] = 5
ElseIf [POSTE] = "P1" Then
[HN] = 9 Or [HN] = 4.5
ElseIf [POSTE] = "P2" Or [POSTE] = "P3" Then
[HN] = 9
End If
End If
End If
End Sub

Je vous remercie d'avance.


.



Publicité
Poster une réponse
Anonyme