[Access 2003] Clef primaire inexacte
Fulong
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Jean_Jacques Messages postés 1040 Date d'inscription Statut Membre Dernière intervention -
Jean_Jacques Messages postés 1040 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travaille actuellement sur une base de données terminologique, qui est presque finie. Malgré mes maigres connaissances en Access j'ai réussi, en grande partie grâce à ce forum, à obtenir un résultat qui me satisfait, mais il me reste encore un dernier problème à régler et je n'ai pu trouver aucun forum traitant d'un problème similaire ...
Ma base comprend un formulaire Sources ("frm_Sources") basé sur une table ("tbl_Sources") qui contient des informations sur les documents de référence utilisés pour remplir la partie glossaire.
En commençant à remplir les sources, j'ai décidé d'ajouter un petit module de recherche au formulaire permettant d'afficher les résultats dans une liste de résultat (appelée "lst_resultat"). J'aimerais maintenant arriver à me rendre à l'enregistrement choisi en double-cliquant sur la ligne de la liste qui lui correspond. J'ai donc crée une commande :
Private Sub lst_resultat_DblClick(Cancel As Integer)
DoCmd.GoToRecord , , acGoTo, Me.lst_resultat
End Sub
Problème cependant. La clef primaire de ma table ("N°") a définie les numéros par incrémentation de 1 en 1. Malheureusement, après avoir supprimé des entrées dans la table, le champ "N°" de la table ne correspond plus au numéro des enregistrements du point de vue du formulaire.
Par exemple, pour le tout premier enregistrement de la table, [N°] = 4 , donc si je double-clique dessus dans la liste, j'affiche l'enregistrement qui correspond à la quatrième ligne de la table, mais pas l'enregistrement dont le champ N° est égal à 4...
J'ai bien essayé un :
DoCmd.GoToRecord , , acGoTo, " N° = " & Me.lst_resultat
... en vain.
Pardonnez-moi de ne pas pouvoir être plus concis, j'espère que ça vous paraîtra assez clair et que certains d'entre vous pourront me filer un coup de main.
Merci d'avance!
Je travaille actuellement sur une base de données terminologique, qui est presque finie. Malgré mes maigres connaissances en Access j'ai réussi, en grande partie grâce à ce forum, à obtenir un résultat qui me satisfait, mais il me reste encore un dernier problème à régler et je n'ai pu trouver aucun forum traitant d'un problème similaire ...
Ma base comprend un formulaire Sources ("frm_Sources") basé sur une table ("tbl_Sources") qui contient des informations sur les documents de référence utilisés pour remplir la partie glossaire.
En commençant à remplir les sources, j'ai décidé d'ajouter un petit module de recherche au formulaire permettant d'afficher les résultats dans une liste de résultat (appelée "lst_resultat"). J'aimerais maintenant arriver à me rendre à l'enregistrement choisi en double-cliquant sur la ligne de la liste qui lui correspond. J'ai donc crée une commande :
Private Sub lst_resultat_DblClick(Cancel As Integer)
DoCmd.GoToRecord , , acGoTo, Me.lst_resultat
End Sub
Problème cependant. La clef primaire de ma table ("N°") a définie les numéros par incrémentation de 1 en 1. Malheureusement, après avoir supprimé des entrées dans la table, le champ "N°" de la table ne correspond plus au numéro des enregistrements du point de vue du formulaire.
Par exemple, pour le tout premier enregistrement de la table, [N°] = 4 , donc si je double-clique dessus dans la liste, j'affiche l'enregistrement qui correspond à la quatrième ligne de la table, mais pas l'enregistrement dont le champ N° est égal à 4...
J'ai bien essayé un :
DoCmd.GoToRecord , , acGoTo, " N° = " & Me.lst_resultat
... en vain.
Pardonnez-moi de ne pas pouvoir être plus concis, j'espère que ça vous paraîtra assez clair et que certains d'entre vous pourront me filer un coup de main.
Merci d'avance!
A voir également:
- [Access 2003] Clef primaire inexacte
- Clef usb non reconnue - Guide
- Formater clef usb - Guide
- Office 2003 - Télécharger - Bureautique
- Acer quick access - Forum Logiciels
- Access appdata - Guide
1 réponse
Fulong,
Voici un brouillon ACCESS à télécharger qui traite plus ou moins de votre problématique ...
1/En activant le formulaire F_commandes et en vous positionnant (ce n'est qu'un exemple) sur l'enregistrement N° 8, vous actionnez le bouton "Ouvrir" et les enregistrements enregistrements 1; 7; 8. C'est à dire les 3 occurrences qui
ont "Client 1" pour argument sont listés. Ainsi de suite ...
En l'adaptant à votre contexte, je présume qu'il pourra vous rendre service.
http://www.cijoint.fr/cjlink.php?file=cj200908/cijSkH3fFz.zip
Cordialement
Voici un brouillon ACCESS à télécharger qui traite plus ou moins de votre problématique ...
1/En activant le formulaire F_commandes et en vous positionnant (ce n'est qu'un exemple) sur l'enregistrement N° 8, vous actionnez le bouton "Ouvrir" et les enregistrements enregistrements 1; 7; 8. C'est à dire les 3 occurrences qui
ont "Client 1" pour argument sont listés. Ainsi de suite ...
En l'adaptant à votre contexte, je présume qu'il pourra vous rendre service.
http://www.cijoint.fr/cjlink.php?file=cj200908/cijSkH3fFz.zip
Cordialement
J'ai utilisé la méthode OpenForm de votre tutoriel et ça marche parfaitement!
Merci infiniment!
Vous me voyez ravi de notre petit succès.
Pour mémoire, j'ai créé le petit tuto comme suit :
1 / Affichage du formulaire en mode création
2 / La boîte à outils
3 / Clic Gauche sur l'outil nommé "Bouton de commande"
4 / Nouveau Clic sur le formulaire pour y déposer le bouton ...
5 / Suivre les instructions en pas à pas de l'assistant qui s'affiche, etc
Autre chose : Il est toujours possible et facile de renuméroter une clé primaire en partant de un. Mais alors attention aux liens ...
Bonne fin de journée