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 :

Problème de rafraichissement d'occurences avec des apercus de photo -> mode d'affichage des ETAT [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 44
    Par défaut Problème de rafraichissement d'occurences avec des apercus de photo -> mode d'affichage des ETAT
    Soit un Etat "E_rpt Images" qui m'affiche des planches de photos sans filtres qui fonctionne s'il est appelé en mode standalone (auteur Hervé Inisan)Nom : 01.png
Affichages : 145
Taille : 93,3 Ko

    Nom : 02.png
Affichages : 137
Taille : 235,5 Ko

    Bon, maintenant je voudrais l'afficher en provenance d'un formulaire sur la base d'une sélection de photos.
    Je voudrais pouvoir générer un planche de photos ne comprenant que les photos se trouvant dans la table de jonction Objet/Photo (sous formulaire du milieu), avec pour valeur de l'Objet est celle sélectionné et dont le champ pivot correspondant à la clef HouseHoldID est renseigné et égal à 1.
    => toutes les photos correspondant à l'objet numéro 1

    Nom : 03.png
Affichages : 137
Taille : 136,4 Ko

    Pour cela j'ai créé un bouton PlancheP avec pour code source

    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
     
    Private Sub PlancheP_Click()
    Dim Cond As String
    Dim MDBG As Boolean
    Dim ObjId As Integer
     
    MDBG = Me![MODEDBGm]
    ObjId = Me.ValHIDm
     
    'requete testée dans R_Jonct_InvPhoto_PlancheP
    'SELECT T_Fic_Photo.[Id Image]
    'FROM T_Fic_Photo where  T_Fic_Photo.[Id Image] In
    '(select T_Inventaire_Photo.[Id Image] from T_Inventaire_Photo
    'WHERE (T_Inventaire_Photo.HouseholdInvID=1));
     
    Cond = "("
    Cond = Cond & "SELECT T_Fic_Photo.[Id Image] "
    Cond = Cond & "FROM T_Fic_Photo where  T_Fic_Photo.[Id Image] In "
    Cond = Cond & "(select T_Inventaire_Photo.[Id Image] from T_Inventaire_Photo "
    Cond = Cond & " WHERE (T_Inventaire_Photo.HouseholdInvID = " & ObjId & "))"
    Cond = Cond & ")"
     
    txtmsg = "" & Chr(13) & Chr(10) & "Mode Debug : " & CStr(MDBG)
    txtmsg = txtmsg & Chr(13) & Chr(10) & "Me.ValHIDm : " & CStr(Me.ValHIDm)
    txtmsg = txtmsg & ", ObjId : " & CStr(ObjId) & Chr(13) & Chr(10)
    txtmsg = txtmsg & Chr(13) & Chr(10) & "Cond : "
    txtmsg = txtmsg & Chr(13) & Chr(10) & Cond
    If MDBG Then MsgBox (txtmsg)
     
    DoCmd.OpenReport "E_rpt Images", acViewReport, Cond
     
    End Sub
    Click sur PlancheP => ouverture de l'Etat "E_rpt Images" avec pour requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ---------------------------
    Microsoft Access
    ---------------------------
    Mode Debug : Vrai
    Me.ValHIDm : 1, ObjId : 1
     
    Cond : 
    (SELECT T_Fic_Photo.[Id Image] FROM T_Fic_Photo where  T_Fic_Photo.[Id Image] In (select T_Inventaire_Photo.[Id Image] from T_Inventaire_Photo  WHERE (T_Inventaire_Photo.HouseholdInvID = 1)))
    ---------------------------
    OK   
    ---------------------------
    Je suis parvenue à mettre le filtre. J'ai bien mes trois occurrences voulues.
    Le soucis c'est que chaque ligne est affiché sans photo (juste le cadre).

    Nom : 04.png
Affichages : 136
Taille : 9,2 Ko



    Alors j'ai essayé de biaisé, mais il me mettra simultanément la même photo dans chaque ligne.

    ***

    voici ma tentative :


    Pour l'état "E_rpt Images" les champs qui m'intéressent sont Concat et imgApercu

    Nom : 05.PNG
Affichages : 141
Taille : 101,6 Ko

    Cet état comporte deux sources : l'un au formatage, l'autre sur click

    Nom : 06.png
Affichages : 137
Taille : 33,4 Ko



    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
    'Sources Report_E_rpt Images
     
    Option Compare Database
    Option Explicit
     
    Private Sub Détail_Format( _
      Cancel As Integer, _
      FormatCount As Integer)
     
      Dim strChemin As String
     
      On Error Resume Next
      ' Appel de fonction du module commun ModFichiers
      strChemin = AddBackslash(Me.Dossier) & Me.Nom_Fichier
      Me.imgApercu.Picture = strChemin
    End Sub
     
    ' Procédure ajoutée par mes soins
    Private Sub Concat_Click()
      Dim strChemin As String
     
      On Error Resume Next
      ' Appel de fonction du module commun ModFichiers
      strChemin = AddBackslash(Me.Dossier)
      strChemin = strChemin & Me.Nom_Fichier
      Me.Concat = strChemin
      Me.imgApercu.Picture = strChemin
    End Sub
    Extrait du source du module commun ModFichiers

    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
     
    Option Compare Database
    Option Explicit
     
    ' ---
    ' Hervé Inisan
    ' ---
     
    ' ---
    ' AJOUT D'UN \ EN FIN DE CHEMIN
    ' ---
    ' Entrée : strFolder <- Chemin à retraiter.
    ' Sortie : Chemin avec \ ajouté à la fin si nécessaire.
    '
    Function AddBackslash( _
      ByVal strFolder As String) As String
     
      strFolder = Trim(strFolder)
      If Right(strFolder, 1) <> "\" Then strFolder = strFolder & "\"
      AddBackslash = strFolder
    End Function
    Mon soucis est que le click sur Concat renseigne bien le chemin et fichier de l'image , mais dans l'aperçu il écrase l'aperçu de toutes les occurrences.
    Il faut donc que je click l'un après l'autre pour visualiser les photos, ce qui ne présente pas d''intérêt.

    voir les deux ecrans exemples cidessous
    Nom : 07.png
Affichages : 138
Taille : 121,3 Ko

    Nom : 08.png
Affichages : 134
Taille : 148,1 Ko

    Que puis je faire pour que mes trois occurences avec affice bien la photo correspondant à sa ligne, et non le Concat séléctionné parmis ces trois lignes ?

    En vous remerciant par avance de vos lumières

    Cordialement,
    ArchiSI

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 44
    Par défaut C'est tout bete : mettre l'option acViewPreview au lieu de acViewReport.
    Désolée pour l'encombrement du forum, j'ai fini par trouver.
    Je mets la solution à toute fin utile :

    Il suffit de modifier le mode d'affichage de l'état pour le passer en mode aperçu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ' fin du source lié au bouton PlancheP sur l'evenement Click
    ' mode normal
    'DoCmd.OpenReport "E_rpt Images", acViewReport, Cond
    ' devient pour le mode aperçu
     
     DoCmd.OpenReport "E_rpt Images", acViewPreview, Cond
    Bonne continuation à tous

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

Discussions similaires

  1. [Image] Probleme de rafraichissement
    Par leyee dans le forum 2D
    Réponses: 4
    Dernier message: 31/10/2005, 22h26
  2. Probleme de rafraichissement Fenetre Win32 ...
    Par miaw dans le forum OpenGL
    Réponses: 1
    Dernier message: 09/05/2005, 08h59
  3. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  4. Probleme de rafraichissement
    Par glRaZ dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/03/2004, 14h07
  5. [MFC] probleme de rafraichissement d'une image
    Par Vestaproman dans le forum MFC
    Réponses: 6
    Dernier message: 09/01/2004, 23h59

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