EXPORTATION DE TABLES OU BASES ACCESS COMPLÈTES VERS MYSQL

cs_Obelix Messages postés 3 Date d'inscription samedi 24 février 2001 Statut Membre Dernière intervention 7 avril 2003 - 3 avril 2003 à 07:25
drissanas1 Messages postés 8 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 1 mai 2009 - 18 avril 2009 à 21:48
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/6604-exportation-de-tables-ou-bases-access-completes-vers-mysql

drissanas1 Messages postés 8 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 1 mai 2009
18 avril 2009 à 21:48
par exemple j'ai déjà tenté a affecté les données sous fourme d'une ligne comme tu as dit, une seule ligne = un seul enregistrement et après ds une grid ou msflexgrid ds vb6 j'essai de faire la séparation que je cherche et en même temp je cherch si quelqu'un va m'aider a faire mieu que moi et voila , merci
drissanas1 Messages postés 8 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 1 mai 2009
18 avril 2009 à 21:35
merci bien mon ami, tu as compris donc bien le problème, et je tente a résoudre ce pb, en obligeant une longueur ds la table access, par exemple l'application doit affecter 3 caractère (par exmpl) pour remplir le 1er champ, et doit affecter les 25 caractères suivant ds le 2eme champ pour le remplir ( le champ "nom" par exempl) et doit affecter les 25 caractères suivant ds le champs "prenom" et ainsi de suite,
et merci encore pour tout le dérangement et pour ta comprehension ; bonne nuit
cs_mml Messages postés 4 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 18 avril 2009
18 avril 2009 à 15:28
Voici la règle que l'on peut dégager de cet exemple (il faudra utiliser la fonction Mid de Visual Basic si le traitement est effectué en VB :
- chaque ligne du fichier texte correspond à une ligne de la table Access (un enregistrement, une ligne dans la table), soit une personne par ligne du fichier texte ;
- Pour chaque ligne, il faut récupérer la première chaîne de caractères, considérant qu'elle contient 3 données : l'Id (identifiant numérique de la personne), son nom et son prénom. Si l'identifiant a toujours une longueur de 3, on se contente de récupérer les 3 premiers caractères, si sa longueur peut varier, il faut faire un test de numéricité du genre : "je lis chaque caractère en commençant par le premier, et tant qu'il s'agit d'un nombre je le récupère en tant que partie de l'identifiant, dès que je trouve une lettre, c'est la première lettre du groupe nom et prénom". Plus difficile est de distinguer le prénom, là on retombe sur mes premières explications : il faut un séparateur, ou au moins une constante pour savoir ou commence le prénom. Le nom c'est facile, c'est après l'identifiant numérique, le prénom, s'il n'y a pas d'espace comment fait-on pour savoir qu'il s'agit de sa première lettre ?
Nota : sur tes deux lignes d'exemples : ligne 1 il y aurait 7 champs, et ligne 2 il n'y en aurait que 6, il faudra faire en sorte que le code s'attende a ne rien avoir à mettre pour certains champs.
En espérant apporter quelques éclaircissements.
drissanas1 Messages postés 8 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 1 mai 2009
18 avril 2009 à 11:40
merci bcp pour tes réponses précises, et je te demande pardon pour tout le dérangement, je pense qu'on a presque arriver à comprendre mon problème, par exemple le fichier text .txt est sous la forme:
369nomprenomdupersonne jhuy jhhhh 33 oplk
246mlpolkoijkjdcbnhgyybg bbbbbbbbbvgfggg 05 bgfg
...
... etc
la table "table1" par exemple à 12 champs par exemple
champ1"num cart" longueur 3, type numérique
champ2"nom et prenom" longueur 56, type alphanumériq
champ3"adress" long93, tye alph num
..
..
etc
tu regarde ici comment affecter seulement "369" dans " num cart" et le reste cad "nomprenomdupersonne....." dans " nom et prenom" et ainsi de suite
j'éspère bien que tu as compris maintenant mon problème
la table est déja créee dan access et elles bien définie
avec les type et les longueur,
le fichier .txt est là mais les données collées et il faux les séparer dans la table access.et merci encore pour mon dérangement
cs_mml Messages postés 4 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 18 avril 2009
17 avril 2009 à 22:47
Je ne vois pas dans l'exposé qui est fait suffisamment d'informations pour pouvoir répondre avec précision. Si s'agit de définir les champs des tables a partir des longueurs des champs existant dans un fichier texte, ont se trouve bien dans le cas de ma première réponse, c'est à dire considérer la distinction entre les champs, soit un séparateur. Comme je disais initialement, il peut s'agir de caractères visibles ou non. Non visible : tabulation, espace, fin de ligne. Il faut effectivement définir la règle de travail. Ne pas oublier que pour une création dynamique de table, il faudra quand même nommer les champs de la table et définir le type de données, etc... Essayer de trouver la règle sur laquelle on va pouvoir se baser pour faire fonctionner son code. La programmation vient après ce travail préliminaire.
drissanas1 Messages postés 8 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 1 mai 2009
17 avril 2009 à 22:07
pa de nouvelle??
drissanas1 Messages postés 8 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 1 mai 2009
15 avril 2009 à 21:41
bjr; merci MML, oui c'est vrai tout ce que tu as écris, et dans le cas ou il n'y a pas de séparateurs " (espace) ou ; ou , ...)" est ce qu'on ne peut pas par exemple définir les champs des tables dans éccess (ou d'une table) a partir des longeur des champs existe (reservés) dans le fichier .txt, et merci encore une fois.
cs_mml Messages postés 4 Date d'inscription vendredi 7 mars 2003 Statut Membre Dernière intervention 18 avril 2009
10 avril 2009 à 21:12
Bonjour,
effectivement il est possible de créer une base de donnée Access en VB, puis dans la base créée, créer des tables de donnée en créant la structure par le code, puis ajouter dans les données dans les tables (c'est le processus complet, mais pas toujours le plus approprié. Il est souvent plus rapide d'utiliser une base Access déjà créée avec Access, dans laquelle on a déjà créé les tables (en définissant les champs avec l'éditeur d'Access). Dans ce cas, en VB, on se contente de manipuler les données des tables (ajout, suppressions, modifications). Pour les données, si elle se présentent en vrac sous la forme d'un texte, il faudra dans tous les cas définir un séparateur, toujours un caractère particulier (imprimable ou non - cela peut être un espace). On peut faire beaucoup de choses, il suffit de s'y mettre...
drissanas1 Messages postés 8 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 1 mai 2009
10 avril 2009 à 18:41
bonjour, tres bon travail, 9,5/10; ma question est ce qu'on peut faire le contraire, c-a-d creer une base de données access a partir d'un fichier text aves des champs
longs, et qui ne sont pas séparés ni aves des ',' ni avec des ";", et merci encore
cs_ios Messages postés 4 Date d'inscription lundi 3 juin 2002 Statut Membre Dernière intervention 24 janvier 2006
3 août 2006 à 17:10
Salut,

super source,

il manque la gestion des champs de type Objet OLE (type de champ 11)

merci pour le travail
A bientot

ios
zeltron2k3 Messages postés 11 Date d'inscription lundi 5 avril 2004 Statut Membre Dernière intervention 16 avril 2006
3 avril 2006 à 23:37
Salut,

Merci pour ta source c' se que je cherchais, cool super en +
sa marche trés bien. 10/10 sa le vaux bien.

A bientot.
:[ZelTroN2K3]:
Email: zeltron2k3@wanadoo.fr
cite: http://zeltron2k3.ath.cx
bbcluny Messages postés 66 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 29 septembre 2008
25 nov. 2005 à 10:28
Merci pour ta source
anwaarber Messages postés 10 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 9 octobre 2005
12 juil. 2005 à 01:06
salut a tous.
primo ton application é génial
secondo il me l'erreur de dépassement de capacité je voix pas pq, é ce du fichier text ou autre chose..........? je c pa ?

si tu pouvait ajouter l'option de choisir l'ordre des champs alors la ca va être tros cool.

mé bravo c ce ke je cherche. :)
BBC1 Messages postés 1 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 9 mai 2005
9 mai 2005 à 12:30
BRAVO !
Marche bien , facile à utiliser.

Quelques petits détails:
- La conversion des BOOLEENS en entiers (long?)
- La conversion des MONETAIRES se fait avec une
virgule dans le texte alors que MySql accepte un point.

encore BRAVO !
JO
cs_hnqz Messages postés 17 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 7 mai 2008
22 avril 2005 à 15:28
Juste MERCI,

Ca vaut bien une bonne note !
cs_Jin Messages postés 30 Date d'inscription mercredi 4 décembre 2002 Statut Membre Dernière intervention 1 février 2003
18 avril 2005 à 12:23
L'application semble excellente.

Je travaille sur Access et tu pourrais vraiment m'aider simplement en me disant ou tu as trouvé la << macro Access >> trouvée sur le net...
Google me fait la tête...

J'aurais simplement à utiliser cette Macro...

Cordialement.
storan Messages postés 1 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 4 avril 2005
4 avril 2005 à 16:13
tres tres bon , ma fait economiser pas mal d heures de travail !
cs_DonPedro Messages postés 1 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 15 juillet 2004
15 juil. 2004 à 10:31
Excellente contrib

trop fort
cs_jenial Messages postés 10 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 23 juillet 2004
22 déc. 2003 à 11:49
C trop bon,

c ce que je chercher, simplicité et efficacité,

Merci et meilleur voeux.

cs_Obelix Messages postés 3 Date d'inscription samedi 24 février 2001 Statut Membre Dernière intervention 7 avril 2003
3 avril 2003 à 07:25
EXCELLENT !!!!
Cela peut être exploité et modélisé pour l'exportation vers d'autres systèmes SQL via le moteur ADO (ODBC) par l'execution de réquetes !!!

Encore bravo !!!

Pat
Rejoignez-nous