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 :

les arguments sont de type incorrectes


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Par défaut les arguments sont de type incorrectes
    Salut.
    S'il vous plait, pouvez vous m'aider ?

    je travaille avec delphi7, j'ai écrit le source suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Tbl1.filtered:=true;
     Tbl1.Filter:='date de payement<>  ''''';

    je doit filtrer la table où la date est nulle.
    mais une erreur s'affiche:
    les arguments sont de type incorrectes

  2. #2
    Expert confirmé
    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 : 62
    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
    Par défaut
    Salut

    Comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      Tbl1.Filter := '[date de payement] IS NULL';
      Tbl1.filtered := True;
    PS: Il est préférable de définir l'expression du filtre avant d'activer ce dernier.

    @+

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    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 236
    Par défaut
    Règles avec les bases de données :

    1- Jamais tu ne dois mettre d'espace dans les noms des champs/tables/index/etc ... car cela oblige d'utiliser des séparateurs afin de borné ces noms.
    2- Jamais tu ne dois nommer un champ/table/index ayant le nom d'un mot réservé.
    3- Jamais tu n'utilises des TxxxTable avec des tables qui vont grossir en taille car plus elles vont grossir plus tu vas devoir charger des données en mémoire et plus ton application va être lente.
    4- En attente d'autres personnes qui vont surement trouver d'autres règles à respecter
    Modérateur Delphi

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

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 124
    Par défaut
    IS NULL proposé par Cl@udius est plutôt à utiliser dans un TQuery avec du SQL

    Filter ne supporte pas forcément tout selon la version

    la documentation XE2 de TDataSet.Filter évoque un = NULL ainsi que IS NULL,
    mais cela reste générique, tout dépend si BDE, ADO, DBX ... Paradox, ACCESS, Oracle ...

    La documentation du TTable.Filter\TBDEDataSet.Filter de C++Buider 6 (proche de Delphi 7) ne faisait pas mention à la comparaison à NULL !
    La documentation du TADOQuery\TCustomADODataSet::Filter de C++Buider 6 évoquait la comparaison = NULL
    A l'époque le Filter l'implémentation semblait être dépendante de la Librairie utilisée !
    Aujourd'hui, c'est plus flou !

    @karimala, pense à toujours indiquer DB et Librairie utilisée !

    En Paradox, il faut savoir "00/00/0000" peut exister si l'on force un peu la main
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO  "Table.DB" (ChampDate) values (CAST("ABC" AS DATE))
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre éclairé
    Avatar de JP.NUAGE
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Âge : 83
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 780
    Par défaut
    Pour aller dans le sens de Rayek

    Et les filtres bouffent (le mot est faible) de la ressource......alors qu'un Query (si possible avec ta base ---> voir la réponse de ShaileTroll) du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from Table where DATE_DE_PAYEMENT <> null
    est beaucoup plus rapide
    Et bien sûr pas de blanc ni de mot réservé ! En plus je conseillerais de s'habituer à écrire les noms de champs en majuscules. Plus lisible !

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 706
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 706
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par JP.NUAGE Voir le message
    Et les filtres bouffent (le mot est faible) de la ressource....
    il faut mettre de l'eau dans son vin (bien que cela soit peu agréable) , si cette table est paradox , j'ai appris que les filtres était aussi efficace sinon plus que la Query (paradox mono poste bien sur)

    donc j'appuie ShaileTroll
    @karimala, pense à toujours indiquer DB et Librairie utilisée

  7. #7
    Membre actif
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Par défaut msg erreur reste
    Citation Envoyé par Cl@udius Voir le message
    Salut
    slt j'ai ecrit comme ca mais tjr msg erreur reste
    Comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      Tbl1.Filter := '[date de payement] IS NULL';
      Tbl1.filtered := True;
    PS: Il est préférable de définir l'expression du filtre avant d'activer ce dernier.

    @+

  8. #8
    Membre actif
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Par défaut comment je peut identifeir un table dune bdd access
    slt.
    svp j'ai esaye de travail avec erquete sql mais un pbl .
    comment je peut indquer le nom de la table d'une bdd access j'ai ecrit source comme ca

    select * from liste where DATEDEPAYEMENT IS NOT NULL

    erreur la table liste.dbf n'existe pas ?
    j'ai remplace liste par table1 mais toujour pbl reste
    comment je peut identifeir un table dune bdd access dans requete sql ????

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/11/2013, 02h10
  2. [XL-2007] Fonction dont les arguments sont une partie d'un code URL
    Par Vince006 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/04/2012, 01h29
  3. Tester si les arguments sont des entiers
    Par mailbox dans le forum Débuter
    Réponses: 4
    Dernier message: 09/11/2010, 16h40
  4. Réponses: 3
    Dernier message: 24/07/2006, 14h11
  5. fonction dont les argument sont dans un dico
    Par GConstant dans le forum Général Python
    Réponses: 1
    Dernier message: 12/08/2004, 19h24

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