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

Bases de données Delphi Discussion :

probleme avec le locate


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 121
    Points : 59
    Points
    59
    Par défaut probleme avec le locate
    Bonjour à tous!
    je suis entrain de chercher deux dates dans ma table , et j'utilise le Locate.
    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TMvtJourForm.SpeedButton3Click(Sender: TObject);
    var resultat :variant;
    begin
      resultat:=DM.tbHisto_inout.Locate('DATEDEB ; DATEFIN',VarArrayOf([DateJour1.Date,DateJour2.Date]),[]);
      if resultat then
      begin
        MessageDlg('        Cette date existe déjà !!!        ',
        mtInformation,[mbOk],0);
      end;
    end;
    DATEDEB et DATEFIN sont les champs de ma table tbHisto_inout;
    DateJour1 et DateJour2 sont mes deux DateTimePicker qui permettent de choisir les dates;
    il s'excute bien sans erreur , mais lorsque je clique sur ok dans mon programme, il m'affiche une erreur : la description des champs sont invalides.
    Merci de m'aider.

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TfrmTest.SpeedButton1Click(Sender: TObject);
    var resultat :variant;
    begin
      resultat:=Dm.ADOTable1.Locate('dateA ; dateB',VarArrayOf([datetostr(dt1.Datetime),datetostr(dt2.Datetime)]),[]);
      if resultat then
      begin
        MessageDlg('        Cette date existe déjà !!!        ',
        mtInformation,[mbOk],0);
      end;
    end;
    Les champs datenA et dateB sont des string.

  3. #3
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Perso je pense plus à un problème avec le 1° paramètre du locate: les espaces sont en trop.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    resultat:=DM.tbHisto_inout.Locate('DATEDEB;DATEFIN',VarArrayOf([DateJour1.Date,DateJour2.Date]),[]);
    @+ Claudius

  4. #4
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 202
    Points : 108
    Points
    108
    Par défaut
    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
     
    var
      LocateSuccess: Boolean;
      SearchOptions: TLocateOptions;
    begin
      //rechercher par matricule
      if Rech1.Text<>''then
      begin
        with module_data.data.Agent do
        begin
          SearchOptions := [loPartialKey];
          LocateSuccess := Locate('code_agent', Rech1.text, SearchOptions);
        end;
        if not LocateSuccess then
           showmessage('Le matricule recherché n''existe pas.');
      end;
    tu as ici un exemple de code avec locate. ce code recherche dans la table agent le matricule.

  5. #5
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Citation Envoyé par Cl@udius
    Salut

    Perso je pense plus à un problème avec le 1° paramètre du locate: les espaces sont en trop.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    resultat:=DM.tbHisto_inout.Locate('DATEDEB;DATEFIN',VarArrayOf([DateJour1.Date,DateJour2.Date]),[]);
    @+ Claudius
    Les espaces ne génèrent aucun problème chez moi.

  6. #6
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par Frank
    Les espaces ne génèrent aucun problème chez moi.

    C'est exact j'ai parlé trop vite. J'ai également effectué un test et effectivement les espaces ne sont pas en cause.

    Même si ceci me chagrine toujours:
    Citation Envoyé par tchimou
    il m'affiche une erreur : la description des champs sont invalides.
    ??

    @+

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Composants utilisés ?
    Base de données utilisée ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 121
    Points : 59
    Points
    59
    Par défaut
    Merci pour vos reponses, j'utilise une base de données Access, j'utilise des DateTimePicker pour mes dates, et j'ai une table tbHisto_inout; je n'utilise pas ADO mais le BDE.
    Merci

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 121
    Points : 59
    Points
    59
    Par défaut
    voici l'erreur qui s'affiche :

  10. #10
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Si les champs dans la base de données ont bien ses noms là

    Essaie comme çà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     resultat := DM.tbHisto_inout.Locate('DATEDEB;DATEFIN',
                                         VarArrayOf([FormatDateTime('#mm/dd/yyyy#',DateJour1.Date),
                                                     FormatDateTime('#mm/dd/yyyy#',DateJour2.Date)])
                                         ,[loCaseInsensitive]);
    Je ne suis pas sûr à 100% que les # dans le format fonctionne, il faudrat peut être que tu les rajoutes après genre : '#' + formatDateTime + '#'
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 121
    Points : 59
    Points
    59
    Par défaut
    Merci encore pour vos reponses;
    Cl@udius a dit ceci:
    Salut

    Perso je pense plus à un problème avec le 1° paramètre du locate: les espaces sont en trop.

    Code :

    resultat:=DM.tbHisto_inout.Locate('DATEDEB;DATEFIN',VarArrayOf([DateJour1.Date,DateJour2.Date]),[]);
    je suis revenu à mon code de depart , et j'ai supprimé les espaces, maintenant ça fonctionne très bien .
    je ne sais pas, mais je pense qu'il avait raison , puisque j'ai juste supprimé les espaces pour que cela fonctionne.
    De toutes les manières je vous remercie tous pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec header(Location: url)
    Par GregPouet dans le forum Langage
    Réponses: 8
    Dernier message: 17/01/2013, 09h22
  2. [XL-2007] Probleme avec la propriete Location d’un TCD:
    Par Bonero dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/07/2012, 15h21
  3. probleme avec la fonction locate
    Par kroma23 dans le forum Bases de données
    Réponses: 3
    Dernier message: 07/06/2011, 09h48
  4. Probleme avec button.Location
    Par samiblh dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/04/2009, 22h51
  5. probleme avec le locate (les dates)
    Par tchimou dans le forum Bases de données
    Réponses: 7
    Dernier message: 02/05/2007, 10h35

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