Access to / vers mysql et inversement

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 800 fois - Téléchargée 31 fois

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

Ajouter un commentaire

Commentaires

cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
3
ouin ... un tableau aurait été le bienvenu pour pouvoir lire n'importe quel table sans faire de modif, puisque là tu es limité a 4 champs
cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
3
ah oui. Initié faut pas exagéré non plus

il aurait fallu bien plus que ça
genre convertir 100% une base ded onnée sans donner le nom des tables, du genre qu,il est capapble de les trouver tout seul

gestion des erreurs aurait été très apprécier pour un code initié
zoukozouko
Messages postés
148
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
21 janvier 2009

ouai, peute tre que ta raison, c'est sur que ya pas grand chose decxeptionnel sur cette source. Mais comme il faut savoir se servir des variables, des fonctions, de création de fichiers, etc...
Je me suis dit qu'un debutant serait peut etre pommé, non?
Mais si vraiment tu penses qu'il faut que je change le noveau (je pense pas que ca t'empeche de dormir mais quand meme) je la changerai de niveau.
Merci pour le commentaire.
cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
3
pas que ça empêche de dormir, mais c'est juste faut garder un certain niveau sur le site, puisque sinon il y en aura toujours qui vont abuser et mettre des sources expert, juste parce qu'il utilise un api.
cs_Bifrons
Messages postés
44
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
17 septembre 2005

pas mal m'en vais tester la bête

A adapter selon besoin mais bien

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.