Commande LOCATE
Recherche le premier enregistrement qui correspond à la valeur ou à la condition spécifiée ou accède au numéro d'enregistrement spécifié.
Syntaxe
LOCATE {IF test <WHILE test> <FIRST plage|NEXT plage>|RECORD num}
Paramètres
Nom | Description |
---|---|
IF test |
Valeur ou condition à rechercher. Les valeurs littérales de caractère doivent être entre guillemets et les valeurs DateHeure doivent être entre guillemets inversés. |
WHILE test optionnel |
Expression conditionnelle qui doit être vraie afin de traiter chaque enregistrement. La commande est exécutée jusqu'à ce que la condition soit évaluée comme fausse ou lorsque la fin de la table est atteinte. Remarque Si vous utilisez WHILE conjointement avec FIRST ou NEXT, le traitement des enregistrements s'arrête dès qu'une limite est atteinte. |
FIRST plage | NEXT plage optionnel |
Le nombre d'enregistrements à traiter :
Utilisez plage pour indiquer le nombre d'enregistrements à traiter. Si vous ignorez FIRST et NEXT, tous les enregistrements sont traités par défaut. |
RECORD num |
Numéro d'enregistrement à rechercher. |
Exemples
Rechercher le premier enregistrement correspondant à une valeur spécifiée
Dans les exemples suivants, la commande LOCATE est utilisée pour rechercher la première occurrence d'une valeur spécifique dans une table :
LOCATE IF Nom_Fournisseur = "Équipement uni"
LOCATE IF Nom_Fournisseur = "Uni"
LOCATE IF Montant_Facture > 1000
LOCATE IF Date_facture = `20141231`
Rechercher le premier enregistrement correspondant à une condition ou à une expression spécifiée
Dans les exemples suivants, la commande LOCATE est utilisée pour rechercher la première occurrence d'une condition ou d'une expression spécifique dans une table :
LOCATE IF Nom_Fournisseur = "Équipement uni" AND Montant_Facture > 1000 AND Date_facture > `20140930`
LOCATE IF Ville_fournisseur = v_ville
Rechercher un enregistrement par numéro d'enregistrement
Dans l'exemple suivant, la commande LOCATE est utilisée pour accéder à un enregistrement spécifique dans une table :
LOCATE RECORD 50
Remarques
Remarque
Pour plus d'informations sur le fonctionnement de cette commande, consultez le Aide d'Analytics.
Fonctionnement
Utilisez la commande LOCATE pour accéder directement au premier enregistrement d'une table correspondant à la valeur ou à la condition spécifiée.
Si la valeur ou la condition spécifiée est trouvée, le premier enregistrement correspondant de la table est sélectionné. Si la valeur ou la condition spécifiée n'est pas trouvée, la table est placée sur le premier enregistrement.
LOCATE permet aussi de passer directement à un numéro d'enregistrement spécifique
Comparaison de LOCATE avec FIND et SEEK
À la différence des commandes FIND et SEEK, la commande LOCATE ne se limite pas à la recherche dans une table indexée ou dans un champ caractère unique. À l'aide de la commande LOCATE, vous pouvez rechercher n'importe quel type de littéral ou d'expression utilisant n'importe quel type de données ou différents types de données.
Lorsqu'elle est utilisée pour effectuer une recherche dans une table non indexée, la commande LOCATE peut être beaucoup plus lente que FIND et SEEK, car elle doit traiter chaque enregistrement de la table de manière séquentielle. La durée de traitement requise dépend de la taille de la table, de l'emplacement d'un enregistrement correspondant et de la réduction ou non du périmètre de la recherche à l'aide de WHILE, FIRST ou NEXT.
Rapprochement partiel pris en charge
Le rapprochement partiel est pris en charge pour les recherches de caractères. La valeur de recherche peut être contenue par une valeur plus longue dans le ou les champs dans lesquels la recherche est effectuée. Toutefois, les valeurs de recherche doivent apparaître au début des champs pour pouvoir constituer un rapprochement.
Activation ou désactivation du rapprochement partiel
Vous pouvez activer ou désactiver le rapprochement partiel à l'aide de la commande SET ou d'un paramètre dans la boîte de dialogue Options :
Activer le rapprochement partiel | Désactiver le rapprochement partiel |
---|---|
Spécifiez : SET EXACT OFF ou Décochez : Comparaisons exactes de caractères dans la boîte de dialogue Options (Outils > Options > Table) Résultat : La valeur de recherche peut être contenue par une valeur plus longue dans le ou les champs dans lesquels la recherche est effectuée. La valeur de recherche doit apparaître au début d'un champ pour constituer un rapprochement. |
Spécifiez : SET EXACT ON ou Sélectionnez : Comparaisons exactes de caractères dans la boîte de dialogue Options (Outils > Options > Table) Résultat : La valeur de recherche doit correspondre exactement à une valeur dans un champ pour constituer un rapprochement. |
Pour plus d'informations sur SET EXACT, consultez la rubrique Commande SET.
Pour plus d'informations sur l'option Comparaisons exactes de caractères, consultez la rubrique Onglet Table (boîte de dialogue Options).