Bjr=20
J'apprends =E0 ins=E9rer des codes VBA dans ma base de=20
donn=E9es Access :-)
En effet j'avais fait juste un peu de programmation=20
(fortran) ! classique, n'est ce pas ? :-)
Et j'essaye de me retrouver en VBA :-)
Je me souviens, avec le fortran, on compilait la source=20
pour localiser les erreurs .
Est-ce le cas avec les codes VBA sous Access ? Comment ?=20
Excusez mes questions, il se peut que je vous fasse=20
rire :-)
Voil=E0, sur un formulaire de saisie (=E9labor=E9 avec=20
l'Assistant d'Access) j'ai des champs (ou contr=F4les)=20
corr=E9l=E9s par =E0 des r=E8gles de gestion.
Par exemple :=20
- le champ [POSTE] peut prendre les valeurs textes P1,=20
P2, P3 ou S. Ce que j'ai repr=E9sent=E9 par une liste=20
d=E9roulante.
- le champ [HN] peut prendre les valeurs num=E9riques 4,5,=20
5, 9 ou 10 aussi repr=E9sent=E9 par liste d=E9roulante
- quand [POSTE] =3D S, [HN] ne peut =EAtre =E9gale qu =E0 10 ou 5
- quand [POSTE] =3D P1, [HN] ne peut =EAtre =E9gale qu =E0 9 ou=20
4.5
- quand [POSTE] =3D P2 ou P3, [HN] ne peut =EAtre =E9gale qu =E0=20
19
Le code ci-dessous correspond - t - il =E0 ce que je viens=20
de citer ci-dessus ?
Private Sub HN_BeforeUpdate(Cancel As Integer)
If [POSTE] =3D "S" Then
[HN] =3D 10 Or [HN] =3D 5
ElseIf [POSTE] =3D "P1" Then
[HN] =3D 9 Or [HN] =3D 4.5
ElseIf [POSTE] =3D "P2" Or [POSTE] =3D "P3" Then
[HN] =3D 9
End If
End If
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jessy Sempere [MVP]
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" a écrit dans le 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.
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
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Boucland" <NOSPAM_aminae@lexpress.net> a écrit dans le message news:
6e9c01c401fd$a2e46fd0$a401280a@phx.gbl...
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
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" a écrit dans le 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.
Jessy Sempere [MVP]
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" a écrit dans le 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.
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
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Boucland" <NOSPAM_aminae@lexpress.net> a écrit dans le message news:
6e9c01c401fd$a2e46fd0$a401280a@phx.gbl...
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
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" a écrit dans le 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.
Pierre CFI [mvp]
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" a écrit dans le message de 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.
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" <NOSPAM_aminae@lexpress.net> a écrit dans le message de news: 6e9c01c401fd$a2e46fd0$a401280a@phx.gbl...
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
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" a écrit dans le message de 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.
Boucland
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" a écrit dans le 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.
.
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
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Boucland" <NOSPAM_aminae@lexpress.net> a écrit dans le
message news:
6e9c01c401fd$a2e46fd0$a401280a@phx.gbl...
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
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" a écrit dans le 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