Où insere-t'on le code sous access

D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
 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
A voir également:

17 réponses

blux Messages postés 27119 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
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 !
0
gnepou
 
salut

Je veux savoir comment coder le bouton modifier sous access
0
fl0 Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   209
 
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
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
fl0 Messages postés 357 Date d'inscription   Statut Membre Dernière intervention   209
 
pourquoi tu veut faire ca
0

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

Posez votre question
blux Messages postés 27119 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
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'.
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
blux Messages postés 27119 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Ne confond pas 'tables liées' et 'relations entre tables'...

Une table liée n'a pas ses données dans la base ACCESS courante, mais ailleurs : autre base ACCESS, feuille EXCEL, base vue via ODBC...

Les relations entre tables découlent de ton modèle de données relationnel...
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai bien une relation entre mes tables:
table Projet-->num_projet(=clé)
table Principale--->nom_collaborateur,num_projet ...(pas de clé primaire pour cette table)

j'ai relié mes deux tables ensembles mais je doit comme sité au dessus supprimer ma liaison pour ma mise a jour.
0
blux Messages postés 27119 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Oui, mais dans ton message 6, tu parles de table 'liée'...
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
blux Messages postés 27119 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Pour exécuter du code, tu crées un bouton et pour lancer une requête de modification, tu mets le code suivant pour supprimer une relation :

DoCmd.RunSql ("ALTER TABLE toto DELETE CONSTRAINT ...")

Et c'est tout...
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
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?
0
D-Vor
 
c'est une solution a envisager, tu peut me donner la démarche a suivre dans ce cas?
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
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.
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
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.
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
je voudrai recherché mes données dans une zone de liste modifiable et qu'elles s'affichent dans un sous formulaire de forme tabulaire.
je doit faire pour mes donnés dans ma zone de liste modifiable une requette?a partir de mon nouveau fichier liés a excel je suppose?
merci pour ton aide
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
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???
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
Je ne comprends pas bien où est ton problème:

la création de la liste ou l'affichage des résultats?
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Je n'arrive pas a créer ma zone de liste il me met le message d'erreur sité précédement donc je ne peut pas voir mes résultats du coup.
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
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...
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
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)
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
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"
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
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???
0
zenon Messages postés 726 Date d'inscription   Statut Membre Dernière intervention   180
 
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...
0
D-Vor Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
vivi
 
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
0