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

  1. #1
    Débutant
    Inscrit en
    mars 2007
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 258
    Points : 66
    Points
    66

    Par défaut Créer des zones de texte dynamiquement

    Salut à tous,

    je cherche à créer des zones de texte en fonction de ce qu'il y a dans un tableau.
    J'ai un tableau (qui n'a pas toujours le même nombre de cases remplies), et ce que je veux, c'est créer autant de zones de texte que de cases remplies.

    Au début j'étais parti pour créer plein de zones de textes et les rendre visible en fonction de la demande mais ce n'est vraiment pas pratique car ça m'oblige à construire des centaines de zones de texte qui ne serviront jamais a rien !
    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA, C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    13 490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Developpeur VBA, C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 13 490
    Points : 30 636
    Points
    30 636

    Par défaut

    bonjour,
    est-ce que l'exemple de la FAQ te donne des idées ?
    http://access.developpez.com/faq/?pa...#formdynamique
    Cycle de vie d'un bon programme :
    1/ ca fonctionne 2/ ca s'optimise 3/ ca se refactorise

    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016 et Access 2019

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Débutant
    Inscrit en
    mars 2007
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 258
    Points : 66
    Points
    66

    Par défaut

    Merci jpcheck !
    J'ai copié exactement le contenu du code de la FAQ et j'ai crée un bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Commande3_Click()
    create_form ("SELECT * FROM _TRAVAIL")
    End Sub
    Mais j'ai droit à un message d'erreur :
    ''Le nom du formulaire F_AFFICHAGE est mal ortographié ou fait référence à un dictionnair non existat''

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA, C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    13 490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Developpeur VBA, C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 13 490
    Points : 30 636
    Points
    30 636

    Par défaut

    as-tu déjà un formulaire F_AFFICHAGE ?
    Dans cet exemple nous utilisons un formulaire existant soit "F_AFFICHAGE" que nous modifions à notre guise.
    Cycle de vie d'un bon programme :
    1/ ca fonctionne 2/ ca s'optimise 3/ ca se refactorise

    Pas de question technique par MP, je ne réponds pas

    Apprendre à programmer avec Access 2016 et Access 2019

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Débutant
    Inscrit en
    mars 2007
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 258
    Points : 66
    Points
    66

    Par défaut

    En effet...
    J'ai maintenant un formulaire F_AFFICHAGE, avec un bouton, et le code de la faq, quand je clique sur le bouton ça donne :
    "L'action ou méthode n'est pas valide car le formulaire ou l'état n'est pas lié à une table ou une requête"


  6. #6
    Débutant
    Inscrit en
    mars 2007
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 258
    Points : 66
    Points
    66

    Par défaut

    Bon, j'ai trouvé un autre code que voici :
    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
     
    Sub NewControls()
        Dim frm As Form
        Dim ctlLabel As Control, ctlText As Control
        Dim intDataX As Integer, intDataY As Integer
        Dim intLabelX As Integer, intLabelY As Integer
     
        ' Create new form with Orders table as its record source.
        Set frm = CreateForm
        frm.RecordSource = "Orders"
        ' Set positioning values for new controls.
        intLabelX = 100
        intLabelY = 100
        intDataX = 1000
        intDataY = 100
        ' Create unbound default-size text box in detail section.
        Set ctlText = CreateControl(frm.Name, acTextBox, , "", "", _
            intDataX, intDataY)
        ' Create child label control for text box.
        Set ctlLabel = CreateControl(frm.Name, acLabel, , _
             ctlText.Name, "NewLabel", intLabelX, intLabelY)
        ' Restore form.
        DoCmd.Restore
    End Sub
    Ce code crée un nouveau formulaire, l'ouvre en mode création et met ce que l'on veut dedans, ici en l'occurrence un textbox et son label.
    Ce que je voudrai, c'est connaitre le code pour fermer ce nouveau formulaire une fois qu'il a été crée ! Là ça fait "sal", au milieu de mon programme un formulaire qui s'ouvre en mode création...
    Merci donc de me donner le code pour enregistrer et fermer ce nouveau formulaire.

  7. #7
    Membre régulier Avatar de SnakeCharmer
    Profil pro
    Inscrit en
    mars 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : mars 2008
    Messages : 117
    Points : 112
    Points
    112

    Par défaut

    Qu'est-ce que tu veux dire par enregistrer ? mettre les valeurs du formulaire dans une table? ALors renseigne toi sur les Recordsets. Et pour fermer le formulaire : Docmd.close

    Il te suffit de continuer ton code aprés le Restore
    Faut-il partir ? Rester ? Si tu peux rester, reste ; Pars, s'il le faut.

  8. #8
    Débutant
    Inscrit en
    mars 2007
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 258
    Points : 66
    Points
    66

    Par défaut

    Merci SnakeCharmer, ça fonctionne !
    J'arrive à créer le nouveau form, et à l'enregistrer et le fermer.
    Mon seul problème concerne le nom du formlulaire généré, comment le définir ?
    Existe-t-il une commande du genre Docmd.SaveAs ?

Discussions similaires

  1. Créer une zone de texte qui n'accepte que des nombres
    Par boutheinanabeul dans le forum VB.NET
    Réponses: 26
    Dernier message: 30/03/2015, 15h42
  2. [AC-2007] Etat VBA ajouter dynamiquement des zone de texte (Champ)
    Par B_SKO dans le forum IHM
    Réponses: 4
    Dernier message: 23/06/2011, 23h41
  3. Ajout d'une zone de texte dynamiqument (les unes en dessous des autres)
    Par beegees dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 07/04/2010, 01h54
  4. Créer une zone de texte dynamique de taille donnée
    Par sovitec dans le forum EDI/Outils
    Réponses: 0
    Dernier message: 18/06/2009, 10h39
  5. [SAP]des zones de text dynamiques
    Par roxanne dans le forum SAP
    Réponses: 3
    Dernier message: 18/08/2008, 10h01

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