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 :

Variables dans un champs


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    J'aime la programmation avec Delphi
    Inscrit en
    Avril 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : J'aime la programmation avec Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 227
    Par défaut Variables dans un champs
    Bonjour

    J’ai un champs nommé Field4 contient des enregistrements similaires à l’enregistrement ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1010100000000000000000000000000000000100300100100000000000000000000000400000000000000000000000000000
    (100 chiffre)
    P1/P2/……./P100 (position)

    Si le chiffre différent de zéro indique une trace comment je peux compter le nombre de la position P1 en fonction du champs Field4 si la position: .

    Cdt.

  2. #2
    Membre éclairé Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Par défaut
    Citation Envoyé par louay02 Voir le message
    Bonjour

    J’ai un champs nommé Field4 contient des enregistrements similaires à l’enregistrement ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1010100000000000000000000000000000000100300100100000000000000000000000400000000000000000000000000000
    (100 chiffre)
    P1/P2/……./P100 (position)

    Si le chiffre différent de zéro indique une trace comment je peux compter le nombre de la position P1 en fonction du champs Field4 si la position: .

    Cdt.

    Salut,
    j'ai fait un petit exemple, en remplaçant le Tfield Par Tlabel, et si j'ai bien compris la question, c'est la proc qu'il faut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.Button1Click(Sender: TObject);
    var i:integer;
    begin
      for i:=0 to length(label1.Caption)-1 do
        begin
          if StrToInt(AnsiMidStr(Label1.Caption,i,1)) <> 0 then
            ListBox1.Items.Add(AnsiMidStr(Label1.Caption,i,1)+'   '+IntToStr(i));
        end;
    end;

  3. #3
    Membre éclairé
    Homme Profil pro
    J'aime la programmation avec Delphi
    Inscrit en
    Avril 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : J'aime la programmation avec Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 227
    Par défaut
    Merci liazidf

    J’ai fais mal expliquer

    j'utilise une base de donnée Access je cherche par exemple une commande qui compte combien j'ai un 1 dans la première position du Field4
    contenu du [Field4]

    0010100000000000
    1010100000000000
    1010100000000100
    1010100000000001

    comme la commande substr

  4. #4
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    pour utiliser DANS access ou pour traiter dans DELPHI ?

  5. #5
    Membre éclairé
    Homme Profil pro
    J'aime la programmation avec Delphi
    Inscrit en
    Avril 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : J'aime la programmation avec Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 227
    Par défaut
    Citation Envoyé par dehorter olivier Voir le message
    pour utiliser DANS access ou pour traiter dans DELPHI ?
    un composant ADOquery lié à la base de donnée Access

  6. #6
    Membre éclairé Avatar de liazidf
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2002
    Messages : 281
    Par défaut
    Citation Envoyé par louay02 Voir le message
    Merci liazidf

    J’ai fais mal expliquer

    j'utilise une base de donnée Access je cherche par exemple une commande qui compte combien j'ai un 1 dans la première position du Field4
    contenu du [Field4]

    0010100000000000
    1010100000000000
    1010100000000100
    1010100000000001

    comme la commande substr
    C'est pas trés clair, on ne peut pas avoir plus de 1 chiffre à la premiere position, reformuler votre problème, ensuite si vous utilier adoquery il y a SQL pour compter le nombre d'occurences

  7. #7
    Membre éclairé
    Homme Profil pro
    J'aime la programmation avec Delphi
    Inscrit en
    Avril 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : J'aime la programmation avec Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 227
    Par défaut
    Exp:

    une table access qui contient un Champs Field4

    Field4
    10101000000000
    10000000000101
    10101000000000
    00000000000000
    10101000000000
    00000000000000
    10000000000000
    00000000000000

    il y a 5 enregistrement par rapport 8 commence leurs première position par un 1
    il y a 3 enregistrement par rapport 8 commence leurs troisième position par un 1

    je cherche une requête SQL dans Access qui fait ce traitement

  8. #8
    Membre éclairé
    Homme Profil pro
    J'aime la programmation avec Delphi
    Inscrit en
    Avril 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : J'aime la programmation avec Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 227
    Par défaut
    quelque chose comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select Mid([Field4],1,1) from AllTable

  9. #9
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    bien plus clair

    SUBSTRING existe en Access ?

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(*)
        FROM ma_table
      WHERE SUBSTRING(ma_table.Field4 FROM 1 FOR 1) = '1'

    Syntaxe FIREBIRD

    voila l'idee pour la premiere colonne ...

  10. #10
    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

    J'ai également du mal à comprendre ce que tu veux obtenir.

    En se basant sur ces données exemples:
    0010100000000000
    1010100000000000
    1010100000000100
    1010100000000001
    Le résultat que tu souhaites obtenir est-ce 3 ? (car 3 données sur 4 ont '1' comme 1° caractère).

    Si oui cette requête fera l'affaire:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(*)
    FROM MA_TABLE
    WHERE FIELD4 LIKE '1*';

    Enfin si j'ai bien compris.

    @+ Claudius

  11. #11
    Membre éclairé
    Homme Profil pro
    J'aime la programmation avec Delphi
    Inscrit en
    Avril 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : J'aime la programmation avec Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 227
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Salut

    J'ai également du mal à comprendre ce que tu veux obtenir.

    En se basant sur ces données exemples:


    Le résultat que tu souhaites obtenir est-ce 3 ? (car 3 données sur 4 ont '1' comme 1° caractère).

    Si oui cette requête fera l'affaire:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(*)
    FROM MA_TABLE
    WHERE FIELD4 LIKE '1*';

    Enfin si j'ai bien compris.

    @+ Claudius
    Vous avez utiliser LIKE pour vérifier la premiére position, mais comment vous pouvez vérifier la 2 ° et la 3 °....ect° est ce qu'il égale un 1 afin de compter le total (Count(*))

  12. #12
    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
    Syntaxe de Mid (voir F1 côté Access):
    Mid(Chaine, Début, Longueur)
    Donc pour tester le 3° caractère, cela devient:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE MID(FIELD4, 3, 1) = '1';

    @+

  13. #13
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    Citation Envoyé par louay02 Voir le message
    Merci liazidf

    J’ai fais mal expliquer

    j'utilise une base de donnée Access je cherche par exemple une commande qui compte combien j'ai un 1 dans la première position du Field4
    contenu du [Field4]

    0010100000000000
    1010100000000000
    1010100000000100
    1010100000000001

    comme la commande substr
    Field4 c'est la 4eme position de la ligne ?

    et je repete :
    pour utiliser DANS access ou pour traiter dans DELPHI ?
    et pour preciser : faut-il faire le traitement dans ACCESS ou dans DELPHI ?

    ce n'est vraiment pas clair

  14. #14
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut




    je ne comprends pas !

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

Discussions similaires

  1. Additionner une variable dans un champ
    Par jeanfi77 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/02/2007, 16h08
  2. [Dates] Plusieurs variables dans un champ?
    Par covin85 dans le forum Langage
    Réponses: 10
    Dernier message: 11/02/2007, 20h27
  3. Passage de variables dans un champ texte
    Par Mat_DZ dans le forum Langage
    Réponses: 4
    Dernier message: 03/08/2006, 16h41
  4. Probléme pour insérer une variable dans un champs
    Par BOUTRAIS dans le forum Access
    Réponses: 2
    Dernier message: 11/04/2006, 23h45
  5. Réponses: 3
    Dernier message: 27/07/2005, 16h12

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