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 :

pas de donnees dans une textbox [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Par défaut pas de donnees dans une textbox
    bonjour,
    j'ai une table ou sonr stockees mes donnees ,et a l'aide d'un bouton j'aimerai l'afficher dans une textbox,mais rien ne s'affiche
    y a t'il une autre methode que je peux utiliser a la place de " for next " car je ne peux pas systematiquement modifier les valeurs (1 to 100)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Commande1_Click()
     
    Dim bloc_note As String
    Dim Texte1 As String
    Dim i As Integer
     
    For i = 1 To 100
    Me.Texte1 = Nz(DLookup("notes", "bloc_note", "[n°] = " & i))
     
    Next i
    End Sub
    merci

  2. #2
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    chuspyto,

    Si je comprends bien tu cherchers à connaître le nombre d'enregistrements dans une table afin d'en extraire les valeurs :

    Cette fonction te retournera le nombre d'enregistrements dans ta table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nb_Records = DCount("MonChamp", "MATable")
    JimBoLion

  3. #3
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    chuspyto,

    Tu peux également utiliser une boucle do...loop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Set rst = C_Db.OpenRecordset("Select * from bloc_note;")
    '
            rst.MoveFirst
            Do Until rst.EOF
            Me.Texte1 = rst![notes]
            rst.MoveNext
            Loop
            rst.Close
    JimBoLion

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Par défaut
    merci cela fonctionne.
    est ce qu'il y a la possibilite que quand une valeur est affichée,elle soit gardée dans ma textbox;et quand je selectionne une nouvelle valeur elle s'ajoute dans la textbox dans la ligne en dessous ,et non en ecrasant la 1ere valeur.

    merci

  5. #5
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    chuspyto

    De cette manière

    Me.Texte1 = Me.Texte1 & rst![notes] & vbcrlf

    Vérifie que la valeur par défaut contient bien une chaîne vide.
    Le vbcrlf envoie un retour à la ligne

    JimBoLion

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Par défaut
    ou dois je verifier que la valeur par défaut contient bien une chaîne vide
    car pour le moment je n'arrive pas a avoir l'ajout de ligne supplementaire.

  7. #7
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    chuspyto,

    Oui si ta valeur par défaut est nulle çà ne vas pas concaténer

    Sinon tu peux faire directement l’agrégation du champ dans ton code et envoyer ta valeur directement dans ton champ

    JimBoLion

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Par défaut
    ma zone texte au debut est vide,mais quans je selectionne une valeur cela s'ajoute bien dans ma textbox.mais quand je veux rajouter une valeur elle ne s'incremente pas

  9. #9
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    chuspyto,

    Envoie moi le bout de code qui te permet de faire çà, je regarde et te renvoie le correctif

    Merci

    JimBoLion

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Par défaut
    voci 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
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    Private Sub Commande1_Click()
     
    Dim bloc_note As String
    Dim Texte1 As String
    Dim i As Integer
    Dim dbsdepart As Database
    Dim rstdepart As Recordset
     
      Set dbsdepart = CurrentDb
      Set rstdepart = dbsdepart.OpenRecordset("Select * from bloc_note;")
     
      rstdepart.MoveFirst
            Do Until rstdepart.EOF
            Me.Texte1 = rstdepart![notes] & vbCrLf
            rstdepart.MoveNext
            Loop
           rstdepart.Close
     
     
    End Sub
     
     
    Private Sub Étiquette10_Click()
    Dim dbsdepart As Database
    Dim rstdepart As Recordset
     
     
      Set dbsdepart = CurrentDb
      Set rstdepart = dbsdepart.OpenRecordset("bloc_note", dbOpenDynaset)
            With rstdepart
                    .AddNew
                    !notes = Me.Étiquette10.Caption
                    .Update
                    .Bookmark = .LastModified
            End With
     
     
        rstdepart.Close
        dbsdepart.Close
     
     
    End Sub
     
    Private Sub Étiquette11_Click()
    Dim dbsdepart As Database
    Dim rstdepart As Recordset
     
     
      Set dbsdepart = CurrentDb
      Set rstdepart = dbsdepart.OpenRecordset("bloc_note", dbOpenDynaset)
            With rstdepart
                    .AddNew
                    !notes = Me.Étiquette11.Caption
                    .Update
                    .Bookmark = .LastModified
            End With
     
     
        rstdepart.Close
        dbsdepart.Close
     
    End Sub
     
    Private Sub Étiquette8_Click()
     
    Dim dbsdepart As Database
    Dim rstdepart As Recordset
     
     
      Set dbsdepart = CurrentDb
      Set rstdepart = dbsdepart.OpenRecordset("bloc_note", dbOpenDynaset)
            With rstdepart
                    .AddNew
                    !notes = Me.Étiquette8.Caption
                    .Update
                    .Bookmark = .LastModified
            End With
     
     
        rstdepart.Close
        dbsdepart.Close
     
    End Sub
     
    Private Sub Étiquette9_Click()
    Dim dbsdepart As Database
    Dim rstdepart As Recordset
     
     
      Set dbsdepart = CurrentDb
      Set rstdepart = dbsdepart.OpenRecordset("bloc_note", dbOpenDynaset)
            With rstdepart
                    .AddNew
                    !notes = Me.Étiquette9.Caption
                    .Update
                    .Bookmark = .LastModified
            End With
     
     
        rstdepart.Close
        dbsdepart.Close
     
    End Sub

  11. #11
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    chuspyto,

    Tu ne faisais pas l'agrégation. J'ai corrigé en faisant la concaténation directement dans le code (ainsi peu importe la valeur par défaut dans le textBox)


    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
    Private Sub Commande1_Click()
     
    Dim bloc_note As String
    Dim Texte1 As String
    Dim i As Integer
    Dim dbsdepart As Database
    Dim rstdepart As Recordset
    Dim note As String
    Dim Notes As String
      Set dbsdepart = CurrentDb
      Set rstdepart = dbsdepart.OpenRecordset("Select * from bloc_note;")
      Notes = "" ' initialise une châine vide
      rstdepart.MoveFirst
            Do Until rstdepart.EOF
            note = Nz(rstdepart![Notes], "")  ' transformation d'une valeur nulle en chaine vide
            If note <> "" Then
              Notes = Notes & note & vbCrLf   ' agrégation de la variable notes sir la valeur n'est pas vide
            End If
            rstdepart.MoveNext
            Loop
           rstdepart.Close
           Set rstdepart = Nothing ' Vide le container (libération de la mémoire)
     
           Me.Texte1 = Notes  ' Mise à jour du champ
    End Sub
    JimBoLion

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Par défaut
    je te remercie,
    derniere petite chose qui me vient, est ce que je peux avoir un bouton qui me nettoye ma textbox,peux tu me dire si cela fait l'affaire :
    private sub commande2_click()
    me.texte1.value=""
    end sub

    car quand ma liste s'efface de la textbox et que je veux rentrer une nouvelle valeur toute la liste anterieure reapparait d'un coup

  13. #13
    Expert confirmé
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Billets dans le blog
    2
    Par défaut
    chuspyto

    Pas de soucis, tu peux procéder ainsi

    JimboLion

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

Discussions similaires

  1. Mettre une date par defaut dans une textBox.
    Par yaumme dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/12/2005, 22h39
  2. Réponses: 11
    Dernier message: 01/06/2005, 15h18
  3. [c#]Gros text à afficher dans une textbox
    Par famemaur dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/05/2005, 10h12
  4. j'arrive pas a inserer dans une table vide
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 16
    Dernier message: 03/05/2005, 14h24
  5. Recherche de donnee dans une table associée
    Par josoft dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/07/2003, 15h22

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