IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

problème de recherche dans la table si un élément existe avec Locate


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 32
    Points : 32
    Points
    32
    Par défaut problème de recherche dans la table si un élément existe avec Locate
    Bonjour,
    je veux inserer des éléments dans une table de base de donne
    mais je veux vérifier si l’élément existe ou non dans la table ce n'est pas une clé primaire
    exemple
    j la table fiche a
    n seq
    n compte
    nature compte
    montant

    qand j’insère je veux faire un contrôle si le compte existe ou non???
    je ne sais pas comment travailler avec la fonction locate exactement.NN

  2. #2
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    Salut
    un extrait de l'aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    Utilisation de la méthode LocateFrom RAD Studio (Français)
    Remonter à Présentation des ensembles de données - Index 
     
    Locate déplace le curseur sur la première ligne correspondant au critère de recherche spécifié. Dans sa forme la plus simple, vous transmettez à Locate le nom de la colonne de recherche, une valeur de champ pour établir la correspondance et un indicateur d'option qui spécifie si la recherche doit tenir compte des différences majuscules/minuscules et si elle utilise les correspondances de clés partielles. (Correspondances dans lesquelles la chaîne de critère peut se limiter à un préfixe de la valeur de champ.) Par exemple, le code suivant déplace le curseur sur la première ligne de CustTable pour laquelle la valeur dans la colonne Company est "Professional Divers, Ltd." : 
     
     
     
     
     
     
     
     var
       LocateSuccess: Boolean;
       SearchOptions: TLocateOptions;
     begin
       SearchOptions := [loPartialKey];
       LocateSuccess := CustTable.Locate('Company', 'Professional Divers, Ltd.', SearchOptions);
     end;
     
     
     
     
     
     TLocateOptions SearchOptions;
     SearchOptions.Clear();
     SearchOptions << loPartialKey;
     bool LocateSuccess = CustTable->Locate("Company", "Professional Divers, Ltd.",
     
     
     
    Si Locate trouve une correspondance, le premier enregistrement contenant cette correspondance devient l'enregistrement en cours. Locate renvoie True si une correspondance est trouvée, False dans le cas contraire. Si la recherche échoue, l'enregistrement en cours reste le même. 
     
    Le vrai potentiel de Locate se manifeste quand vous effectuez une recherche sur plusieurs colonnes et que vous spécifiez plusieurs valeurs recherchées. Celles-ci sont des Variants, et vous pouvez donc spécifier des types de données différents pour vos critères de recherche. Pour spécifier plusieurs colonnes dans une chaîne de recherche, séparez les éléments de la chaîne par des points-virgules. 
     
    Les valeurs recherchées étant des Variants, pour transmettre plusieurs valeurs, vous devez soit transmettre un type tableau de Variants comme argument (par exemple, les valeurs renvoyées par la méthode Lookup), soit construire le tableau de Variants à la volée en utilisant la fonction VarArrayOf. Le code suivant illustre une recherche sur plusieurs colonnes faisant intervenir de multiples valeurs de recherche et utilisant les correspondances de clés partielles : 
     
     
     
     
     
     
     
     with CustTable do
       Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver','P']), loPartialKey);
     
     
     
     
     
     TLocateOptions Opts;
     Opts.Clear();
     Opts << loPartialKey;
     Variant locvalues[2];
     locvalues[0] = Variant("Sight Diver");
     locvalues[1] = Variant("P");
     CustTable->Locate("Company;Contact", VarArrayOf(locvalues, 1), Opts);
    pour ma part un Select me retournerait la même information
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/03/2011, 21h36
  2. [AC-2007] Probléme de boucle recherchant dans une table
    Par amartik dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/04/2010, 17h27
  3. Problème de recherche dans une table
    Par Asdorve dans le forum Langage SQL
    Réponses: 9
    Dernier message: 20/02/2009, 15h07
  4. recherche dans une table Access en ASP
    Par D-D dans le forum ASP
    Réponses: 3
    Dernier message: 09/06/2004, 10h12
  5. Problème de recherche dans une BD
    Par ledevelopeur dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/04/2004, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo