begin process at 2010 02 10 08:15:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > ACCESS TO / VERS MYSQL ET INVERSEMENT

ACCESS TO / VERS MYSQL ET INVERSEMENT


 Information sur la source

Note :
3 / 10 - par 1 personne
3,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de Donnees Niveau :Débutant Date de création :17/01/2005 Date de mise à jour :19/01/2005 21:55:11 Vu :7 085

Auteur : zoukozouko

Ecrire un message privé
Site perso
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 Description

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

  • 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
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.


 Historique

19 janvier 2005 21:55:13 :
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.

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) DATA ACCESS COMPONENT par zaimfaycal
Source avec Zip GESTION ENSEIGNANTS par Elmarzougui
Source avec Zip GESTION D'UNE BIBLIOTHÈQUE par Elmarzougui
Source avec Zip VISUALISATION BASE ACCESS par claude440
Source avec Zip SUPER MONEY par MdelM

Commentaires et avis

Commentaire de dragon le 17/01/2005 18:09:16

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

Commentaire de dragon le 17/01/2005 18:12:24

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é

Commentaire de zoukozouko le 17/01/2005 21:26:58

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.

Commentaire de dragon le 18/01/2005 12:35:36

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.

Commentaire de Bifrons le 18/01/2005 15:29:35

pas mal  m'en vais tester la bête

A adapter selon besoin mais bien

Commentaire de PROGRAMMIX le 18/01/2005 20:03:13

C'est derniers temps, je suis à la recherche de sources qui font l'inverse : récupérer les données d'une base de données MySQL dans une BD access.

Aurais-tu cela en rayon ?

Commentaire de zoukozouko le 19/01/2005 13:41:04

si le fichier est du meme format, je v essayer de le faire.

pour dragon: j'ai vraiment pas eu la pretention d'etre initié ou quoi... merci pour ton commentaire

Commentaire de zoukozouko le 19/01/2005 21:51:13

Private Sub Commande0_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\Yoni\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

voila, a mettre sur le code evenement d'un bouton sur un formulaire
En esperant que ca fonctionne chez toi aussi!!!!

Commentaire de mastervanou le 09/03/2005 11:28:35

j'ai été interessée pas la fonction mysql->access
mais en regardant le code je me rend compte que ca casse pas des cotes...je pensais que ca créait un fichier .mdb
de plus tu executes des requetes qui ne marchent pas j'ai plein d'erreurs...
c pô grav!

Commentaire de zoukozouko le 09/03/2005 21:25:57

ta raison, cette source est super galere autiliser tele quelle puisque lle fichier doit etre formaté, et tout
moi jen ai u une grande utilité parce que jai du concevoir un logiciel a partir dune base de donné access
le truc interessant cest kon peut le moduler, mais l'interet cest juste qu'il contient les quelques focntions que j'ai mis une heure au moins a chercher sur les cours VB et Access.
Merci d'avoi au moin laissé un message

Commentaire de Germversity le 14/04/2005 05:36:36

D'ou vient le "AUXILIAIRES" la dedans?

Commentaire de sediri le 30/03/2006 14:41:38

salut,
SVP tu peut m'envoyer ce code source en C++.
Merci

Commentaire de zoukozouko le 31/03/2006 15:10:12

je ne pourrai spas le faire dans les 15 jours, jai trop de boulot en ce moment, mais personneleemnt, je suis beaucoup plus calé en C++, et c'est à partir de l'algo que j'ai codé cette appli en VB.
Donc a mon avis, tu devrais pouvoir t'en sortir en traduisant ligne par ligne de VB en C.
désolé...
mais si t'es patient, ce sera peut etre fait dans 3 semaines

Commentaire de zoukozouko le 31/03/2006 15:17:00

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

Commentaire de sediri le 01/04/2006 11:07:36

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.

Commentaire de incoro le 02/08/2006 16:34:37

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

Commentaire de zoukozouko le 02/08/2006 17:00:20

Effectivement!
Merci beaucoup pour la correction.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales