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 :

[Sources]récupération d'états d'un mde vers un mdb [Fait]


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [Sources]récupération d'états d'un mde vers un mdb
    Bonsoir, je souhaite récupérer des états qui se trouvent dans une base MDE dans une base MDB car j'ai perdu la base MDB a la suite d'une mauvaise manip par contre j'ai toujours la base mde mais qui ne me sert a rien car je dois modifier certains états.
    merci de m'indiquer la marche a suivre s'il y en a une.

    edit cafeine : merci de ne pas abuser des majuscules dans les titres

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    A priori, je dirais que cela doit être possible ne parcourant l'ensemble des controle du MDE et en créant un nouvel état dans le mdb. Pour cela, tu devras via automation, ouvrir une nouvelle instance d'access, qui se chargera d'ouvrir la base MDE. Tu pourras ainsi, récupérer l'état via la collection Reports, parcourir chaque controle et les recréer à l'identique dans un autre état de la première instance de la base de données Access (en parcourant l'ensemble de ses propriété)

    Bien entendu, cela demande pas mal de ligne de code. Je te laisse donc y reflechir et tu pourras trouver pas mal d'aide dans les différents codes sources que nous proposons :

    http://access.developpez.com/sources

  3. #3
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Voici un exemple de ce que cela pourrait donner :

    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
     
    Option Compare Database
    Option Explicit
     
    Public Sub ImporterEtat(strChemin As String, strNomEtat As String)
    'StrChemin correspond au chemin du fichier MDE
    'StrNomEtat correspond au nom de l'état
    Dim AppAccess As New Access.Application
    Dim oRptSource As Access.Report, oRptDest As Access.Report
    Dim oCtlSource As Control
    Dim I As Integer
    'Ouvre le fichier mde
    AppAccess.OpenCurrentDatabase strChemin
    'Ouvre l'état en mode aperçu
    AppAccess.DoCmd.OpenReport strNomEtat, acViewPreview
    'Atteint l'objet Etat
    Set oRptSource = AppAccess.Reports(strNomEtat)
    'Crée le nouvel état dans la base de données courant
    Set oRptDest = CreateReport
    'Fixe les mêmes propriétés
    DupliqueProprietes oRptSource, oRptDest
    'Parcours les controls
    For Each oCtlSource In oRptSource.Controls
        CreerControle oRptDest.Name, oCtlSource
    Next oCtlSource
    'Engregistre l'état
    DoCmd.Save acReport, oRptDest.Name
    'ferme l'état source
    AppAccess.DoCmd.Close acReport, strNomEtat, acSaveNo
    'Ferme le mde
    AppAccess.DoCmd.Quit
    'Libère la mémoire
    Set AppAccess = Nothing: Set oRptDest = Nothing: Set oRptSource = Nothing
    Set oCtlSource = Nothing
    End Sub
    Sub test()
    ImporterEtat "c:\test.mde", "pannes non rendues"
    End Sub
    Private Function CreerControle(strNomEtat As String, oCtlSource As Object)
    On Error GoTo err:
        Dim oCtlDest As Object
        Set oCtlDest = CreateReportControl(strNomEtat, oCtlSource.ControlType, oCtlSource.Section)
        DupliqueProprietes oCtlSource, oCtlDest
    err:
    End Function
    Private Function DupliqueProprietes(ObjetSource As Object, ObjetDest As Object)
    On Error GoTo err
    Dim Prp As Object
    For Each Prp In ObjetSource.Properties
        CloneProprietes ObjetDest, Prp
    Next Prp
    err:
    End Function
    Private Function CloneProprietes(ObjetDest As Object, PrpSource As Object)
    On Error GoTo err
    ObjetDest.Properties(PrpSource.Name).Value = PrpSource.Value
    err:
    End Function
    Reste à trouver un moyen de parcourir les différentes sections de l'état. Car là seules les sections par défaut ne sont reproduites

  4. #4
    En attente de confirmation mail
    Inscrit en
    Juillet 2003
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Merci Tofalu ça marche super un seul petit problème dans mon cas c'est que les nom de mes états comprennent des "-" et je n'arrive pas à atteindre l'objet, pourtant je l'ouvre ???

  5. #5
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Encadre le nom de l'état avec des []

  6. #6
    En attente de confirmation mail
    Inscrit en
    Juillet 2003
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    désolé mais ça ne fonctionne toujours pas une autre solution peut être, j'ai beau parcourir l'aide rien n'est spécifié

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Il n'y a guère d'autre solution .. dans tout les cas, un mde, ne peut jamais être complètement récupéré. C'est aussi la tache du développeur de garder une copie du fichier mdb ...

Discussions similaires

  1. Source d'un état
    Par alainGL dans le forum IHM
    Réponses: 5
    Dernier message: 29/05/2007, 16h08
  2. [VBA]Modifier la source d'un état
    Par binouzzz19 dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/05/2007, 16h14
  3. Réponses: 9
    Dernier message: 16/02/2007, 15h10
  4. [VBA] Modification de la source d'un état (report)
    Par gripoil dans le forum Access
    Réponses: 9
    Dernier message: 19/10/2005, 20h22
  5. erreur sur modification de la source d'un état
    Par Lou Pitchoun dans le forum Access
    Réponses: 1
    Dernier message: 07/10/2005, 11h38

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