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

VB 6 et antérieur Discussion :

champs calculer dans un listbox


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut champs calculer dans un listbox
    bonjour, mon probleme est le voila j ai un listbox a 3 columns le premier champs il contien la date de debut le deuxieme la date de fin le troisieme c un champs calculer qui calculer la différence entre les 2 .
    le voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    List.List(i, 0) = rstcode.Fields(1) ' ( type date)
      List.List(i, 1) = rstcode.Fields(2) ' ( type date)
      List.List(i, 2) = (rstcode.Fields(1) - rstcode.Fields(2)) ' ( type date)
    merci d'avence .
    aplus
    j attend vous propositions

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    NAIMA2, Inscrit le samedi 20 janvier 2007, Total message: 27, discussions ouvertes: 19, Nbr.de TAGs utilisés: 6, moyenne: 32/100, ma partitipation jusqua ce post: 6

    (F2) dans la fenêtre de l'editeur VB, Explorateur d'objet--> DateTime --> DateDiff (F1) --> Exemple
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    merci pour votre réponse, mais j ai pas bien saisie votre réponse

  4. #4
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Je suis preneur, pour un listbox multicolonnes, ou on pourait ajouter/retirer/consulter un item x de la colonne y

    Apparement tu sembles y arriver avec cette sytanxe si particulère

    Dis moi quel composant tu as utilisé, le ListBox standard n'admet pas cette syntaxe, tout ce qu'on peut obtenir avec la propriété colonne, c'est qu'il affiche sa liste sur x colonnes. Mais on ne peut qu'untiliser qu'un seul index, car il ne gere pas de tableau en interne, seulement une liste

  5. #5
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Citation Envoyé par Delbeke
    Je suis preneur, pour un listbox multicolonnes, ou on pourait ajouter/retirer/consulter un item x de la colonne y
    Ton bonheur se trouve dans la Microsoft Forms 2 Object Library que tu dois activer dans les composants
    La tu auras la combo list avec plein de propriétés concernant les colonnes, entre autre une propriété ColumnCount

  6. #6
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    bonjour, ma réponse pour Mer PROG ELECT .
    merci pour votre proposition jai suivi vous instruction mais malheuresement sa marche pas .
    merci j'attend une notre proposition

  7. #7
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    bonjour, une réponse pour Mer Delbeke .
    merci pour votre proposition , oui il existe un listbox multicolumns et voila le code qui vous permet de le remplire .
    cette exemple il permet de remplir un listbox a 2 columns.
    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
    List.ColumnCount = 2
                     strcode = "SELECT * FROM table WHERE ...................."
                     Set rstcode = dbsBaseMedic.OpenRecordset(strcode)
                     If rstcode.RecordCount <> 0 Then
                             rstcode.MoveLast
                             rstcode.MoveFirst
                             n = rstcode.RecordCount
                             For i = 0 To n - 1
                             List.AddItem ""
                             List.List(i, 0) = rstcode.Fields(1)
                             List.List(i, 1) = rstcode.Fields(2)
                             rstcode.MoveNext
                             Next i
                             List.TextColumn = 2
                             rstcode.Close
                             List.ListIndex = 0
                      End If

  8. #8
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Si tu as 2 zones de texte, un controle list et un command button, tu peux essayer ça pour calculer la difference comptée en jours entre les 2 dates saisies dans les 2 zones texte.
    J'ai appelé mon controle list CboDate


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Command1_Click()
    Dim i As Integer
     
    CboDate.AddItem
    i = CboDate.ListCount - 1
    CboDate.List(i, 0) = Text1
    CboDate.List(i, 1) = Text2
    CboDate.List(i, 2) = DateDiff("d", Text1, Text2)
     
    End Sub

  9. #9
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    merci pour votre proposition , mais sa reste tj dans le meme contexte , le changement des noms des variable sa change pas beaucoup.
    merci aplus

  10. #10
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Quelqu'un a compris ce qu'il veut ??

  11. #11
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    je pense qu'il veut faire l'opération suivante:
    List.List(i, 2) = (rstcode.Fields(1) - rstcode.Fields(2)) ' ( type date)
    Donc avec tous ce qui a été proposé, il aurai dut trouver ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     List.List(i, 2) = DateDiff("d", rstcode.Fields(1) , rstcode.Fields(2))
    Mer PROG ELECT
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  12. #12
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    jai fait sa mais en executant le code il m affiche argument ou appel de procédure incorrecte.
    merci

  13. #13
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Naima, il serait peut etre bon que tu nous fasse un copier/coller de ton code et que tu nous indiques la ligne exacte où ça bloque.
    Si tu ne mets pas un peu du tien, ça risque d'être assez difficile de t'aider.

  14. #14
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    salut, le voila le code.
    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
    List.ColumnCount = 3
    strcode = "SELECT * FROM entretien WHERE Cde = " & Chr(34) & Textcode(0).Text & Chr(34)
    Set rstcode = dbsBaseMedic.OpenRecordset(strcode)
    If rstcode.RecordCount <> 0 Then
      rstcode.MoveLast
      rstcode.MoveFirst
      n = rstcode.RecordCount
      For i = 0 To n - 1
        List.AddItem ""
        List.List(i, 0) = rstcode.Fields(1)
        List.List(i, 1) = rstcode.Fields(2)
        List.List(i, 2) = DateDiff("j", List.List(i, 0), List.List(i, 1)) ' ( ou sa bloc )
        rstcode.MoveNext
      Next i
      List.TextColumn = 3
      rstcode.Close
      List.ListIndex = 0
    End If
    merci.

  15. #15
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    On n'aurait pas mis "d" plutot que "j" des fois dans nos differentes demo de DateDiff ?

    soupir...

  16. #16
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    excellent

    Mais j'en peux plus arrêtez !!!

    Il n'y a même pas d'option "j" dans la msdn ^^

    Ca faisait plus joli c'est ça ?

  17. #17
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Par défaut
    merci , sa marche .
    ecoute Ohmonbato pour quoi 'd' pas 'j'.
    aplus.

  18. #18
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Citation Envoyé par NAIMA2
    merci , sa marche .
    ecoute Ohmonbato pour quoi 'd' pas 'j'.
    aplus.
    Ben oui, pourquoi ? On se le demande hein ? Mais pourquoi donc "d" dans ce langage Basique Visuel ?

    I wonder....
    Signed :OhMyBoat

  19. #19
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    Héhé ^^
    Citation Envoyé par OhMonBato
    Signed :OhMyBoat
    OhMyBaot plutôt ? autant répercuter aussi les fautes d'orthographe !

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

Discussions similaires

  1. Champ calculé dans requête
    Par AlexB59 dans le forum SQL
    Réponses: 3
    Dernier message: 04/01/2006, 15h52
  2. Champ calculé dans une requête
    Par HUÏEZ Fabienne dans le forum Access
    Réponses: 3
    Dernier message: 08/12/2005, 12h31
  3. Pb champ calcule dans sous formulaire
    Par Brial dans le forum Access
    Réponses: 6
    Dernier message: 12/11/2005, 18h33
  4. Réponses: 3
    Dernier message: 20/09/2005, 21h07
  5. Recuperer un champ calculé dans une variable....
    Par vijeo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/12/2004, 14h57

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