Application access vba

la_cavalière Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
Uryon Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'espère que vous allez très très bien,
je fais appel aux experts Access 2010/vba
j'ai une application sous Access en vba, dont le but est faire sortir un état à imprimer.
Donc comme toute application je dois pouvoir ajouter, modifier, supprimer, rechercher.

j'ai créé un formulaire connexion pour me diriger vers un formulaire de navigation où j'ai mis plusieurs onglets. onglet1 fr_principal, onglet2 liste les enregistrements avec ID_ADHERENT sous forme de hyperlink, onglet3 pour l'état.
Donc:

Problème1: j'arrive pas à accéder au "formulaire de navigation" au clic sur le bouton entrer qui se trouve dans le "formulaire de connexion" et la même chose quand je veux naviguer entre les onglet au clic sur un bouton

Problème2: sur l'onglet2 je veux au clic sur ID_ADHERENT je bascule vers l'onglet1 qui affiche les informations sur un adhérent dans les champs du formulaires pour les modifier et ensuite les enregistrer. le code vba pour enregistrer ça marche donc il me manque la fonction qui affecte le contenu de l'enregistrement dans les champs du formulaire respectivement.

Problème3: j'ai créé une requête qui affiche tous les enregistrements dans l'état mais j'ai des lignes en double parce que pour un adhérent on peut avoir plusieurs fonctions donc je veux concaténer les fonctions dans une colonne pour chaque adhérent. Est ce c'est possible avec les requêtes sql, voilà la requête en mode sql que j'utilise maintenant et ça donne pas le résultat que je veux dans l'état:

SELECT ADHERENT.ID_ADHERENT, ADHERENT.PrenomFR & " " & ADHERENT.NomFR AS [Nom complet], ADHERENT.CIN, ADHERENT.categorie, FONCTIONS.LIB_FONCTION, ADHERENT_FONCTION.salaire, ADHERENT.SommeAutreRevenus, "500" AS [valeur ajoutée]
FROM FONCTIONS RIGHT JOIN (ADHERENT LEFT JOIN ADHERENT_FONCTION ON ADHERENT.ID_ADHERENT = ADHERENT_FONCTION.ID_ADHERENT) ON FONCTIONS.ID_FONCTION = ADHERENT_FONCTION.ID_FONCTION;

j'ai choisi pendant la création de l'état de grouper par ID_ADHERENT, nom complet, cin, catégorie ce qui fait que les autres champs s'affiche sur plusieurs lignes, alors que je veux mettre chaque adhérent sur une ligne.

Problème4: transformer l'application en exécutable pour cacher la partie code , table ...

j'espère être clair, merci pour votre écoute et votre aide si vous pouvez.


1 réponse

Uryon Messages postés 73 Date d'inscription   Statut Membre Dernière intervention  
 
Problème1 je n'ai pas très bien compris désolé

Problème 2, crée un formulaire à l'aide de l'assistant formulaire affichant les données d'un adhérent (après tu personalise comme tu veux pour pouvoir modifier etc...) puis tu mets le code suivant
'Récupère le numéro de l'enregistrement sur lequel on a cliqué
col = liste.ListIndex
'Récupère le contenu de l'id_identite dans la ligne de l'enregistrement sur lequel on a  cliqué
id_soc = liste.Column(1, col) 
'Récupère le contenu du siret dans la ligne de l'enregistrement sur lequel on a  cliqué
id_doublon = liste.Column(0, col)

Sachant que ta liste d'adhérent doit être une zone de liste nommée "liste".

Problème3 idem que le 1 je n'ai pas très bien compris la situation

Problème4 : Je ne connais pas ta version d'access mais dans les options tu as une option "afficher le volet navigation" normalement, en le décochant on ne verra plus le code, ensuite pour qu'un formulaire/macro ou autre s'ouvre quand tu ouvres la base de donnée il te suffit de l'apeller "AutoExec", il se chargera automatiquement à chaque ouverture de la base.

En espérant t'avoir bien expliqué et avoir donné les bonnes réponses aux deux problèmes auxquels j'ai répondu je te souhaite bon courage !
0