Access to / vers mysql et inversement

Contenu du snippet

J'ai deja posté un code en C++ pour convertir une base access vers Mysql.
J'ai refait la meme chose en VB, directement sous access et en 10 fois moins de temps.
C'est en fait le code d'un bouton qu'il faut metrre dans un formulaire afin de sauvegarder tous les enregistrements d'une table.
La table s'appelle MyTable, et elle contien 4 champs noté field1 field2 field3 et field4

Le résultat est un fichier contenant le code d'ajout de toutes les lignes la table, du type:
INSERT INTO MyTable VALUES ('field1a','field2a','field3a','field4a');
INSERT INTO MyTable VALUES ('field1b','field2b','field3b','field4b');
etc...

Vous devez donc créer un formulaire sous access, y mettre un bouton(ne pas utiliser l'assistant)
Faire un clique droit sur le bouton et choisir "créer code évenement"
La, inserer le code ci joint, modifié selon vos propriétés...

Source / Exemple :


voici le code pour access to mysql

Private Sub NomDuBouton_Click()

Dim bd As Database
Dim strSQL As String
Dim rec As Recordset
Dim ligne As String
Dim FSys As Object
Dim MonFic As Object

Set bd = CurrentDb

strSQL = "SELECT * FROM MyTable"

'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 AUXILIAIRES VALUES ('" & rec![field1] & "' , '" & rec![field2] & "' , '" & rec![field3] & "' , '" & rec![field4] & "' ) ;"

'On pour 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 to access

Private Sub Bouton_Click()

Dim bd As Database
Dim pointeur As String
Dim strSQL As String
Dim monfichier As String
Dim FSys As Object

Set bd = CurrentDb

pointeur = FreeFile
monfichier = "C:\Documents and Settings\Zoukozouko\Bureau\fichier.txt"
Open monfichier For Input As pointeur

Line Input #pointeur, strSQL

strSQL = FSys.readLine

Do While Not (EOF(pointeur))

bd.Execute (strSQL)
strSQL = FSys.readLine

Loop

Close pointeur
    
End Sub

Conclusion :


J'ai changé le niveau de la source (merci dragon).
Elle semblait etre trop simple pour les amateurs de sources "initiés"
Mes excuses d'avance au débutant qui ne comprendraient pas toutes les fonctions du script.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.