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

VBA Access Discussion :

copier les données d'un texte_box dans une liste_box


Sujet :

VBA Access

  1. #1
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 240
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 240
    Points : 213
    Points
    213
    Par défaut copier les données d'un texte_box dans une liste_box
    Bonjour,

    J'ai un formulaire ou j'ai inseré :
    - 2 Texte_box date
    Dans ces 2 Texte_box, j'inscris une datedebut et une datefin en format francais jj/mm/aaaa hh:mm

    - un bouton de commande
    - une liste_box qui m'afficher un tableau avec des données

    Tou fonctionne bien.
    Mais je souhaiterais inserer dans ma listebox, les 2 dates que j'ai inseré dans les 2 Texte_box date.
    En résumé , est il possible que les date inscrites dans les texte_box soient transférées dans la liste_box...

    Voici le code vba


    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
    58
    59
    60
    61
    62
    63
    64
    Option Compare Database
     
     
    Dim txt_ChaineSQL As String
    Dim strSQLSELECT As String
    Dim strSQLFROM As String
    Dim strSQLWHERE As String
    Dim strSQLGROUPBY As String
    Dim strSQLHAVING As String
    Dim strSQLORDERBY As String
     
    Private Sub Cmd_vrac_Click()
     
     
     
    Vdatedebut = CDate(Texte_datedebut)
    Vdatefin = CDate(Texte_DateFin)
     
    Vdatedebut = DateAuFormatUS(Me.Texte_datedebut)
     
    Vdatefin = DateAuFormatUS(Me.Texte_DateFin)
     
     
    With Me.Listevrac
    .RowSourceType = "Table/Requête"
    .ColumnCount = 3 ' nombre de colonne que dois avoir le formulaire
    .BoundColumn = 1 ' la colonne de reference
     
     
    strSQLSELECT = "SELECT CVDate(Fix([EventTIme]-(5/24))) AS [journée postale], dbo_vwParts.DisplayName AS Antennes, Count(dbo_vwItemEventHistory.ItemID) AS [Nbre colis injectés]"
     
    strSQLFROM = "FROM dbo_vwItemEventHistory INNER JOIN dbo_vwParts ON dbo_vwItemEventHistory.PartID = dbo_vwParts.ID"
     
     
    strSQLWHERE = "WHERE(((dbo_vwItemEventHistory.EventTime)>=" & Vdatedebut & " And (dbo_vwItemEventHistory.EventTime) <=" & Vdatefin & "))"
     
     
    strSQLGROUPBY = "GROUP BY dbo_vwParts.DisplayName, CVDate(Fix([EventTIme]-(5/24)))"
     
    strSQLHAVING = "HAVING (((dbo_vwParts.DisplayName) Like 'injection*'))"
     
    strSQLORDERBY = "ORDER BY dbo_vwParts.DisplayName;"
     
     
     
    txt_ChaineSQL = strSQLSELECT & vbCrLf & _
                    strSQLFROM & vbCrLf & _
                    strSQLWHERE & vbCrLf & _
                    strSQLGROUPBY & vbCrLf & _
                    strSQLHAVING & vbCrLf & _
                    strSQLORDERBY
     
     
    Debug.Print txt_ChaineSQL
     
     
     
     
    .RowSource = txt_ChaineSQL
    .Requery
     
    End With
     
    End Sub
    Merci d'avance

  2. #2
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 240
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 240
    Points : 213
    Points
    213
    Par défaut
    aucune aide...snifff

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant VBA
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Consultant VBA

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Pour ajouter les données dans votre Listbox, je n'arrive pas vraiment à saisir votre demande, vous avez une ListBox qui affiche les résultat depuis une base de données. Je ne comprends pas très bien ce qu'il y a d'afficher dans votre listbox, est ce que les données doivent venir s'ajouter à la suite de votre listbox ? Si c'est le cas, il vous faut insérer les données dans votre base de données. et réactualisé votre listbox ensuite.

    Pouvez vous me donner plus de précisions ?

    Sinon, je vous suggère d'écrire vos requêtes différemment pour faciliter la lecture de votre 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
    strSQLSELECT = "SELECT CVDate(Fix([EventTIme]-(5/24))) AS [journée postale], dbo_vwParts.DisplayName AS Antennes, Count(dbo_vwItemEventHistory.ItemID) AS [Nbre colis injectés]"
    strSQLFROM = "FROM dbo_vwItemEventHistory INNER JOIN dbo_vwParts ON dbo_vwItemEventHistory.PartID = dbo_vwParts.ID"
    strSQLWHERE = "WHERE(((dbo_vwItemEventHistory.EventTime)>=" & Vdatedebut & " And (dbo_vwItemEventHistory.EventTime) <=" & Vdatefin & "))"
    strSQLGROUPBY = "GROUP BY dbo_vwParts.DisplayName, CVDate(Fix([EventTIme]-(5/24)))"
    strSQLHAVING = "HAVING (((dbo_vwParts.DisplayName) Like 'injection*'))"
    strSQLORDERBY = "ORDER BY dbo_vwParts.DisplayName;"
     
    txt_ChaineSQL = strSQLSELECT & vbCrLf & _
                    strSQLFROM & vbCrLf & _
                    strSQLWHERE & vbCrLf & _
                    strSQLGROUPBY & vbCrLf & _
                    strSQLHAVING & vbCrLf & _
                    strSQLORDERBY
     
    Debug.Print txt_ChaineSQL
     
    .RowSource = txt_ChaineSQL
    il serait plus facile d'écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    sSQL = "SELECT CVDate(Fix([EventTIme]-(5/24))) AS [journée postale], dbo_vwParts.DisplayName AS Antennes, Count(dbo_vwItemEventHistory.ItemID) AS [Nbre colis injectés] "
    sSQL = sSQL & "FROM dbo_vwItemEventHistory INNER JOIN dbo_vwParts ON dbo_vwItemEventHistory.PartID = dbo_vwParts.ID "
    sSQL = sSQL & "WHERE(((dbo_vwItemEventHistory.EventTime)>=" & Vdatedebut & " And (dbo_vwItemEventHistory.EventTime) <=" & Vdatefin & ")) "
    sSQL = sSQL & "GROUP BY dbo_vwParts.DisplayName, CVDate(Fix([EventTIme]-(5/24))) "
    sSQL = sSQL & "HAVING (((dbo_vwParts.DisplayName) Like 'injection*')) "
    sSQL = sSQL & "ORDER BY dbo_vwParts.DisplayName; "
     
    .RowSource = sSQL
    Après chacun écrit comme il veut certes, mais je pense que votre requête sera plus facile à lire de cette façon-là.

    A+
    Mathieu - Consultant VBA Access
    www.activ-data.com

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Si je comprends bien la demande, pour les avoir sur chaque ligne de la ListBox, il suffirait d'ajouter Vdatedebut et Vdatefin dans le Select :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQLSELECT = "SELECT Vdatedebut as [Date début], Vdatefin as [Date fin], CVDate(Fix([EventTIme]-(5/24))) AS [journée postale], dbo_vwParts.DisplayName AS Antennes, Count(dbo_vwItemEventHistory.ItemID) AS [Nbre colis injectés]"

  5. #5
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 240
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 240
    Points : 213
    Points
    213
    Par défaut
    Bonjour AVSInfoGest , c'est exactement cela....
    j'ai cepandant apporté une modification à l'écriture des variable Vdatedebut et Vdatefin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQLSELECT = "SELECT " & Vdatedebut & " as [Date début], " & Vdatefin & " as [Date fin], CVDate(Fix([EventTIme]-(5/24))) AS [journée postale], dbo_vwParts.DisplayName AS Antennes, Count(dbo_vwItemEventHistory.ItemID) AS [Nbre colis injectés]"

Discussions similaires

  1. Copier les données de plusieurs colonnes dans une nouvelle feuille
    Par lolonico1974 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2010, 07h51
  2. [MySQL] Afficher toutes les données d'un champ dans une liste déroulante
    Par Touareg dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 19/03/2007, 12h42
  3. Réponses: 6
    Dernier message: 27/09/2006, 20h27
  4. Copier les valeurs d'un formulaire dans une table
    Par Cyphen dans le forum Access
    Réponses: 4
    Dernier message: 19/06/2006, 10h45

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