Ecrire un code Visual Basic

Fermé
AGA - 12 nov. 2008 à 08:36
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 - 13 nov. 2008 à 10:41
Bonjour,

S'il vous plaît je travaille sur un projet et en ce moment j'ai du mal à écrire le code qui correspont à cette description:

Si la date du BL#01/01/2010 & Champ Cloture = 0 Afficher le formulaire1
Si la date du BL = 01/01/2010 et Champ Cloture =1 Afficher formulaire2

J'effectue ce travail sur Access. Je souhaite avoir la réponse le plutôt possible.

BL signifie Bon de Livraison
A voir également:

7 réponses

Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
12 nov. 2008 à 09:41
Bonjour,

En adaptant ce qui suit, vous devriez parvenir au résultat escompté.
NB : Je n'ai pas testé

En passant, je vous conseille de visiter le site : https://access.developpez.com/
(Accueil ACCESS)


If [<Date BL>] =#01/01/2010# and [<Champ cloture] = 0 Then

DoCmd.OpenForm "[<Nom_du_formulaire_1>]"

Else

DoCmd.OpenForm "[<Nom_du_formulaire_2>]"

End If

La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
AKENDENGUE1 Messages postés 1 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 12 novembre 2008
12 nov. 2008 à 17:42
Bonsoir!

Merci beaucoup pour votre aide voici ce que j'ai sasi:
Private Sub Commande15_Click()
Dim Date_BL As Date
Dim stDocName1 As String
Dim stDocName2 As String


Date_BL = "01/01/2010"
stDocName1 = "Cloture1"
stDocName2 = "Cloture2"

If Date_BL = "01/01/2010" Then
DoCmd.OpenForm "Cloture2"
Else
DoCmd.OpenForm "Cloture1"

End If

End Sub

Mais sauf que l'inconvénnient c'est que lorsque je change la date dans le formulaire1 et je clique sur le bouton le formulaire2 ne s'ouvre pas.Cest toujours le un qui s'ouvre. A votre avis pourquoi? Est ce que j'ai oublié quelque chose. J'attends s'il vous plaît.
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
12 nov. 2008 à 18:15
Bonsoir,


C'est de ma faute, j'ai cru que la date_BL était immuable.

J'ai besoin d'une précision :
La Date_BL est-elle déjà saisie dans le formulaire de démarrage ?
A+
AKENDENGUE Messages postés 6 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 13 novembre 2008
13 nov. 2008 à 08:17
Bonjour!

En fait il faut dire que lorsque je crée la table Saisie BL voici les champs qiu figurent:
N° OT;
N° BL;
Date BL; Au niveaudu champ de la date BL je défini par defaut 01/01/2010
Date BL/BO;
N° BL/BO

Ensuite je crée 2 formulaires à partir de ctte table
Formulaire1:Saisie BL
Formulaire2:Saisie BL/BO

Maintenant lorsque je crée le formulaire1 à partir de l'assistant la date du 01/01/2010 apparaît par defaut sur la champ Date BL sur le formulaire.
J'écris le code que vous m'avez envoyé et lorsque je modifie cette date par defaut ça ne passe pas.
Merci d'avance j'attends votre réponse et j'espère que cette précision vous permettra de me trouver une solution.
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
13 nov. 2008 à 08:20
Bonjour,

Je pense que si le code que vous nous avez montré est tel quel dans votre macro, c'est normal que ce soit toujours le formulaire 1 qui s'ouvre puisque vous codez votre date en dur...
Apres peut etre que je n'ai pas tres bien compris votre explications.
AKENDENGUE Messages postés 6 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 13 novembre 2008
13 nov. 2008 à 08:50
Comment faire alors puisque ce que je veux c'est que lorsque la Date_BL est différente de 01/01/2010 date défine par defaut le formulaire2 s'ouvre?
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
13 nov. 2008 à 08:53
dans ton code tu laisse le test if date_BL="01/01/2010"

par contre dans ta definition de date_BL,
il faut que tu aille recuperer la date a l'endroit que tu veux!
par exemple si elle se trouve dans une cellule excel ca devra ressembler a ca:

date_BL = activesheet.Cells(1,1).Value
ca recuperera la valeur de la cellule de la premiere colonne premiere ligne de la feuille active.
AKENDENGUE Messages postés 6 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 13 novembre 2008
13 nov. 2008 à 09:14
J'ai compris mais sauf que comme je vous disais au départ je travaille sur Acces comment faire alors avec avec Access?

Je profite aussi pour présenter un autre souci, quel code correspondra à la description suivant.

J'ai mon formulaire se saisie:

"Dés que je termine de remplir la dernière zone de texte et je tape sur la touche entrée du clavier ce formulaire se ferme et celui du menu principal s'ouvre".
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
13 nov. 2008 à 09:16
Concernant avec access je n'ai jamais travailler avec donc je ne pourrais pas te donner plus de renseignement, mais je pense qu'en cherchant comment recuperer les données d'un formulaire access tu devrais trouver.
Sinon concernant ta deuxieme question, si ca marche comme dans excel tu peux mettre un bouton permettant de valider la fin de la saisie.
AKENDENGUE Messages postés 6 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 13 novembre 2008
13 nov. 2008 à 10:39
Est il possible qu'après la saisie et après valider le formulaire toujours vide car dans cas lorsque j'ouvre le formulaire, le 1 er enreigistrement s'affiche toujours or je souhaite qu'à l'ouverture du formulaire il soît vide.
0
AKENDENGUE Messages postés 6 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 13 novembre 2008
13 nov. 2008 à 10:22
Au sujet de ma 2ème question il est question de taper sur la touche entrée du clavier pour valider la saisie et revenir au menu principal sans faire appel à un bouton. Je travaille sur Access cela est possible selon vous? Si oui que me proposer vous?
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
13 nov. 2008 à 10:41
pour que le formulaire soit vide il suffit de le reinitialiser comme vierge.
C'est a dire au moment de l'ouverture remplacer le contenu de tout les champs par ""
sinon au niveau d'access je ne peux pas vous aider desole.