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 !

ACCEDER À UN FICHIER TEXTE ET METTRE LE CONTENU DANS UNE TABLE BDD


Information sur la source

Catégorie :VBA Classé sous : fichier text, BDD, split Niveau : Débutant Date de création : 05/11/2007 Vu / téléchargé: 5 695 / 601

Note :
Aucune note

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

Description

Bonjour
ce code n'est pas une invention mais j'espere qu'il peut vous aider MAY et qui en a besoin.

NB:il faut regarder le code et creer une BDD dans C:\
vous trouvez le fichier et la BDD dans le zip (.rar)placer les dans c:\
 

Source

  • Option Explicit
  • 'déclaration de la variable qui contiendra le provider et le chemin de la B.D
  • Public bd As New ADODB.Connection
  • 'déclaration de la variable qui contiendra la commande
  • Public cmdado As New ADODB.Command
  • 'déclaration de la variable qui contiendra le nom de la table
  • Public tb As New ADODB.Recordset
  • 'déclaration de la variable qui contiendra le choix de l'utilisateur dans les msgbox
  • Dim msg1 As String
  • 'déclaration des variables pour le redimmensionnement des contrôles de la form
  • Dim lar As Long, lng As Long
  • Private Sub ajouter_Click()
  • Dim Import As Object
  • On Error Resume Next
  • 'permet d'importer le fichier texte dans la bdd
  • Import = CreateObject("Access.Application")
  • Import.OpenCurrentDatabase ("c:\basefichier.mdb") 'pour importer les données d'un .txt
  • DoCmd.TransferText AcTextTransferType.acImportDelim, "Test Import Specification ", "test", "c:\test.txt"
  • bd.Refresh
  • MsgBox "Création Bd terminée"
  • ListView1.ListItems.Clear
  • ListView1.ColumnHeaders.Clear
  • ListView1.ColumnHeaders.Add , , "ID", (ListView1.Width * (2 / 22)), lvwColumnLeft
  • ListView1.ColumnHeaders.Add , , "Prenom", (ListView1.Width * (4 / 22)), lvwColumnLeft
  • ListView1.ColumnHeaders.Add , , "nom", (ListView1.Width * (4 / 19)), lvwColumnLeft
  • ListView1.ColumnHeaders.Add , , "Tel", (ListView1.Width * (4 / 22)), lvwColumnLeft
  • ListView1.ColumnHeaders.Add , , "ville", (ListView1.Width * (4 / 22)), lvwColumnLeft
  • ListView1.View = lvwReport
  • cmdado.CommandText = "select * from test"
  • tb.Requery
  • Dim ListItem As ListItem ' Pour affichage du résultat
  • ' M.A.j de la ListView
  • ListView1.ListItems.Clear
  • ' Préparation de la commande
  • cmdado.CommandText = "select * from test"
  • ' Execution de la commande
  • tb.Requery
  • On Error Resume Next
  • ' tant qu'il y a un enregistrement l'afficher (fin du fichier)
  • While (Not tb.EOF)
  • If (tb.RecordCount <> 0) Then
  • Set ListItem = ListView1.ListItems.Add(, , CStr(tb!ID))
  • If Not IsNull(tb!prenom) Then ListItem.SubItems(1) = CStr(tb!prenom)
  • If Not IsNull(tb!nom) Then ListItem.SubItems(2) = CStr(tb!nom)
  • If Not IsNull(tb!tel) Then ListItem.SubItems(3) = CStr(tb!tel)
  • If Not IsNull(tb!ville) Then ListItem.SubItems(4) = CStr(tb!ville)
  • End If
  • ' enregistrement suivant
  • tb.MoveNext
  • Wend
  • End Sub
  • Private Sub decouper_Click() ' ouvrir un fichier avec SPLIT
  • Dim VarTimeBase() As String ' tableau de ligne sans delimitateur
  • Dim a As String
  • Dim i, j As Integer
  • i = 0
  • Text1 = Text1 + Chr$(13) + Chr$(10)
  • Open "C:\test.txt" For Input As #1
  • While Not EOF(1)
  • Input #1, a$ ''' lire la 1ere ligne tel kelle et mets la dans la variable a
  • VarTimeBase() = Split(a$, ";") ' tableu ki contient la ligne splité
  • For i = 0 To UBound(VarTimeBase)
  • Text1 = Text1 + VarTimeBase(i)
  • Next i
  • Text1 = Text1 + Chr$(13) + Chr$(10) ' retour chariot apres chake ligne
  • Wend
  • Close #1
  • End Sub
  • Private Sub Form_Load()
  • bd.Provider = "Microsoft.jet.oledb.4.0"
  • bd.ConnectionString = "c:\basefichier.mdb"
  • bd.Open
  • cmdado.ActiveConnection = Me.bd
  • cmdado.CommandText = "select * from test"
  • tb.CursorLocation = adUseClient
  • tb.CursorType = adOpenDynamic
  • tb.LockType = adLockPessimistic
  • tb.Open cmdado
  • '' pour acceder a un fichier et l afficher tel qu il est
  • Dim stream As New ADODB.stream
  • stream.Charset = "UTF-8"
  • stream.Open
  • stream.LoadFromFile "C:\test.txt"
  • Text1.Text = stream.ReadText
  • Text1 = Text1 + Chr$(13) + Chr$(10)
  • Text1 = Text1 + Chr$(13) + Chr$(10)
  • stream.Close
  • End Sub
Option Explicit


'déclaration de la variable qui contiendra le provider et le chemin de la B.D
Public bd As New ADODB.Connection

'déclaration de la variable qui contiendra la commande
Public cmdado As New ADODB.Command

'déclaration de la variable qui contiendra le nom de la table
Public tb As New ADODB.Recordset

'déclaration de la variable qui contiendra le choix de l'utilisateur dans les msgbox
Dim msg1 As String

'déclaration des variables pour le redimmensionnement des contrôles de la form
Dim lar As Long, lng As Long


Private Sub ajouter_Click()
 Dim Import As Object

 On Error Resume Next
 'permet d'importer le fichier texte dans la bdd
 Import = CreateObject("Access.Application")
 Import.OpenCurrentDatabase ("c:\basefichier.mdb")                  'pour importer les données d'un .txt
 DoCmd.TransferText AcTextTransferType.acImportDelim, "Test Import Specification ", "test", "c:\test.txt"
 bd.Refresh
 MsgBox "Création Bd terminée"
ListView1.ListItems.Clear
        ListView1.ColumnHeaders.Clear
        ListView1.ColumnHeaders.Add , , "ID", (ListView1.Width * (2 / 22)), lvwColumnLeft
        ListView1.ColumnHeaders.Add , , "Prenom", (ListView1.Width * (4 / 22)), lvwColumnLeft
        ListView1.ColumnHeaders.Add , , "nom", (ListView1.Width * (4 / 19)), lvwColumnLeft
        ListView1.ColumnHeaders.Add , , "Tel", (ListView1.Width * (4 / 22)), lvwColumnLeft
        ListView1.ColumnHeaders.Add , , "ville", (ListView1.Width * (4 / 22)), lvwColumnLeft

ListView1.View = lvwReport
cmdado.CommandText = "select * from test"
tb.Requery
 Dim ListItem As ListItem           ' Pour affichage du résultat
   
    
    ' M.A.j de la ListView
    ListView1.ListItems.Clear
    
    
    ' Préparation de la commande
    cmdado.CommandText = "select * from test"
        
    ' Execution de la commande
    tb.Requery
    On Error Resume Next
    ' tant qu'il y a un enregistrement l'afficher (fin du fichier)
    While (Not tb.EOF)

      If (tb.RecordCount <> 0) Then
          Set ListItem = ListView1.ListItems.Add(, , CStr(tb!ID))
          If Not IsNull(tb!prenom) Then ListItem.SubItems(1) = CStr(tb!prenom)
          If Not IsNull(tb!nom) Then ListItem.SubItems(2) = CStr(tb!nom)
          If Not IsNull(tb!tel) Then ListItem.SubItems(3) = CStr(tb!tel)
          If Not IsNull(tb!ville) Then ListItem.SubItems(4) = CStr(tb!ville)
          
End If
   
      ' enregistrement suivant
      tb.MoveNext
           
    Wend
 
End Sub

Private Sub decouper_Click() ' ouvrir un fichier avec SPLIT
Dim VarTimeBase() As String ' tableau de ligne sans delimitateur
Dim a As String
Dim i, j As Integer
i = 0
Text1 = Text1 + Chr$(13) + Chr$(10)
Open "C:\test.txt" For Input As #1
While Not EOF(1)
    Input #1, a$            ''' lire la 1ere ligne tel kelle et mets la dans la variable a
    VarTimeBase() = Split(a$, ";")  ' tableu ki contient la ligne splité
   
    For i = 0 To UBound(VarTimeBase)
    Text1 = Text1 + VarTimeBase(i)
    Next i
    Text1 = Text1 + Chr$(13) + Chr$(10)  ' retour chariot apres chake ligne
       
Wend
Close #1
End Sub


Private Sub Form_Load()
bd.Provider = "Microsoft.jet.oledb.4.0"
        bd.ConnectionString = "c:\basefichier.mdb"
        bd.Open
        cmdado.ActiveConnection = Me.bd
         
        cmdado.CommandText = "select * from test"
        tb.CursorLocation = adUseClient
        tb.CursorType = adOpenDynamic
        tb.LockType = adLockPessimistic
        tb.Open cmdado

'' pour acceder a un fichier et l afficher tel qu il est
Dim stream As New ADODB.stream
stream.Charset = "UTF-8"
stream.Open
stream.LoadFromFile "C:\test.txt"
Text1.Text = stream.ReadText
Text1 = Text1 + Chr$(13) + Chr$(10)
Text1 = Text1 + Chr$(13) + Chr$(10)
stream.Close

End Sub

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

PB chargement objet OLE depuis BDD [ par klamp ] Bonjour,j'ai un petit soucis, je n'arrive pas a récuperer dans un object OLE une image stockée dans une base Access 2000.Je précises que je travailles Connextion BDD [ par obesson ] Ou puis-je trouver un cours m'expliquant ce que sont ADO, DAO, ODBC, ce que permettent ou pas chacuns de ces moyens d'access aux données. Connexion à une BDD Oracle [ par delphine ] Je recherche à établir des connexions à des bases de données Oracle, sans utiliser les drivers ODBC, mais en utilisant SQL Net. Quelqu'un a-t-il déjà Combo en asp avec BDD [ par Le_grand ] BonjourVoila mon probleme est le suivantJ'ai une base de données declarées dans mon ODBC representant une liste de pays avec leur drapeaux et autres r partage de bdd distante par appli vb [ par tommy ] partage de bdd distante par appli vbHé oui je souhaiterai partager une base de donnée par une application vbje voudrais pouvoir ajouter, modifier ou s Compter le nombre de mots dans une phrase sans split [ par hub ] Bonjour à tous, pouvais vous m'indiquer comment compter le nombre de mots dans une phrase sans utiliser split. (Je ne possède que vb4).Au passage si q comparer un champs texte avec un champs bdd [ par josi ] je peche depuis un petit moment sur une requète (vb6)je voudrais comparer un champs de bdd( numérique)avec une saisie dans une textboxque je transform problème avec la fonction split [ par bllp ] je cherche à transformer une chaine de caractère (string) en un tableau. J'ai donc essayé d'utiliser la fonction split (prévu à cet effet). Malheureus Connexion BDD Sql Server7 [ par hub ] Bonjour à tous, où puis-je trouver un exemple (code source) de connexion à une bdd d'un serveur internet en utilisant du vb.Je souhaite utiliser toute INTERROGER UNE BDD ACCESS A DISTANCE !!!! [ par Foub ] Bonjour !Est-ce qqun pourrait me mailer un listing qui enregistre dans un tableau à deux dimensions, les informations contenues dans une base de donné


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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é.