Où insere-t'on le code sous access
D-Vor
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
vivi -
vivi -
Bonjour a tous je suis vraiment novice, j'utilisais avant access avec ses assistants de créations mais la je ne trouve pas comment faire avec cette méthode. J'ai fais des recherche et a chaque fois je tombe sur du code pour m'aider mais je voulais savoir ou je doit inserer ce code car je nen ais pas la moindre idée!
En vous remerciant d'avance a bientot
En vous remerciant d'avance a bientot
A voir également:
- Où insere-t'on le code sous access
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
17 réponses
Salut,
ACCESS et le VBA sont des éléments à programmation 'évènementielle', c'est-à-dire que le code qu'on exécute est rattaché à un évènement de logiciel : bouton, choix dans une liste...
Pour l'exemple :
- crée un formulaire vide (assistant -> formulaire en mode création)
- ajoute un bouton à cliquer (boite à outils : choix de 'bouton de commande')
- dès que le bouton est créé, tu quittes l'assistant (bouton 'annuler', on n'a pas besoin de tout ce qu'il veut nous faire faire)
- dans les propriétés du bouton (accessibles via un double-clic sur le bouton), onglet 'évènement', tu cliques dans 'sur clic' et ensuite tu vas cliquer sur le petit bouton (avec les trois points) à droite de la zone, tu choisis générateur de code
- il ouvre une fenêtre et tu mets le code suivant :Msgbox "Coucou"
- tu passes le formulaire en mode normal
- tu appuies sur le bouton et hop !
ACCESS et le VBA sont des éléments à programmation 'évènementielle', c'est-à-dire que le code qu'on exécute est rattaché à un évènement de logiciel : bouton, choix dans une liste...
Pour l'exemple :
- crée un formulaire vide (assistant -> formulaire en mode création)
- ajoute un bouton à cliquer (boite à outils : choix de 'bouton de commande')
- dès que le bouton est créé, tu quittes l'assistant (bouton 'annuler', on n'a pas besoin de tout ce qu'il veut nous faire faire)
- dans les propriétés du bouton (accessibles via un double-clic sur le bouton), onglet 'évènement', tu cliques dans 'sur clic' et ensuite tu vas cliquer sur le petit bouton (avec les trois points) à droite de la zone, tu choisis générateur de code
- il ouvre une fenêtre et tu mets le code suivant :Msgbox "Coucou"
- tu passes le formulaire en mode normal
- tu appuies sur le bouton et hop !
salut
c'est simple
par exemple sur un bouton dans un formulaire tu clique sur le bouton droit dessus et tu vas sur creer code evenement
c'est simple
par exemple sur un bouton dans un formulaire tu clique sur le bouton droit dessus et tu vas sur creer code evenement
ok merci , la par exemple je doit trouver une méthode pour supprimer ma relation entre mes tables je peut faire un bouton sous un formulaire qui le ferai a votre avis??? si oui pouvais vous me donné la démarche a suivre,merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu veux supprimer les relations entre tes tables, je ne vois pas l'intérêt de faire ça en VBA, car c'est une opération ponctuelle, non ?
Quoi qu'il en soit, tu feras ça avec les ordres SQL 'alter table drop constraint'.
Quoi qu'il en soit, tu feras ça avec les ordres SQL 'alter table drop constraint'.
En réalité j'ai des tables que j'ai du extraire de excel pour mettre dans access et pour la mettre a jour j'ai fais une maccro (suppression table,TransfertfeuilledeCalul) mais il me dit que ma table est liées et donc que je ne peut pas la supprimer pour aprés la recrée avec les mises a jour extraites de mon fichier excel.
excuse moi je n'aurai pas du utilisé ce therme je voulais dire que j'avais un message d'erreur pour ma suppression car il ne peut pas supprimer la relation qu'il y a entre mes deux tables, d'ou mon choix d'avoir un bouton qui me supprimerai cette relation pour faire ma mise a jour et ensuite un autre bouton pour la recréer cette relation.
Euh, excusez-moi, je tombe comme un cheveu dans la soupe...
Ce ne serait pas plus simple de simplement attacher les tables plutôt que de les supprimer pour les réimporter?
Ca permettrait de ne pas toucher aux relations et ça répercuterait automatiquement les modifications apportées au(x) fichiers Excel dans la table liée...
non?
Ce ne serait pas plus simple de simplement attacher les tables plutôt que de les supprimer pour les réimporter?
Ca permettrait de ne pas toucher aux relations et ça répercuterait automatiquement les modifications apportées au(x) fichiers Excel dans la table liée...
non?
Bonsoir,
Excuse-moi, je n'avais pas vu ton message...
Si j'ai bien compris, tu dois visualiser sous Access des données d'une feuille excel régulièrement mise à jour.
Tu peux lier les données simplement sous access.
Dans la fenêtre base de données, menu fichier, données externes, choisis "lier les tables".
Dans la fenêtre qui s'ouvre, choisis dans le cadre du bas d'afficher les fichiers excel puis choisis ton classeur.
Un assistant s'ouvre et te permet de choisir le mode d'affichage des données.
Ensuite, dans la fenêtre base de données, ton fichier Excel sera affiché comme une table et tu pourras l'utiliser comme les autres avec quelques limitations ( relations; structure). Les modifications apportées au classeur seront automatiquement répercutées.
Excuse-moi, je n'avais pas vu ton message...
Si j'ai bien compris, tu dois visualiser sous Access des données d'une feuille excel régulièrement mise à jour.
Tu peux lier les données simplement sous access.
Dans la fenêtre base de données, menu fichier, données externes, choisis "lier les tables".
Dans la fenêtre qui s'ouvre, choisis dans le cadre du bas d'afficher les fichiers excel puis choisis ton classeur.
Un assistant s'ouvre et te permet de choisir le mode d'affichage des données.
Ensuite, dans la fenêtre base de données, ton fichier Excel sera affiché comme une table et tu pourras l'utiliser comme les autres avec quelques limitations ( relations; structure). Les modifications apportées au classeur seront automatiquement répercutées.
j'ai essayé ton transfert de donnée et sa marche bien,encore une question avec mes données qui sont maintenant mise a jour, je peut faire un formulaire de recherche avec plusieurs critères? genre je doit trié par responsable et aussi par numéro de projet c'est réalisable?si oui encore une fois peut tu me donner la démarche a suivre, encore merci.
C'est évidemment possible, mais tout dépend comment tu veux afficher les données...
Tu peux créer une zone de liste modifiable dans l'en-tête de ton formulaire (il faut que ce dernier soit fondé sur une table ou requête. Ca ne marche pas s'il s'agit d'un formulaire indépendant) avec l'assistant.
Choisis dans la première boite de dialogue la troisième option ("rechercher un enregistrement...") puis choisis la colonne que tu veux trier.
Tu peux créer une zone de liste modifiable dans l'en-tête de ton formulaire (il faut que ce dernier soit fondé sur une table ou requête. Ca ne marche pas s'il s'agit d'un formulaire indépendant) avec l'assistant.
Choisis dans la première boite de dialogue la troisième option ("rechercher un enregistrement...") puis choisis la colonne que tu veux trier.
J'ai essayé ta solution j'ai fabriquer une requete(requête3) de regroupement (regroupe mes responsable de projet)pour ne pas avoir de doublon pour ma zone de liste mais j'ai un message d'erreur qui s'affiche:
Erreur de syntaxe dans l'expression '[SELECT[Requête3]].[Responsable Projet]'
je ne peut pas mettre de zone de liste avec ma requette que dois je faire???
Erreur de syntaxe dans l'expression '[SELECT[Requête3]].[Responsable Projet]'
je ne peut pas mettre de zone de liste avec ma requette que dois je faire???
Pour créer la liste, tu peux simplement passer par l'assistant, dans un premier temps.
Sinon, dans les propriétés de la liste, sous l'onglet données, contenu, en cliquant sur les trois points à droite, tu ouvres le générateur de requête. Tu peux aussi taper directement ta requête dans le champ "contenu".
Ca devrait donner quelques chose comme: SELECT DISTINCT [Responsable Projet] FROM NomDeTaTable...
Sinon, dans les propriétés de la liste, sous l'onglet données, contenu, en cliquant sur les trois points à droite, tu ouvres le générateur de requête. Tu peux aussi taper directement ta requête dans le champ "contenu".
Ca devrait donner quelques chose comme: SELECT DISTINCT [Responsable Projet] FROM NomDeTaTable...
ok pour ma zone de liste elle fonctionne mais sa ne change rien a mon affichage dans mon sous formulaire,je doit inserer une commande dans le sous formulaire aussi pour afficher mes données??? car moi je voudrai qu'il m'affiche dans mon sous formulaire mon tri que ma zone de liste doit exécuté (ici par responsable projet)
Comment ton formulaire et ton sous-formulaire sont-ils liés?
Si toutes tes données viennent d'une seule feuille Excel et que tu n'as pas de clé primaire, je crains que ce ne soit pas possible...
Tu pourrais en revanche tout faire dans un même formulaire simplement basé sur ta table liée en le filtrant en fonction de la valeur de ta liste.
Dans la feuille des propriétés, sous l'onglet événement, Après MAJ, clique sur les ... et choisis générateur de code.
Tu ajoutes:
Me.RecordSource = "SELECT * FROM TaTable WHERE [Responsable Projet] = Forms!TonForm!NomDeTaListe"
Si toutes tes données viennent d'une seule feuille Excel et que tu n'as pas de clé primaire, je crains que ce ne soit pas possible...
Tu pourrais en revanche tout faire dans un même formulaire simplement basé sur ta table liée en le filtrant en fonction de la valeur de ta liste.
Dans la feuille des propriétés, sous l'onglet événement, Après MAJ, clique sur les ... et choisis générateur de code.
Tu ajoutes:
Me.RecordSource = "SELECT * FROM TaTable WHERE [Responsable Projet] = Forms!TonForm!NomDeTaListe"
Je ne peut pas avoir de clé primaire avec mon histoire de table liées donc j'ai essayé ton code pour la liste dit moi si je l'ai bien rempli:
Me.RecordSource = "SELECT * FROM essaie(nom de ma table liée) WHERE [Responsable Projet] = Forms!Form_essaie!Modifiable20"
car j'ai mis ce code et rien ne s'affiche dans ma liste déroulante je ne doit rien rajouté d'autre genre dans source de controle ou autre???
Me.RecordSource = "SELECT * FROM essaie(nom de ma table liée) WHERE [Responsable Projet] = Forms!Form_essaie!Modifiable20"
car j'ai mis ce code et rien ne s'affiche dans ma liste déroulante je ne doit rien rajouté d'autre genre dans source de controle ou autre???
Attends, ce code permet de mettre à jour un formulaire comportant les enregistrements de la table.
Tu pourrais par exemple créer un formulaire instantané sous forme de tableau ou en mode feuille de données et mettre ta zone de liste dans l'en-tête.
On peut aussi afficher les résultats dans une zone de liste mais alors dans la feuille des propriétés, tu devras paramétrer le nombre et la largeur des colonnes et sous l'onglet données, source: Table-Requête
Ensuite, tu remplaces le début du code par:
NomDeLaZoneDeListe.RowSource = "SELECT...
Tu pourrais par exemple créer un formulaire instantané sous forme de tableau ou en mode feuille de données et mettre ta zone de liste dans l'en-tête.
On peut aussi afficher les résultats dans une zone de liste mais alors dans la feuille des propriétés, tu devras paramétrer le nombre et la largeur des colonnes et sous l'onglet données, source: Table-Requête
Ensuite, tu remplaces le début du code par:
NomDeLaZoneDeListe.RowSource = "SELECT...
J'ai fais comme tu ma dis précédament: formulaire instantané et mis ma zone de liste dans l'en tete avec le code cité au dessus,le nouveau probléme est que qd je clic sur le nom que je voudrai il m'ouvre une fenetre ou je doit rentré a nouveau le nom souhaité et la il me l'affiche enfin! quelle modification je doit faire pr que quand je clic dans ma zone modifiable il m'affiche direct sans cette fenetre???
j'ai été long a repondre car j'ai essayé pas mal de solution mais en vain!
en te remerciant d'avance.
j'ai été long a repondre car j'ai essayé pas mal de solution mais en vain!
en te remerciant d'avance.
slt tt le monde,
moi je suis en Terminale STG-informatique. On nous demande d'écrire un code VBA sous access, pour un bouton de modification que j'ai créé sur un formulaire... le PB c'est que je suis nulle en VBA , je ne sais pas mettre de conditions par ex....!!! quelqu'un peut-il m'aider svp ??
Vivi973
moi je suis en Terminale STG-informatique. On nous demande d'écrire un code VBA sous access, pour un bouton de modification que j'ai créé sur un formulaire... le PB c'est que je suis nulle en VBA , je ne sais pas mettre de conditions par ex....!!! quelqu'un peut-il m'aider svp ??
Vivi973
Je veux savoir comment coder le bouton modifier sous access