Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

STOCKAGE DE CHAMPS D'UN FICHIER DANS UN TABLEAU POUR REMPLISSAGE DE BASE MYSQL


Information sur la source

Catégorie :Base de Donnees Classé sous : fichier, sql, stockage, remplir Niveau : Débutant Date de création : 22/03/2006 Date de mise à jour : 16/10/2008 11:29:03 Vu : 3 754

Note :
Aucune note

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

Description

Voici un code qui permet douvrir un fichier, de le parcourir et de stocker les champs qui sont separes par un ";"
dans un tableau afin quune insertion dans une table dune base de donnees mysql sexecute sans probleme.
 

Source

  • Dim record As New adodb.Recordset
  • 'CONNEXION A LA BASE DE DONNÉS
  • Dim Conn As New adodb.Connection 'Connecteur à la base
  • Dim Chaine As String 'Chaîne de connexion à ODBC
  • Private Type article
  • codeArticle As String * 15 'correspond au premier champs
  • designationArticle As String * 35
  • designationAnglaise As String * 35
  • designation2 As String * 35
  • unité_de_mesure As String * 2
  • codeSource As String * 1
  • prixVente As String * 14
  • coutUnitaireStandart As String * 14
  • cycleDappro As String * 4
  • dateModifEdition As String * 11
  • edition As String * 4
  • FormatPlan As String * 1
  • dateDernMAJ As String * 11
  • dateCreation As String * 11
  • unitéAchat As String * 2
  • coeff As String * 13
  • unitedeVente As String * 2
  • coeffUV As String * 13
  • codeFamilleProduit As String * 2
  • codeFamilleArticle As String * 4
  • groupeProduction As String * 2
  • caractere1 As String * 2
  • End Type
  • Private Function FillArticles(LaLigne As String) As article
  • Dim TesDonnees() As String
  • Dim TmpArticle As article
  • TesDonnees = Split(LaLigne, ";")'créer un tableau avec les données
  • With TmpArticle
  • .codeArticle = TesDonnees(0)
  • .designationArticle = TesDonnees(1)
  • .designationAnglaise = TesDonnees(2)
  • .designation2 = TesDonnees(3)
  • .unité_de_mesure = TesDonnees(4)
  • .codeSource = TesDonnees(5)
  • .prixVente = TesDonnees(6)
  • .coutUnitaireStandart = TesDonnees(7)
  • .cycleDappro = TesDonnees(8)
  • .dateModifEdition = TesDonnees(9)
  • .edition = TesDonnees(10)
  • .FormatPlan = TesDonnees(11)
  • .dateDernMAJ = TesDonnees(12)
  • .dateCreation = TesDonnees(13)
  • .unitéAchat = TesDonnees(14)
  • .coeff = TesDonnees(15)
  • .unitedeVente = TesDonnees(16)
  • .coeffUV = TesDonnees(17)
  • .codeFamilleProduit = TesDonnees(18)
  • .codeFamilleArticle = TesDonnees(19)
  • .groupeProduction = TesDonnees(20)
  • End With
  • FillArticles = TmpArticle
  • 'REMPLISSAGE DE LA TABLE
  • With TmpArticle
  • 'On crée la requête
  • req2 = "INSERT INTO article VALUES ('" _
  • & Replace(Trim(.codeArticle), "'", "\'") & "','" _
  • & Replace(Trim(.designationArticle), "'", "\'") & "','" _
  • & Replace(Trim(.designationAnglaise), "'", "\'") & "','" _
  • & Replace(Trim(.unité_de_mesure), "'", "\'") & "','" _
  • & Replace(Trim(.codeSource), "'", "\'") & "','" _
  • & Replace(Trim(.edition), "'", "\'") & "','" _
  • & Replace(Trim(.FormatPlan), "'", "\'") & "');"
  • End With
  • 'On met à jour la base
  • If Asc(TmpArticle.codeArticle) <> 0 Then
  • With record
  • .ActiveConnection = Conn
  • .Source = req2
  • .Open
  • End With
  • End If
  • End Function
  • Private Sub form_Load()
  • 'Initialisation
  • Chaine = "driver={MySQL ODBC 3.51 Driver};" _
  • & "database=ordre_de_fabrication;" _
  • & "server=localhost;" _
  • & "uid=root;" _
  • & "pwd=123456;" _
  • & "port=;" _
  • & "option=;" _
  • & "stmt=;"
  • 'Connexion à MySQL
  • With Conn
  • .ConnectionString = Chaine
  • .Open
  • End With
  • Dim LaLigne As String
  • Dim LesArticles() As article
  • ReDim LesArticles(0)
  • Open "chemin du fichier/fichier" For Input As #1
  • While Not EOF(1)
  • Line Input #1, LaLigne
  • LesArticles(UBound(LesArticles)) = FillArticles(LaLigne)
  • ReDim Preserve LesArticles(UBound(LesArticles) + 1)
  • Wend
  • Close #1
  • End Sub
Dim record As New adodb.Recordset
'CONNEXION A LA BASE DE DONNÉS
Dim Conn As New adodb.Connection 'Connecteur à la base
Dim Chaine As String 'Chaîne de connexion à ODBC


Private Type article
        codeArticle As String * 15 'correspond au premier champs
        designationArticle As String * 35
        designationAnglaise As String * 35
        designation2 As String * 35
        unité_de_mesure As String * 2
        codeSource As String * 1
        prixVente As String * 14
        coutUnitaireStandart As String * 14
        cycleDappro As String * 4
        dateModifEdition As String * 11
        edition As String * 4
        FormatPlan As String * 1
        dateDernMAJ As String * 11
        dateCreation As String * 11
        unitéAchat As String * 2
        coeff As String * 13
        unitedeVente As String * 2
        coeffUV As String * 13
        codeFamilleProduit As String * 2
        codeFamilleArticle As String * 4
        groupeProduction As String * 2
        caractere1 As String * 2
    End Type
    


Private Function FillArticles(LaLigne As String) As article

Dim TesDonnees() As String
Dim TmpArticle As article

TesDonnees = Split(LaLigne, ";")'créer un tableau avec les données 

With TmpArticle
    .codeArticle = TesDonnees(0)
    .designationArticle = TesDonnees(1)
    .designationAnglaise = TesDonnees(2)
    .designation2 = TesDonnees(3)
    .unité_de_mesure = TesDonnees(4)
    .codeSource = TesDonnees(5)
    .prixVente = TesDonnees(6)
    .coutUnitaireStandart = TesDonnees(7)
    .cycleDappro = TesDonnees(8)
    .dateModifEdition = TesDonnees(9)
    .edition = TesDonnees(10)
    .FormatPlan = TesDonnees(11)
    .dateDernMAJ = TesDonnees(12)
    .dateCreation = TesDonnees(13)
    .unitéAchat = TesDonnees(14)
    .coeff = TesDonnees(15)
    .unitedeVente = TesDonnees(16)
    .coeffUV = TesDonnees(17)
    .codeFamilleProduit = TesDonnees(18)
    .codeFamilleArticle = TesDonnees(19)
    .groupeProduction = TesDonnees(20)
End With

FillArticles = TmpArticle

'REMPLISSAGE DE LA TABLE         
       With TmpArticle
        'On crée la requête
        req2 = "INSERT INTO article VALUES ('" _
                & Replace(Trim(.codeArticle), "'", "\'") & "','" _
                & Replace(Trim(.designationArticle), "'", "\'") & "','" _
                & Replace(Trim(.designationAnglaise), "'", "\'") & "','" _
                & Replace(Trim(.unité_de_mesure), "'", "\'") & "','" _
                & Replace(Trim(.codeSource), "'", "\'") & "','" _
                & Replace(Trim(.edition), "'", "\'") & "','" _
                & Replace(Trim(.FormatPlan), "'", "\'") & "');"

        End With
        'On met à jour la base
        If Asc(TmpArticle.codeArticle) <> 0 Then
               With record
                    .ActiveConnection = Conn
                    .Source = req2
                    .Open
               End With
        End If

End Function



Private Sub form_Load()

'Initialisation
Chaine = "driver={MySQL ODBC 3.51 Driver};" _
& "database=ordre_de_fabrication;" _
& "server=localhost;" _
& "uid=root;" _
& "pwd=123456;" _
& "port=;" _
& "option=;" _
& "stmt=;"

'Connexion à MySQL
With Conn
.ConnectionString = Chaine
.Open
End With


Dim LaLigne As String
Dim LesArticles() As article
ReDim LesArticles(0)
Open "chemin du fichier/fichier" For Input As #1

    While Not EOF(1)
        Line Input #1, LaLigne
        LesArticles(UBound(LesArticles)) = FillArticles(LaLigne)
        ReDim Preserve LesArticles(UBound(LesArticles) + 1)
    Wend

Close #1

End Sub

Historique

16 octobre 2008 11:29:03 :
- petite erreur de ma part sur le chemin rectifié

Commentaires et avis

signaler à un administrateur
Commentaire de elisabeth_nov le 22/03/2006 13:57:07

salut, je voulais juste remercier ceux qui mont aider a faire ce code. merci a jrivet pour tout laide quil ma apporter.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

executer un fichier SQL [ par 98488463 ] salut a tous;je désire lancer et executer un fichier SQL qui alimente une table Oracle depuis une application VB6 Fichier mdb et fichier dbo [ par cretthie ] Bonjour,J'ai une petit question que j'ai deja pose dans le Theme "ADO".Quelle est la difference entre un fichier mdb de visual strudio 2005 profession SQL pour fichier .txt ? [ par antoine_ferard ] Bonjour,Ma base de données est au format .txt...Pour l'instant, je créé des fonctions pour parcourir le fichier, mais je m'apperçois que ça deviendra remplir une base SQL a partir d'un fichier txt(urgent= [ par nadia2080 ] salut tout le monde je suis aucours de realiser une application qui fait le transfert des donnes d'un fichier txt vers une base de donnees sql j'ai fa VB et SQL help plz [ par PoMmZz ] Bonjour à tous, Voilà mon problème, j'ai du créé un base de donnée en SQL pour un travail à rendre en septembre qui comporte 5 tables, elles sont tou Problème d'accès Excel pour Import [ par amohammed ] Bonjour,Je suis en train de développer une appli web en asp net 2.0.J'ai besoin de faire des imports à partir d'un fichier Excel vers sql server.Tout importation de fichier excel vers sql server [ par ghizounette ] Bonjour,Je veux un petit programme qui permet de importer des donnees de fichier excel ou .txt vers sql server (table) en vb.net 2003ou bien recuperer [VB6] stockage dans un fichier texte [ par simgoku ] Bonjour a tous, J'aurais voulu savoir si il existait une commande pour enregistrer dans un fichier texte et lire dans un fichier texte? Je souhaiterai compter les lignes d'une table access [ par pyb54 ] Salutations !prologue:j'importe un fichier excel dans une base access via vba, mais on m'a demandé de rajouter des champs et de les remplir, en clair remplir une base de donne acces avec une fichier excel au niveau asp.et [ par sniperdd ] j' ai une base de donne accès et je veux remplir par une  base de donne avec le fichier Excel par un code aspet que le feuille de style Excel c'est un


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.