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 :

Créer des labels à partir du code


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 80
    Points
    80
    Par défaut Créer des labels à partir du code
    Bonjour,

    je fais une application sous access, et j'ai un formulaire qui m'affiche beaucoup d'informations. Une partie de ces info sont tirées d'une requete.

    Cette requete me renvoie entre autre des noms et prénoms que je voudrais afficher dans des labels pour aprés leur mettre une case à cocher à coté... Ce sotn ces label que je veux créer via le code parce que je ne connais pas leur nombre et leur contenu.

    j'ai écrit ce petit bout de 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
    Private Sub combOp_Change()
    Dim con As New ADODB.Connection
    Dim command As New ADODB.command
    Dim rst As New ADODB.Recordset
    Dim i As Integer
    Dim ctl(1 To 100) As Controls
     
    Me.IdBat = Me.combOp
     
    DoCmd.OpenForm Me.Name, acDesign, , , , acHidden
     
    Set con = CurrentProject.Connection
    Set command.ActiveConnection = con
    command.CommandType = adCmdText
    command.CommandText = "SELECT Requête3.IdBat, Requête3.Operation, Personne.Nom, Personne.Prenom, Personne.Entite, " & _
    "Personne.RaisonSociale, Personne.IdPersonne, Personne.IdLot, Personne.Présent " & _
    "FROM Requête3 LEFT JOIN Personne ON Requête3.IdPersonne = Personne.IdPersonne WHERE Requête3.IdBat = " & Me.IdBat
     
    Set rst = command.Execute
    i = 1
    Do While Not rst.EOF
    Set ctl(i) = CreateControl(Me.Name, acLabel, , , , 1, 10.5)
    Set ctl(i).Item(0) = rst(2) & " " & rst(3)
    i = i + 1
    rst.MoveNext
    Loop
     
    rst.Close
    con.Close
    Mais sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm Me.Name, acDesign, , , , acHidden
    il me dit "Impossible de passer à un autre mode pour le moment"

    Et du coup je sais pas quoi faire parce que je suis obligée de mettre le form en mode création pour ajouter mes controles.

    Vous en pensez quoi ???
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Il faut que tu mettes ton formulaire en mode création d'autre part, ainsi que les create contrôles (un autre formulaire ou un module).

    Ce code ne peut fonctionner sur lui-même.

    Starec

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 80
    Points
    80
    Par défaut
    Merci pour la réponse

    Mon probleme est que ce code doit se déclencher avec l'évenement "change" d'une zone de liste déroulante qui appartient elle même au formulaire.

    Si je passe par un module le pb est le mm non ? Imaginons que l'évenement "change" appelle la fonction "creationLabel" qui est dans un module, ça va marcher ??

    De toute façon je vais essayer

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 80
    Points
    80
    Par défaut
    Bon ben c'est bien ce que je pensais, il me met encore la même erreur sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "SaisieRe", acDesign, , , , acHidden
    Si ce code ne peut pas s'appliquer sur le formuliare lui meme je fais comment ?

  5. #5
    Invité
    Invité(e)
    Par défaut Fusion de messages
    Re

    Essaye sur le code qui est sur ton module de fermer le forumulaire (DoCmd.Close) et ensuite de l'ouvrir en mode design.



    Je viens de relire ton premier message.

    Pourquoi n'affiches tu pas tes éléments dans un sous-formulaire lié à une table vide avec un champ texte et un champ oui/non.

    Lors de ton change tu remplis cette table, et tu fais ensuite un requery (pour faire la mise à jour sur ce sous-formulaire).

    Starec

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 135
    Points : 80
    Points
    80
    Par défaut
    He bien cher Starec si je ne fais pas :
    Pourquoi n'affiches tu pas tes éléments dans un sous-formulaire lié à une table vide avec un champ texte et un champ oui/non.
    c'est pour la simple et bonne raison que je n'y avais pas pensé

    Ca me semble plus propre de passer par le code que de rajouter une table dans la base mais bon c'est vrai que ça serait plus simple.
    J'aurais bien aimé savoir créer des controles avec du code qd mm, mais bon j'ai encore fait des modif et j'ai encore une erreur.
    Cette fais je suis partie sur le fait de créer les label dans un sousformulaire du formulaire mais ça bloque ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    et ctl(i) = rst(2).Value & " " & rst(3).Value
    Je vais pas tarder à passer au plan B (table vide...)

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/04/2015, 20h47
  2. Modifier des labels sans le code source
    Par Popof dans le forum WinDev
    Réponses: 2
    Dernier message: 12/07/2006, 11h21
  3. Créer des imagettes à partir des fichires TIF
    Par Chikh001 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 03/05/2006, 11h59
  4. Comment créer des relances à partir d'1 table
    Par Rod_75 dans le forum Access
    Réponses: 9
    Dernier message: 01/03/2006, 15h42

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