Vba réalisation
Résolubckflow Messages postés 496 Statut Membre -
Je souhaiterai réaliser un module access qui m'afficherait les enregistrements (qui correspondes dans deux tables différentes) dans un tableau access.
Quelqu'un aurait il une idée? Tout conseil de votre part étant bien évidemment le bien venu.
Configuration: Windows XP Internet Explorer 6.0
- Vba réalisation
- Excel compter cellule couleur sans vba - Guide
- Autofill vba ✓ - <a href="https://forums.commentcamarche.net/forum/excel-145">Forum Excel</a>
- Vba find - <a href="https://forums.commentcamarche.net/forum/astuces-et-solutions-378">Astuces et Solutions</a>
- Vba inputbox - <a href="https://forums.commentcamarche.net/forum/astuces-et-solutions-378">Astuces et Solutions</a>
- Incompatibilité de type vba ✓ - <a href="https://forums.commentcamarche.net/forum/vb-vba-267">Forum VB / VBA</a>
91 réponses
- 1
- 2
- 3
- 4
- 5
Il s'agit d'afficher dans un formulaire Access les enregistrements issus de deux tables différentes et de les relier pour qu'ils apparaissent côte à côte dans le même tableau. La solution clé est d'utiliser soit une table soit une requête comme source du formulaire, à condition de disposer d'un champ commun permettant de lier les données. Le choix entre tables ou requêtes n'est pas restrictif et dépend du besoin, le code reste essentiellement inchangé lorsque le lien s'opère par un champ commun (numéro d'enregistrement ou autre). En pratique, on peut exploiter une jointure SQL ou une requête regroupant les données des deux sources pour les afficher dans un seul formulaire, ce qui permet d'éviter des duplications et de clarifier les correspondances.
si oui, cf UNION :
SELECT tbPerso1.Nom
FROM tbPerso1
UNION ALL SELECT tbPerso2.Nom
FROM tbPerso2;
C'est un peu loufoque mais c'est bien ce que je doit faire(malheureuselment).
et le résultat de la concaténation ou pour chaque table??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionje pense que tu as des info... tu veux les mettre a jour avec d'autres info qui sont pratiquement identique et donc tu doit afficher les 2 info pour pouvoir modifier au cas où... c'est ca?
Mois même j'ai du mal à comprendre la démarche...
Et bien.. c'est tout simple...
Un formulaire...
tes 2 tables.. et un ptit bout de prog.. va voir ici:
http://dl.free.fr/getfile.pl?file=/fMFBnBfV
dis moi si c'est quelque chose comme ca que tu veux...
Si oui, j améliorerais le code pour la recherche de différence ..la c'est un bete copier coller 3 fois ;)
J'ai eu des précision sur ce que je devai faire c'est bien plus compliqué que je ne le pensai!! :(
En fait on me demande de créer un module Vba! qui vérifie que les enregistrements des deux tables concordent bien et qui n'affiche en fait que les erreurs (les champs) des enregistrements qui ne concordent pas!!!! Là c'est carrément autre chose!
Désolé pour tout l mal que tu t' es donné; vraiment.
Tu veux n'afficher que les ligne avec erreur.. et de ces ligne que les champs qui ne concordent pas..
jusque la normal.. mais ces champs qui ne concordent pas, il faut bien les afficher dans un formulaire pour que l utilisateur les corriges.. ou c'est juste pour afficher dans un état ??
Vba ne dois te servir qu a faire la comparaison entre tes 2 champs...
N'étant qu'un débutant dans ce domaine j'ai un peu de mal à voir comment procéder surtout sur le module Vba en fait.
Mais sinon oui c'est bien dans un formulaire qu'il faut afficher ces champs erreur.
exemple:
-j'ai un enregistrement sur la table transac qui est le 000236465ml225
-et un autre sur la table transac2 qui est le 000236465ml455
ces deux enregistrement comportent au moin 30 champs identique, les deux enregistrement sont donc considérés comme similaire: c'est OK
Mais il se peut que malgré tout un des champs de ces enregistrements ne soit pas conforme ou null c'est là qu'il faut que l'affichage s'effectue dans un formulaire.
Cette opération doit être effectuée en boucle sur la totalité des enregistrements des deux tables.
Voilà exactement le type d'action à réaliser, j'éspère que cela vous apportera plus de précision.
Merci encore pour votre aide et le temps que vous me consacrez!! C'est très sympa :)
J'ai bien compris ?
C'est vraiment cool que tu puisse m'aider, j'y croyais pas trop quand j'ai poster cette discution
on vérifie si les champs sont égaux, si oui, on passe au champ suivant, sinon, on affiche le champ, pour cela 3 solutions :
1) cracra.. mais tres simple
on cré tous les champs des tables, propriété visible=false si ==, sinon, visible=true.
Apres, pour une question d estétique, on 'remonte' et aligne les champs visibles
2)un peu plus propre.. mais la ca demande un peu plus de temps pour le code
on cré pour chaque champ <> le textbox qui va bien en n oubliant pas de lui mettre la source correspondante
Lors de la création, champs.left et .top = champ précédant + largeur et longueur du champs
3)Celle que je préfère ;)
on cré tous les champs des tables, on grise et on lock contre modif ceux qui sont égaux, pour les autres on les laisse avec possibilité de modif
Solution 3 est, je pense, mieux car l utilisateur voit les autres info (ce qui peut lui donner une piste pour savoir de la table1 ou table2 laquel est la bonne), et du point de vu création du formulaire, c'est plus propre pour l agencement.
Maintenant à toi (ou ton chef) de décidé ;)
- 1
- 2
- 3
- 4
- 5