ACCESS TO / VERS MYSQL ET INVERSEMENT

Signaler
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
-
Messages postés
148
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
21 janvier 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28899-access-to-vers-mysql-et-inversement

Messages postés
148
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
21 janvier 2009

Effectivement!
Merci beaucoup pour la correction.
Messages postés
1
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
2 août 2006

Il y a une erreur dans le code mysql vers access

Private Sub btnExportTXT_Click()
# 'Pour le transfert d'access vers mysql il faut gérer les valeurs nulles et les ' dans les textes
Dim bd As Database
Dim strSQL As String
Dim rec As Recordset
Dim ligne As String
Dim FSys As Object
Dim MonFic As Object
dim critere as string
dim fld as field
dim l%
Set bd = CurrentDb
strSQL = "SELECT * FROM maTable WHERE monChamp=" & critere
'remplir le recordset
Set rec = bd.OpenRecordset(strSQL, dbOpenForwardOnly)
'Pour creer le fichier texte
Set FSys = CreateObject("Scripting.FileSystemObject")
'Choisir l'adresse du fichier de resultat
Set MonFic = FSys.CreateTextFile("adresse du fichier : C:\fichier.txt")
'Pour écrire dans le fichier texte
With MonFic
'Tant que le recordset contient des lignes d'enregistrement...
While Not (rec.EOF)
ligne = ""
ligne = "INSERT INTO maTableSQL VALUES ("

for each fld in rec.fields
if not isnull(fld) then
'Il faut ici gérer la virgule pour les nombres, l'apostrophe pour les textes
'et les vrai/faux
ligne = ligne & "'" & fld.value & "', "
else
ligne = ligne & "NULL" & ", "
end if
next fld
ligne = trim(ligne)
'il faut supprimer la dernière virgule, fermer la parenthèse et placer un ;
l% = len(ligne)
ligne = left(ligne, l% - 1) & ");"
'On ecrit chaque ligne dans le fichier
.writeLine ligne
'on saute vers l'enregistrement suivant du recordset
rec.MoveNext
Wend
End With
End Sub
#
# voici le code pour: mysql vers access
#
Private Sub btnImportmySQLTxt_Click()
Dim bd As Database
Dim pointeur As String
Dim strSQL As String
Dim monfichier As String
Set bd = CurrentDb
pointeur = FreeFile
monfichier = "C:\Documents and Settings\Zoukozouko\Bureau\fichier.txt"
Open monfichier For Input As pointeur
Line Input #pointeur, strSQL 'Lit la 1ère ligne avec des virgules d'où le signe #
# 'Place la ligne dans la variable strSQL
Do While Not (EOF(pointeur))
bd.Execute (strSQL)
Line Input #pointeur, strSQL 'C'est ici que se situe l'erreur lecture de la ligne suivante
Loop

Close pointeur
End Sub
Messages postés
7
Date d'inscription
lundi 20 février 2006
Statut
Membre
Dernière intervention
5 mars 2008

Salut,
nous sommes deux etudiants de section informatique, nous somme en train de faire notre projet fin d'etude sur l'outil de migration de Access vers MySQL, nous rencontrons un problème sur quel outil qui va accéde au base de donnée Access.
SVP, si quelqu'un a une idée n'hésiter pas de nous aider.
Merci.
Messages postés
148
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
21 janvier 2009

tiens, en fait je me rends compte que j'avais deja fait un petit prog.
La démarche est pas idéale, mais ca marche. Donc si ca peut te dépanner le temps de trouver mieux....
a+
http://www.cppfrance.com/codes/TRANSPORTER-BASE-DONNEES-ACCESS-VERS-CODE-CREATION-SQL_28845.aspx
Afficher les 17 commentaires