OVH Cloud OVH Cloud

Case

3 réponses
Avatar
didier
Bonjour

Je veut suivant le cas remplir un=20
champ "Date_limite_de_paiement" =E0 partir du champ=20
DateFacture suivant la valeur du=20
champs "Condition_paiement"
Donc j'ai appliqu=E9 la proc=E9dure suivante. Il choisit bien=20
le cas mais il me met une erreur "objet requise et il ne=20
remplit pas le champs "Date_limite_de_paiement"

Je ne vois pas l'objet manquant


Proc=E9dure
Dim Cas
Cas =3D Me.Condition_paiement
Select Case Cas
Case 1
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] =3D DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 0, 2)
Case 2
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] =3D DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 1, 0)
Case 3
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] =3D DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 2, 0)
Case 4
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] =3D DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 2, 10)
Case 5
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] =3D DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 3, 0)
Case 6
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] =3D DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 3, 10)
Case 7
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] =3D DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 4, 0)
Case 8
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] =3D DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 4, 10)
End Select
End Sub

3 réponses

Avatar
Eric
Bonjour Didier

mets seulement dans chacun des cas:
Me.[Date_limite_de_paiement]ÚteSerial(Me.[DateFacture], 0, 2)
et tu adaptes aux différentes possibilités

Tu peux meme simplifier par
[Date_limite_de_paiement]ÚteSerial([DateFacture], 0, 2)

Ce qu'Access ne comprenait pas c'est :
Formulaires![Factures fournisseurs]!Me.[DateFacture]
puisque Me représente Formulaires![Factures fournisseurs]

A+
Eric


"didier" écrivait
news:1a25901c44e69$0c374d60$:

Bonjour

Je veut suivant le cas remplir un
champ "Date_limite_de_paiement" à partir du champ
DateFacture suivant la valeur du
champs "Condition_paiement"
Donc j'ai appliqué la procédure suivante. Il choisit bien
le cas mais il me met une erreur "objet requise et il ne
remplit pas le champs "Date_limite_de_paiement"

Je ne vois pas l'objet manquant


Procédure
Dim Cas
Cas = Me.Condition_paiement
Select Case Cas
Case 1
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 0, 2)
Case 2
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 1, 0)
Case 3
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 2, 0)
Case 4
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 2, 10)
Case 5
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 3, 0)
Case 6
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 3, 10)
Case 7
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 4, 0)
Case 8
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 4, 10)
End Select
End Sub




Avatar
didier
Bonjour

J'ai changé la formule car dans ton cas il ne trouvé pas
les les champs car j'ouvre le formulaire "Factures
fournisseurs" a partir d'un autre formulaire "choix" ou
j'ai ma procédure

Lancement de la procédure à partir du formulaire "Choix"
Private Sub Commande0_Click()
DoCmd.OpenForm "Factures fournisseurs", acNormal, , ,
acFormAdd
Dim Cas
Cas = Me.Condition_paiement (sur formulaire choix)
Select Case Cas
Case 1
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]![DateFacture], 0, 2)
Case 2......

Mais il me mets toujours une erreur d'exécution "Objet
requis

-----Message d'origine-----
Bonjour Didier

mets seulement dans chacun des cas:
Me.[Date_limite_de_paiement]ÚteSerial(Me.
[DateFacture], 0, 2)

et tu adaptes aux différentes possibilités

Tu peux meme simplifier par
[Date_limite_de_paiement]ÚteSerial([DateFacture], 0, 2)

Ce qu'Access ne comprenait pas c'est :
Formulaires![Factures fournisseurs]!Me.[DateFacture]
puisque Me représente Formulaires![Factures fournisseurs]

A+
Eric


"didier" écrivait
news:1a25901c44e69$0c374d60$:

Bonjour

Je veut suivant le cas remplir un
champ "Date_limite_de_paiement" à partir du champ
DateFacture suivant la valeur du
champs "Condition_paiement"
Donc j'ai appliqué la procédure suivante. Il choisit
bien


le cas mais il me met une erreur "objet requise et il
ne


remplit pas le champs "Date_limite_de_paiement"

Je ne vois pas l'objet manquant


Procédure
Dim Cas
Cas = Me.Condition_paiement
Select Case Cas
Case 1
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 0, 2)
Case 2
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 1, 0)
Case 3
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 2, 0)
Case 4
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 2, 10)
Case 5
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 3, 0)
Case 6
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 3, 10)
Case 7
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 4, 0)
Case 8
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]!Me.[DateFacture], 4, 10)
End Select
End Sub




.




Avatar
Eric
Bonjour,

Dans le code il faut mettre les termes en US, donc remplaces Formulaires
par Forms

Case 1
Forms![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Forms!
[Factures fournisseurs]![DateFacture], 0, 2)



A+
Eric

"didier" écrivait news:1a8b301c44eba
$bf996040$:

Bonjour

J'ai changé la formule car dans ton cas il ne trouvé pas
les les champs car j'ouvre le formulaire "Factures
fournisseurs" a partir d'un autre formulaire "choix" ou
j'ai ma procédure

Lancement de la procédure à partir du formulaire "Choix"
Private Sub Commande0_Click()
DoCmd.OpenForm "Factures fournisseurs", acNormal, , ,
acFormAdd
Dim Cas
Cas = Me.Condition_paiement (sur formulaire choix)
Select Case Cas
Case 1
Formulaires![Factures fournisseurs]!
[Date_limite_de_paiement] = DateSerial(Formulaires!
[Factures fournisseurs]![DateFacture], 0, 2)
Case 2......

Mais il me mets toujours une erreur d'exécution "Objet
requis