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

Access Discussion :

Choix utilisateur et groupe d'option pour affichage images dans Formulaire et Etat


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Choix utilisateur et groupe d'option pour affichage images dans Formulaire et Etat
    Bonjour à tous,

    Ayant développer une appli sous Ms Ac-2010, je souhaiterai permette à l'utilisateur via un formulaire de sélectionner avec un groupe d'option, le nombre d'image (Zone ) à afficher,
    ex: Option-1 -> 1 image
    Option-2 -> 2 image
    etc.. jusque 4 images max, de plus, suivant l'option choisi, l'image devra s'ajuster au proportion du document. L'Etat étant au format A3, si 1 image sélectionner, celle-ci prend toute la page, si 2 image, la page est divisée en 2 et auto ajustée pour n'afficher que c'est 2 zones etc jusque 4 images Max. Dés lors je fait appel à vous afin de me guider vers la solution la plus acceptable afin de remplir cette tâche ou de me diriger vers une voie VBA ou autre macro. Dans l'attente de vous lire.
    Merci à tous.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    Je verrai ça par un code sur l'évènement après mise à jour de ton bouton d'option :
    1 - Ouvrir l'état en mode création et caché.
    2 - Récupérer la largeur et l'hauteur de la section de l'état
    3 - Selon le choix du groupe d'option, rendre visible 1,2,3 ou 4 images.
    4 - Placer les images selon leur nombre sur l'état (créer une procédure de positionnement).
    5 - Fermer et sauver l'état.
    6 - Ouvrir l'état avec ces nouvelles caractéristiques.

    Exemple de code perfectible
    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
     
    Option Compare Database
    Option Explicit
    Private Sub OptImEtat_AfterUpdate()
    Dim HautDet As Integer
    Dim LargDet As Integer
    DoCmd.OpenReport "E_Resultat", acViewDesign, , , acHidden
    HautDet = Reports!E_Resultat.Détail.Height
    LargDet = Reports!E_Resultat.Width
    Select Case OptImEtat
        Case 1
            Reports!E_Resultat.Image0.Visible = True
            Call positcont(Reports!E_Resultat.Image0, 0, 0, LargDet, HautDet)
            Reports!E_Resultat.Image1.Visible = False
            Reports!E_Resultat.Image2.Visible = False
            Reports!E_Resultat.Image3.Visible = False
        Case 2
            Reports!E_Resultat.Image0.Visible = True
            Call positcont(Reports!E_Resultat.Image0, 0, 0, Int(LargDet / 2), HautDet)
            Reports!E_Resultat.Image1.Visible = True
            Call positcont(Reports!E_Resultat.Image1, 0, Int(LargDet / 2) + 1, Int(LargDet / 2), HautDet)
            Reports!E_Resultat.Image2.Visible = False
            Reports!E_Resultat.Image3.Visible = False
        Case 3
            Reports!E_Resultat.Image0.Visible = True
            Call positcont(Reports!E_Resultat.Image0, 0, 0, Int(LargDet / 3), HautDet)
            Reports!E_Resultat.Image1.Visible = True
            Call positcont(Reports!E_Resultat.Image1, 0, Int(LargDet / 3) + 1, Int(LargDet / 3), HautDet)
            Reports!E_Resultat.Image2.Visible = True
            Call positcont(Reports!E_Resultat.Image2, 0, Int(2 * LargDet / 3) + 1, Int(LargDet / 3), HautDet)
            Reports!E_Resultat.Image3.Visible = False
        Case 4
            Reports!E_Resultat.Image0.Visible = True
            Call positcont(Reports!E_Resultat.Image0, 0, 0, Int(LargDet / 2), Int(HautDet / 2))
            Reports!E_Resultat.Image1.Visible = True
            Call positcont(Reports!E_Resultat.Image1, 0, Int(LargDet / 2) + 1, Int(LargDet / 2), Int(HautDet / 2))
            Reports!E_Resultat.Image2.Visible = True
            Call positcont(Reports!E_Resultat.Image2, Int(HautDet / 2) + 1, 0, Int(LargDet / 2), Int(HautDet / 2))
            Reports!E_Resultat.Image3.Visible = True
            Call positcont(Reports!E_Resultat.Image3, Int(HautDet / 2) + 1, Int(2 * LargDet / 3) + 1, Int(LargDet / 3), Int(HautDet / 2))
    End Select
    DoCmd.Close acReport, "E_Resultat", acSaveYes
    DoCmd.OpenReport "E_Resultat", acViewPreview
    End Sub
    Private Sub positcont(acont As Control, _
                    nivhaut As Integer, _
                    nivgauche As Integer, _
                    parlargeur As Integer, _
                    parhauteur As Integer)
    acont.Top = nivhaut
    acont.Left = nivgauche
    acont.Width = parlargeur
    acont.Height = parhauteur
    End Sub
    Cordialement,

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Re [AC-2010] Choix utilisateur et groupe d'option pour affichage images dans Formulaire et Etat
    Tout d'abord Merci à toi, je fais tester cela,

    Mais encore,

    1)Dans ma DB, j'ai 1 table nommé Photos avec les champs suivant (idPhotos (PK), NomPhotos, NomFichiersPhotos, RépertoirePhotos), de la via VBA, les images étant stockées sur le disque dur, je crée une zone image ou je demande d'aller lire la valeur du champs repertoirePhotos et de lire le Champ NomFichiersPhotos avec son extension et de l'afficher dans la zone image. Jusque là pas de souci, l'appli execute bien la routine et m'affiche les photos selon leur emplacement.
    2)Dans mon application développé dans le cadre de ma seconde profession de pompier, je dois pouvoir insérer une photo principale avec des données contenue dans les autres table. c'est à dire, en fin de traitement, l'appli doit pouvoir générée un état voir en sortie papier un document au format A3 avec une photo principale du site (Bâtiment) qui est centré sur la page et les données concerant le dit site tout autour. Pour le moment , les données sont bien affiché dans l'état crée. Maintenant ou le problème ce pose, c'est comment "lié" une seule photo principale de la table photo selon le choix de l'user à l'etat dans la position centrale et sans que la photo ne soit stockée dans la DB, en n'oubliant pas que le verso du document A3 doit contenir les 4 voir 3, 2 ou 1 photo.

    Ma question est a partir du formulaire dans lequel j'encode mes données, dois je crée une table pour la photo principale et pour le verso 2 une autre table photos secondaires. Ensuite crée dans le même formulaire un groupe d'option case à cochée et testée ton code.

    Je place 2 pieces jointes PDF afin de visualiser le resulat auquel je veux arriver au niveau photos. Tout le reste pour le moment au niveau disposition est bon! enfin pour le moment.

    Merci pour tout.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonsoir,

    J'ai pas très bien compris le but final.

    1- Tu as une table "Photos" où tu as des informations sur des photos identifiées avec un PK.
    2- Tu as des sites dont tu veux afficher les informations.

    Quelle est la relation des sites avec les photos ?

    @+

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour, encore merci et désolé pour l'attente, beaucoup de sortie pompiers pour le moment.

    Donc le but final est de réaliser le même document A3 que j'ai mais en pièce jointe à partir de MS Access.

    1) j'ai bien une table photo qui pour le moment ne comporte aucune liaison, la seul chose que fait le formulaire liée à cette table c'est donné la possibilité à l'utilisateur d'enregistrer les photos (linker) et d'enregistrer le chemin dans la dite table. Bien entendu, sur le formulaire au a l'aperçu.
    2)J'ai effectivement pour l'instant un formulaire qui intégre un groupe d'onglet, qui pour chaque onglet correspond au donnée exemples: onglet site, qui permet d'enregistrer l'adresse postale, etc. Un onglet bâtiment qui permet d'encoder les caractéristique propres du bâtiments qui "abrite le site" ou l’entreprise. (Surface m², hauteur etc..) de ce formulaire, il faut que je puisse encoder une et une seule photo choisie par l'utilisateur pour la placer dans l'état comme image principale du site de plus, je dois comme demander précédemment permettre à l'user de sélectionner 4 autre image Max et de les afficher au verso du document et cela automatiquement et surtout pour la DB soit plus portable et efficace, ne pas stockée les photos dans la DB.

    En espérant avoir bien expliquer mon objectif.

    Je te remercie pour tout encore une fois de plus et vais tester la mise en oeuvre de ton code.

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    Ci-joint une base-idée (avec des images) à adapter qui je pense peut faire ce que tu veux.

    3 tables :
    T_Site (#IdSite;NomSite;ect....)
    T_photo(#PkPhoto,IdSite_FK,NomPhoto,NomRep,NomFichier)
    T_Schema(#Schema,IdSite_FK,ImageCentrale,Image1 à 4)

    Chaque photo enregistrée est rattachée à une site.
    Un formulaire F_Appel basé sur T_Schema te permet d'ouvrir l'état résultat. Il y a 2 autres formulaires simples qui m'ont servis pour l'encodage, tu peux les supprimer.

    L'Etat
    1 - L'état principal est basé sur la table Schema, donc normalement filtré selon l'enregistrement dans F_Appel. La partie principal va te servir au RECTO. La taille est très grossière dans mon exemple, mais il faudra régler les informations du site (en hauteur et largeur) et l'image principal dessus.
    2 - UN saut de page est rajouté pour marquer le basculement à la page suivante.
    3 - On y insère un sous-état où vont se gérer les 4 photos choisis. Les tailles (largeur et hauteur) du sous-état "E_Resultat" devront être ajustées je pense

    ATTENTION : J'ai ajouter un bouton dans le formulaire F_Appel pour supprimer les sources-images des états. Sinon gare à la taille de la base.

    Bonne continuation

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/06/2010, 05h41
  2. [AC-2000] utilisation d'un groupe d'option pour faire des statistiques
    Par guaguanco dans le forum IHM
    Réponses: 1
    Dernier message: 23/06/2010, 18h55
  3. Affichage Image dans formulaire en continu
    Par Le Sphinx dans le forum IHM
    Réponses: 4
    Dernier message: 14/12/2009, 10h00
  4. Chemin relatif pour des images dans formulaire
    Par Marcopololo dans le forum IHM
    Réponses: 3
    Dernier message: 23/07/2008, 04h50
  5. Groupe d'option pour formulaire
    Par moktar86 dans le forum IHM
    Réponses: 1
    Dernier message: 02/05/2007, 19h16

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