Bonsoir
je voudrais par le biai d'un code VBA qu'à l'ouverture d'access un message apparaisse avec un bouton OK et qund je valide sur OK il ouvre mon formulaire.
Et si possible que ce message apparaise qu'une seule fois par jour.
Merci
Bonsoir
je voudrais par le biai d'un code VBA qu'à l'ouverture d'access un message apparaisse avec un bouton OK et qund je valide sur OK il ouvre mon formulaire.
Et si possible que ce message apparaise qu'une seule fois par jour.
Merci
bonsoir,
un exemple avec cette base de test: HelloWorld.zip
en mettant le code à l'ouverture du formulaire et en mettant le formulaire dans les options de la base:
ne pas oublier non plus d'activer l'exécution des macros et du code VBA:
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
Merci tee_grandbois pour le retour
Mais en faite je veux ce type de message box
qui s'affiche 1 seul fois par jour et quand je clique sur OK la boite de dialogue se ferme. En faite c'est juste un rappel à l'utilisateur quand il ouvre la base access.
voici le code modifié:il faut quand même garder la table tblParam pour mémoriser la date d'exécution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Dim dtLastExec As Date Dim strSQL As String ' récupération de la date de dernière exécution dtLastExec = Nz(DLookup("dtdateExec", "tblparam", "N°=1"), Date) If dtLastExec <= Date Then ' affichage du message la 1ère fois MsgBox "Welcome to my Access Database!", vbInformation, "Microsoft Access Tutorial Database" ' mise à jour de la date pour le lendemain strSQL = "update tblparam set dtdateExec =#" & DateAdd("d", 1, Date) & "# where N°=1;" CurrentDb.Execute (strSQL) End If
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
pas nécessairement ... où a été créé la Sub ShowMyMessageBox ?
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
non, il faut appeler la procédure à l'ouverture du formulaire (comme dans la base d'exemple que j'ai joint)
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
Marche pas
la table tblparam est-elle créee ?
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
Bonjour,
Concernant la composition des messages box (msgbox) tu peux utiliser le complément Générateur msgbox disponible sur ma page perso.
https://loufab.developpez.com/#LIII-2
--c'est bien le nom de la table à créer, sinon ton dlookup ne fonctionnera pas.
Cordialement,
Détecter les modifications formulaire Cloud storage et ACCESS
Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie
Désolé le code ne marche pas
j'ai remplacé tblParam par le nom de ma table Reception
loufab je ne peux pas ouvrir ton fichier car il est en version 32bit
Désolé mais je suis pas un expert en VBA access
ok merci du retour je vais en profiter pour régler le problème.
Détecter les modifications formulaire Cloud storage et ACCESS
Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie
bonjour,
le code fonctionne avec la table Tblparam (voir la base de test HelloWorld.accdb jointe)Désolé le code ne marche pas
j'ai remplacé tblParam par le nom de ma table Reception
donc le mieux serait d'imprimer la structure de la table Reception (nom des champs) et la ligne de données contenant le champ dtDateExec (ou son équivalent dans ta propre table) et poster tout cela.
Merci loufab pour ton relai
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
Bonjour tee_grandbois
merci de ton retour.
Mais je pense que je me suis mal exprimé dans ma demande
En faite je veux juste un message d'info qui s'affiche à l'ouverture de ACCESS (message non relié à une table) et qu'on ferme en cliquant sur OK. Cà j'y suis arrivé via une macro "zone message" que j'ai enregistré en autoexec.
Maintenant je voudrais que ce message ne s'ouvre 1 seule fois par jour mais je pense que ce n'est pas possible.
Voilà j'espère que j'ai été plus précis...
Votre Post#1 est très clair.
C'est d'ailleurs pour cela que tee_grandbois vous a donné la bonne solution dans son Post#2 avec la bdd helloWorld. Comme quoi.
Un peu de lecture pour apprendre à piloter Access, c'est ici.
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
UR - ESIROI - GPME/CG/DCG8
QTH :21°19'18"S - 055°25'32"E
Inutile de me contacter par MP
Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur
hyperion13 ! ettee_grandbois vous a donné la bonne solution dans son Post#2 avec la bdd helloWorld.
bonsoir chartreuse,
non pas du tout et j'avais bien compris le besoin.je pense que je me suis mal exprimé dans ma demande
le seul moyen pour voir le message une seule fois, c'est de mémoriser dans une table la date à laquelle la dernière fois que le message a été vu, d'où l'importance de cette table paramètre.En faite je veux juste un message d'info qui s'affiche à l'ouverture de ACCESS (message non relié à une table) et qu'on ferme en cliquant sur OK. Cà j'y suis arrivé via une macro "zone message" que j'ai enregistré en autoexec.
Maintenant je voudrais que ce message ne s'ouvre 1 seule fois par jour mais je pense que ce n'est pas possible.
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager