|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : juin 2004 Messages : 143 ![]() |
Bonjour,
J'ai une table liée à un fichier. J'utilise n=HnumEnr pour obtenir le numéro d'enregistrement dans le fichier. Je voudrais sélectionner la ligne correspondante de ma table, ce que ne permet pas de faire Hnumenr. Quelle serait la solution ? Par avance merci |
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() Inscription : avril 2008 Messages : 554 ![]() |
Salut!
Tu peux jeter un coup d'oeil sur les fonctions TableCherche() |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : juin 2004 Messages : 143 ![]() |
Merci mais le problème est que je ne peux pas utiliser TableCherche car cette fonction n'est pas sensible à la casse alors que les rubriques de mon fichier y sont. J'utilise donc HRecherchePremier pour me positionner dans le fichier et j'obtiens ainsi le numéro d'enregistrement avec Hnumenr.
A partir du numéro d'enregistrement je voudrais sélectionner la ligne de la table liée. |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Christophe VibertDéveloppeur informatique Inscription : octobre 2006 Messages : 292 ![]() |
Bonjour,
Je te déconseille le hnumenr qui peut être modifié par la ré-indexation. la bonne méthode (selon moi) est d'ajouter une clé unique dans ta table et de faire une recherche sur cette clé dans la table pour te positionner. |
|
|
10
|
|
|
#5 |
|
Membre Expert
![]() Claude Développeur informatique Inscription : juin 2003 Messages : 940 ![]() |
Je plussoie.
Dans ton fichier, utilises l'id automatique. Cela te permettra de faire une recherche dessus (dans la table, tu ajoutes et tu masques la colonne correspondante). |
|
|
00
|
|
|
#6 |
|
Membre éprouvé
![]() Inscription : avril 2008 Messages : 554 ![]() |
Je pensais que HNumEnr() renvoyait justement l'id Auto du Fichier ?
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Claude Développeur informatique Inscription : juin 2003 Messages : 940 ![]() |
Quelle horreur !!!
![]() ![]() ![]() Si tu supprimes et ajoutes des enregistrements, l'id n'est pas recalculé. Il s'incrémente à chaque ajout. Tu peux avoir un id qui vaut 2156125 et un seul enregistrement dans ta table -> hnbenr(MonFichier) = 1... Attention dans tes programmes, tu risques de gros problèmes... |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : juin 2004 Messages : 143 ![]() |
Merci pour vos réponses
J'ai bien un id automatique dans mon fichier. Mais je ne vois pas comment je peux sélectionner la ligne correspondante de la table à partir du contenu d'un champ de saisie sachant que, dans le champ de saisie, j'entre le contenu d'une rubrique texte (clé unique, sensible à la casse). Pour être plus précis, le contenu du champ est un code (par exemple H25j9). Notez que h25j9 est un code différent qui correspond à une autre ligne de la table, donc à un autre enregistrement du fichier. Je sais me positionner dans le fichier avec Hrecherchepremier mais je ne sais pas me positionner sur la ligne qui correspond. Par avance merci |
|
|
00
|
|
|
#9 | |
|
Membre habitué
![]() Inscription : octobre 2007 Messages : 78 ![]() |
Bonsoir
Concernant TableNumEnr, l'aide dit ceci : Citation:
- une boucle TableCherche qui va sortir successivement toutes les lignes correspondant à la valeur recherchée, indépendamment de la casse ; - comparer pour chaque ligne trouvée, la chaine figurant dans la colonne ad-hoc au code saisi dans le champ. Si les codes ne font que 5 positions, ce ne sera pas très lourd. En espérant avoir aidé, Hemgé |
|
|
|
00
|
|
|
#10 | ||
|
Membre du Club
![]() Inscription : juin 2004 Messages : 143 ![]() |
Merci pour la réponse Hemgé
Je suis bien d'accord que, pour un ligne sélectionnée, dans le code ci-dessous, n sera égal = m Code :
Effectivement, je peux comparer le contenu de mon champ de saisie avec le résultat de TableCherche. Je pense qu'il n'y a pas d'autre solution, je vais adopter cette solution MERCI |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com