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 :

Export XML avec XSD imposé


Sujet :

VBA Access

  1. #61
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonsoir Christophe,

    Tout est parfait.

    Merci.

    Gérard

  2. #62
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonjour, Christophe,

    Comme je te l'ai dit tout est parfait.

    Ce que j'ai du faire c'est créer un formulaire Historique contacts Pige, car avant cette table était affichée dans le formulaire Piges sous forme de feuille de données. (Ce qui était plus pratique, car cela me permettait de présenter les données en les triant, exemple, tri sur Type...)
    Est-ce possible de modifier le 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
    Private Sub cmdOuvrirAcquereur_Click()
    Dim sNomCtlSsFormulaire As String
    Dim sChampAlire As String
    Dim sId As String
    Dim sFormulaireAOuvrir As String
    Dim sCritWhere As String
     
    ' Nom du formulaire que l'on veut ouvrir
    sFormulaireAOuvrir = "Acquéreurs"
    ' Nom du contrôle sous-formulaire dont l'objet source est «Table.historique contacts Piges»
    sNomCtlSsFormulaire = "Historique contacts Pige"
    ' Nom du champ duquel on veut obtenir la clé de Acquéreurs
    sChampAlire = "lien_acquereur"
     
    ' Tentative de lecture du champ à lire dans le contrôle sous-formulaire
    On Error Resume Next
    sId = Me.Controls(sNomCtlSsFormulaire).Form.Controls(sChampAlire).Value
    On Error GoTo 0
     
    ' Si Ok, ouvrir le «formulaire à ouvrir» filtrer sur la clé lue précédemment
    If Len(sId) > 0 Then
       sCritWhere = "[ID]=" & sId
       DoCmd.OpenForm sFormulaireAOuvrir, acNormal, , sCritWhere
    End If
     
    End Sub
    Pour utiliser la feuille de données de Table.Historique contacts Pige à la place du sous-formulaire.

    A+

    Gérard

  3. #63
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir Gérard,

    C'est étonnant que tu ai été obligé de créer un formulaire pour faire fonctionner mon code, j'avais testé avec une table en tant que sous-formulaire.
    Tu n'a pas du trouver le nom du contrôle sous-formulaire.

    Puisque le code fonctionne avec...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' Nom du contrôle sous-formulaire dont l'objet source est «Table.historique contacts Piges»
    sNomCtlSsFormulaire = "Historique contacts Pige"
    ...change l'objet source de ce contrôle pour «Table.historique contacts Piges» au lieu du nom du formulaire.
    Ensuite vérifie ou recrée la liaison Père/Fils.

    Pour info, un contrôle sous-formulaire n'a pas nécessairement le même nom que le formulaire qu'il intègre.
    Je peux avoir un contrôle sous-formulaire (conteneur) qui s'appelle "ctlSfmHistorique" et qui intègre (contenu) un formulaire qui s'appelle "sfmHistorique" ou une table "Table.Historique".
    Quand j'écris "contrôle sous-formulaire" je fais toujours référence au conteneur.

    A+
    Christophe

  4. #64
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonjour Christophe,

    Suite à ton message, j'ai supprimé le sous-formulaire, et l'ai remplacé par une feuille de données et tout fonctionne.

    Ce qui s'est passé, c'est que la première fois, je n'avais pas modifié le nom de la feuille qui s'appelait Fille585.
    Cette fois je lui ai donné un nom personnalisé.

    Merci encore.

    Gérard

  5. #65
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonjour Christophe,

    J’espère que tu vas bien.
    Tout fonctionne parfaitement, et j’aurai une petite demande à te formuler :
    Lorsque je fais visiter un bien, j’ajoute un nouvel enregistrement à la table [Historique contacts Acquéreur] par l’intermédiaire du sous-formulaire [Contact Acquéreurs]. Il compte 4 champs :
    • [Historique contacts Acquéreur.Dernier contact]
    • [Historique contacts Acquéreur.Type], qui aura comme valeur : « Visite de biens »
    • [Historique contacts Acquéreur.Lien_Piges], champ numérique, qui fait le lien avec la table [Piges]
    • [Historique contacts Acquéreur.Lien], champ numérique, qui fait le lien avec la table [Acquéreurs]



    Serait-il possible de faire que après cet ajout, (uniquement si [Historique contacts Acquéreur.Type]= « Visite de biens ») il soit également ajouter (sans intervention de ma part) un nouvel enregistrement à la table [Historique contacts Pige] ?
    [Historique contacts Pige] possède 4 champs :
    • [Historique contacts Pige.Date du contact] qui devra donc être égal à [Historique contacts Acquéreur.Dernier contact]
    • [Historique contacts Pige.Type] qui devra avoir comme valeur « Visite avec acquéreur »
    • [Historique contacts Pige.Lien] qui devra donc être égal à [Piges.ID]
    • [Historique contacts Pige.lien_acquereur] qui devra donc être égal à [Acquéreurs.ID]



    A+

  6. #66
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour Gérard,

    Il faut arriver à trouver un déclencheur qui détecte l'ajout d'un enregistrement ou bien carrément passer par un formulaire de saisie (au lieu de saisir directement dans le sous-formulaire).

    Peux-tu me préciser les points suivant ?
    -Est-ce que le formulaire principal est le formulaire Piges ?
    -Est-ce que les deux sous-formulaire ont une source du type Table.Nom_Table ?

    A+
    Christophe

  7. #67
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonjour Christophe,

    Le formulaire Piges n'est pas le formulaire principale.

    -Est-ce que les deux sous-formulaire ont une source du type Table.Nom_Table ?
    Oui.

    A+

    Gérard

  8. #68
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour Gérard,

    Voici deux solutions possibles : bdsAjout_20150225.zip

    Bases example bd_ d1481812_7SOL1.mdb
    Le formulaire fmFormulaire_1 est le formulaire principal qui intègre les tables en tant que sous formulaires.
    Comme les sous-formulaires de ce type ne génèrent aucun événement, j'ai remplacé l'objet source du sous-formulaire nommé sfmHistoriqueContactsAcquereur par un formulaire (au lieu de Table.Historique contacts Acquéreur).
    Il s'agit du formulaire sfmHistCtcAcquereur. Sa source est la table Historique contacts Acquéreur.
    Son mode d'affichage est réglé sur "Feuille de données".
    De cette manière il s'affiche comme si la table Historique contacts Acquéreur avait été placée en tant qu'objet source du sous-formulaire sfmHistoriqueContactsAcquereur.
    La gestions des événements sfmHistCtcAcquereur du formulaire permet de détecter l'ajout d'un enregistrement à la table Historique contacts Acquéreur.
    Événement Avant MAJ: On vérifie que toutes les données requises sont saisies.
    Événement Après insertion: On ajoute un enregistrement à Historique contacts Pige si type = "Visite de biens".


    Bases example bd_ d1481812_7SOL2.mdb
    Le formulaire fmFormulaire_2 est le formulaire principal qui intègre les tables en tant que sous formulaires.
    Le sous-formulaire nommé sfmHistoriqueContactsAcquereur est verrouillé pour forcer l'utilisation du bouton "+".
    Ce bouton ouvre le formulaire de saisie fmAjoutVisiteCtcAcquereur dont la source est la table Historique contacts Acquéreur.
    Il est réglé en mode "Ajout de données seulement":
    Propriété Entrée données = Oui
    Propriété Ajout autorisé = Oui
    Propriété Suppr autorisée = Non
    Propriété Modif autorisée = Non

    Un bouton "Annuler" annule le processus d'ajout et ferme le formulaire de saisie.
    Un bouton "Ajouter" valide les données et les ajoute à Historique contacts Acquéreur, puis à Historique contacts Pige si type="Visite de biens", à l'aide des requêtes R_Ajout Hist Ctc Acqur et R_Ajout Hist Ctc Pige.

    Cdlt
    Christophe

  9. #69
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonjour Christophe,

    Merci de ta réponse.
    C’est la première solution qui me conviendrait le mieux :
    Cependant, elle m’oblige pour chaque ajout d’enregistrement de remplir le champ Lien_Piges, ce qui me fait perdre beaucoup de temps.
    La solution ne serait-elle pas d’utiliser un vrai sous-formulaire qui permettrait de générer un événement ?

    J’ai une autre demande à te soumettre.

    La table [acquéreurs] possède le champ [Acquéreurs.Mandant], Numérique, contenu : SELECT Piges.ID, Piges.Nom FROM Piges WHERE (((Piges.Vivante)=True) AND ((Piges.Mandat)=True)) ORDER BY Piges.Nom;; Nbre colonnes :2.
    Chaque fois que j’ajoute un enregistrement à la table [Acquéreurs] par l’intermédiaire du formulaire Acquéreurs, je remplis le champ [Acquéreurs.Mandant].
    Est-il possible de créer un code qui ajouterait à la table [Historique contact Pige] un enregistrement avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [Historique contact Pige.Date du contact}=[Acquéreurs.Date]
    [Historique contact Pige.Type]= « Demande acquéreur »
    [Historique contact Pige.Lien]=[Pige.ID]
    [Historique contact Pige.lien_acquereur]=[Aquéreurs.ID]
    Merci, A+

    Gérard

  10. #70
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir Gérard,
    Citation Envoyé par GEGE1963 Voir le message
    C’est la première solution qui me conviendrait le mieux :
    Cependant, elle m’oblige pour chaque ajout d’enregistrement de remplir le champ Lien_Piges, ce qui me fait perdre beaucoup de temps.
    La solution ne serait-elle pas d’utiliser un vrai sous-formulaire qui permettrait de générer un événement ?
    La première solution est basée sur un 'vrai' sous-formulaire.
    Pour que le champ Lien_Piges se pré-remplisse il faut qu'il y ait une relation père/fils entre le formulaire principal et le contrôle sous-formulaire sfmHistoriqueContactsAcquereur.
    Cela suppose que le formulaire principal ait un champ [ID] provenant de la table Piges.
    Si par exemple la source du formulaire principal est la table Piges, dans les propriétés de l'onglet «Données» du contrôle sous-formulaire sfmHistoriqueContactsAcquereur on aurait:
    Champ Pères: ID
    Champs fils: Lien_Piges

    Cdlt
    Christophe

  11. #71
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Rebonsoir Gérard,
    Citation Envoyé par GEGE1963 Voir le message
    J’ai une autre demande à te soumettre.

    La table [acquéreurs] possède le champ [Acquéreurs.Mandant], Numérique, contenu : SELECT Piges.ID, Piges.Nom FROM Piges WHERE (((Piges.Vivante)=True) AND ((Piges.Mandat)=True)) ORDER BY Piges.Nom;; Nbre colonnes :2[/C].
    Chaque fois que j’ajoute un enregistrement à la table [Acquéreurs] par l’intermédiaire du formulaire Acquéreurs, je remplis le champ [Acquéreurs.Mandant].
    Est-il possible de créer un code qui ajouterait à la table [Historique contact Pige] un enregistrement avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [Historique contact Pige.Date du contact}=[Acquéreurs.Date]
    [Historique contact Pige.Type]= « Demande acquéreur »
    [Historique contact Pige.Lien]=[Pige.ID]
    [Historique contact Pige.lien_acquereur]=[Aquéreurs.ID]
    C'est possible.
    Il suffit de réutiliser la technique que j'ai employée dans bd_ d1481812_7SOL1.mdb
    Ouvrir le formulaire «Acquéreurs» en mode création.
    Afficher les propriétés du formulaire.
    Dans l'onglet «Événements» sélectionner "[Procédure événementielle]" en face de «Après insertion», puis cliquer sur le petit bouton à droite pour créer le corps de la procédure gérant l'événement.
    Voila ce que l'on doit avoir au final:
    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
    Private Sub Form_AfterInsert()
    Dim lPigeId As Long, lAcquId As Long
    Dim db As DAO.Database, rs As DAO.Recordset
     
    On Error GoTo ErrH
     
    ' Un enregistrement vient d'être ajouté à la table Acquéreurs
    lAcquId = Nz(Me.ID, 0): If lAcquId = 0 Then Exit Sub
    lPigeId = Nz(Me.Mandat, 0): If lPigeId = 0 Then Exit Sub
     
    ' On veut:
    '[Historique contact Pige.Lien] = [Pige.ID]
    '[Historique contact Pige.lien_acquereur] = [Aquéreurs.ID]
    '[Historique contact Pige.Type]= « Demande acquéreur »
    '[Historique contact Pige.Date du contact}=[Acquéreurs.Date]
     
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Historique contact Pige", dbOpenDynaset)
    rs.AddNew
    rs("Lien") = lPigeId
    rs("lien_acquereur") = lAcquId
    rs("Type") = "Demande acquéreur"
    rs("Date du contact") = Nz(Me.[Date], Date)
    rs.Update
    rs.Close
    Set rs = Nothing
    Set db = Nothing
     
    ExitS:
        Exit Sub
     
    ErrH:
        MsgBox "Error No." & Err.Number & " : " & Err.Description, vbCritical, Me.Name & ".Form_AfterInsert()"
        If Not (rs Is Nothing) Then
           If rs.EditMode <> 0 Then rs.CancelUpdate
           rs.Close
        End If
        Resume ExitS
     
    End Sub
    La ligne 8 lAcquId = Nz(Me.ID, 0): If lAcquId = 0 Then Exit Sub récupère l'ID de l'acquéreur.

    La ligne 9 lPigeId = Nz(Me.Mandat, 0): If lPigeId = 0 Then Exit Sub récupère l'ID de Piges au travers du champ Mandat de la table Acquéreurs.
    Si ce n'est pas ça, remplacer Me.Mandat par Me.XXXXX (où XXXXX est le nom d'un autre champ de la table Acquéreurs).

    Cdlt
    Christophe

  12. #72
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonsoir Christophe,

    J'ai appliqué, et tout marche parfaitement.

    Merci, merci

    Gérard

  13. #73
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Une petite question technique:
    Lors de l’export des annonces au format XML, par l’intermédiaire du formulaire que tu m’as crée [fmXMLexporter], j’aurais besoin que au préalable la requête suivante soit effectuée :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE annonce INNER JOIN photos ON annonce.[N° Mandat] = photos.[N° Mandat] SET photos.reference = [annonce.reference]
    WHERE (((annonce.[N° Mandat])=[photos.N° Mandat]));

    Pour l’instant je le fais manuellement mais ce serait plus pratique qu’elle soit incluse dans la procédure cmd Exporter_Click() ou ailleurs mais incluse dans le bouton.

    Merci,

    Gérard

  14. #74
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour Gérard,

    Ouvre le formulaire fmXMLexporter en mode création.
    Sélectionne le bouton du formulaire en cliquant dessus.
    Affiche ses propriétés, dans la feuille de propriétés va à l'onglet «Événements».
    Active la ligne «Sur clic» en cliquant dessus, puis clique sur le petit bouton à droite de [Procédure événementielle].
    Tu te retrouves sur le code de gestion de l'événement «Sur clic» du bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub cmdExporter_Click()
    ExporterAnnoncesXml
    End Sub
    Modifie le code (copier/coller) pour qu'il devienne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub cmdExporter_Click()
    Dim sNomReq As String
     
    ' Exécuter requête XXXX
    sNomReq = "XXXX"
    DoCmd.SetWarnings False
    DoCmd.OpenQuery sNomReq
    DoCmd.SetWarnings True
     
    ' Appeler la procédure d'export
    ExporterAnnoncesXml
    End Sub
    Remplace XXXX par le nom de la requête de type "mise à jour" (lignes 4 et 5).

    Et voila, c'est tout.
    La requête sera toujours exécutée avant l'exécution du code d'exportation xml.

    Cdlt
    Christophe

  15. #75
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonjour Christophe,

    Nickel, merci
    Gerard

  16. #76
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonjour Christophe,

    Je rencontre un petit problème avec un formulaire [Acquéreurs] et seulement avec celui-ci.

    Lorsque que je l’ouvre :
    1) Les variables indépendantes du style (=Int(Maintenant()-[Date])) affichent : Nom
    2) Si je veux ajouter un enregistrement à l’un des sous-formulaires [Historique contacts Acquéreur], et pour tous les autres le message d’erreur suivant apparait :

    Le paramètre de la propriété ChampsPères est à l’origine de l’erreur suivante : »Return sans GoSub »

    Le seul moyen que j’ai trouvé est de supprimer le sous-formulaire et de le remettre ou d’apporter une modification au formulaire : ex ajouter une zone de texte; Tout fonctionne alors normalement, jusqu’à ce que je quitte Access, mais si j’ouvre à nouveau le même problème réapparait.
    J’ai essayé de compacter la base, faire des sauvegardes et ouvrir la sauvegarde : toujours pareil !
    J’ai cherché sur le site, mais pas trouvé la réponse.

    Merci pour ton aide.

    Gérard

  17. #77
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour Gérard,

    J'ai déjà eu dans le passé des problèmes inexplicables lors de transitions Access 2000 -> 2003 et 2003 -> 2007.
    Dans ces cas là, je crée une nouvelle base de données dans laquelle j'importe tous les objets de la base corrompue.

    Je le fais en plusieurs étapes:
    • Je renomme la base de bdd.mdb en dbb_broken.mdb
      Je crée une nouvelle base bdd.mdb
    • J'importe les modules de code
      Je vais dans l'éditeur Visual Basic pour vérifier qu'il ne manque aucune référence Visual Basic.
      Ajoute une référence Visual Basic à «Microsoft XML, v6.0» car elle est nécessaire.
      Vérifie qu'il ne manque pas d'autre référence en faisant Menu Principal > Débogage > Compiler xxxxxx
      Si aucun message d'erreur c'est que rien manque.
    • J'importe les tables
    • J'importe les requêtes
    • J'importe tout les reste (Formulaires, Etats, Macros)
    • Je redéfini les options de la base de données en cours (Titre Application, Icône Application, Documents fenêtré ou à onglet, ..)

    Tout ceci équivaut à une réparation car en principe la partie corrompue n'est pas importée.
    Ensuite, je teste la nouvelle base, je la compacte et je la teste à nouveau.

    En espérant que ça t'aide.
    Christophe

  18. #78
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Christophe,

    En fait, j'ai ouvert le formulaire [Acquéreurs] ai fait compilier, miraculeusement tout à marché, ai fermé, il m'a demandé si je voulais enregistrer les modifications de Fmpiges (je ne l'avais pas récemment mofifié), fait ok et depuis tout fonctionne à nouveau nickel !

  19. #79
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 17
    Points : 21
    Points
    21
    Par défaut exportation des plusieurs tables vers xml avec xsd imposé
    Bonjour
    je suis confronté à un probleme similaire
    j' ai suivi votre discussion pour essayer de l'appliquer à ma base de données mais j'y arrive il y a certaines ligne de votre code que je ne comprend par exemple le client et codeclient
    je n arrive pas à identifier dans quelle table cela appartient

    Merci de m'aider je suis dans une situation d'urgent ou je dois realiser ce projet avant le 15 fevrier 2016

    Aidez moi svp

  20. #80
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2014
    Messages : 52
    Points : 7
    Points
    7
    Par défaut
    Bonsoir,

    Client et codeclient sont des variables dont j'avais besoin pour faire identifier mon fichier XML a une autre personne. Ils n'appartiennent à aucune base.

    gérard

Discussions similaires

  1. [XSD] Valider partiellement XML avec XSD
    Par =FdK= dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/12/2008, 13h51
  2. [JAXB] Problème parsing XML avec XSD validant
    Par vano dans le forum Persistance des données
    Réponses: 2
    Dernier message: 26/08/2008, 09h59
  3. [WD 12] MSXML - validation xml avec xsd externe
    Par nicol9 dans le forum WinDev
    Réponses: 1
    Dernier message: 29/07/2008, 15h08
  4. [SAX] validation d'un xml avec xsd
    Par salmamah dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 25/04/2008, 17h22
  5. Valider XML avec XSD
    Par neilbgr dans le forum Langage
    Réponses: 10
    Dernier message: 26/03/2008, 16h01

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