Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/11/2011, 15h11   #1
Membre du Club
 
Homme Guenaël LE MERRER
consultant environnement et développement d'applications de base de données
Inscription : janvier 2006
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Guenaël LE MERRER
Âge : 38
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : consultant environnement et développement d'applications de base de données
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : janvier 2006
Messages : 210
Points : 65
Points : 65
Par défaut Format import Fichier XML

Grrrrrrr

Ca fait des heures que j'essaye de générer des fichiers xml (en php depuis une base mysql) pour ensuite faire un import sous Access (après téléchargement, une sorte de service web...) mais... les fichiers que j'obtiens ont souvent des caractères dis comme illégaux ! par access (des accents ou autre...). Je joins 1 ex de fichier qui pose pb, comment doit-on générer le fichier xml pour que cela fonctionne ? ma base est en utf-8 unicode...chose que je mets dans l'entête de du fichier xml et il me semble que c'est ce qu'attend access mais...
merci de votre aide
Fichiers attachés
Type de fichier : xml tabReferentiel.xml (16,1 Ko, 4 affichages)
guen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 20h22   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
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 : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

Ton fichier commence par :
Code xml :
<?xml version='1.0'?>
Pour moi il manque l'information sur le jeu de caractères.

J'ai pu lire le fichier avec la bibliothèque "Microsoft XML, version 2.0" avec
Code xml :
<?xml version='1.0' encoding='ISO-8859-1'?>
en début de fichier.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 09h10   #3
Membre du Club
 
Homme Guenaël LE MERRER
consultant environnement et développement d'applications de base de données
Inscription : janvier 2006
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Guenaël LE MERRER
Âge : 38
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : consultant environnement et développement d'applications de base de données
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : janvier 2006
Messages : 210
Points : 65
Points : 65
Merci pour ta réponse
Effectivement dans le fichier que j'avais posté, il n'y avait pas l'encodage mais je mettais UTF-8 car ma base est en UTF-8 en principe... j'ai résolu le problème pour finir en mettant :
Code :
mysql_query("SET NAMES 'utf8'")
de toute façon, je ne génère plus des xml de ce type mais des xml "à la sauce ADO" puisque j'arrive ensuite à me connecter dessus à distance avec un recordset ADO (c'est assez génial d'ailleurs ce système !).
merci bcp
résolu donc...
guen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 12h48   #4
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
bonjour Guen

c'est quoi ta sauce ADO? cela pourrai m'intéresser..
merci
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 14h03   #5
Membre du Club
 
Homme Guenaël LE MERRER
consultant environnement et développement d'applications de base de données
Inscription : janvier 2006
Messages : 210
Détails du profil
Informations personnelles :
Nom : Homme Guenaël LE MERRER
Âge : 38
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : consultant environnement et développement d'applications de base de données
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : janvier 2006
Messages : 210
Points : 65
Points : 65
bonjour

je génère un fichier xml en php qui lie dans ma base mysql, formaté de façon à ce que je puisse directement le connecté à un recordset ADO (en passant l'url dans la source de données). pour arriver au bon format du fichier xml, je le génère depuis ma table access avec la fonction (source internet...) :

Code :
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
    ' Get the database's name.
    db_name = "nomdetabase"
    nom_table = "nomde tatable"
    nom_rep = "nomrepexport"
 
    ' Open the connection.
    'Set conn = CurrentProject.Connection
    Set conn = New ADODB.Connection
    conn.ConnectionString = _
        "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Persist Security Info=False;" & _
        "Data Source=" & db_name
    conn.Open
 
    ' Open the Recordset.
    Set rs = conn.Execute("SELECT * FROM " & nom_table)
 
    ' Save the data into a DOMDocument.
    Set dom_document = New DOMDocument
    rs.Save dom_document, adPersistXML
 
    rs.Close
    conn.Close
 
    ' Save the XML data into an XML file.
    'db_name = Replace$(db_name, ".mdb", ".xml")
    dom_document.Save nom_rep & "\" & nom_table & ".xml"
    MsgBox "Fichier XML généré"
je récupère la partie schéma du xml que je mets dans un fichier xml et je complète par le code en php, les données extraites de la base mysql (avec des paramètres passés dans l'url).
pour relire avec ado, je fais juste

Code :
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
Private Sub cmdGetXmlData_Click()
Dim rs As ADODB.Recordset
Dim i As Integer
 
    Dim txtUrl As String
 
    txtUrl = "http://urldetonfichierXML.xml"
 
    Set rs = New ADODB.Recordset
    rs.Open txtUrl, "Provider=MSPersist;", _
         adOpenStatic, adLockReadOnly
 
    rs.MoveLast ' Can find little errors that can crop up.
    rs.MoveFirst
 
    Debug.Print "********************"
    Do Until rs.EOF
        For i = 0 To rs.Fields.count - 1
            Debug.Print rs.Fields(i) & " ";
        Next i
        Debug.Print
        rs.MoveNext
    Loop
 
    rs.Close
    MsgBox "Ok"
End Sub
je ne sais pas si j'ai été très clair dans mes explications... ceci dit, je n'ai pas testé sur des systèmes très verrouillés...
mais, s'il y a un proxy avec authentification (je ne sai pas ce que ça donne avec la lecture directe d'url...), je passe par un téléchargement du fichier xml qui gère le proxy (avec WinHttpRequest) puis à une lecture du fichier xml local.
en espérant t'avoir un peu éclairé...

guen
guen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h26.


 
 
 
 
Partenaires

Hébergement Web