Fich.txt to tab.mdb

bilalstar Messages postés 70 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 3 octobre 2005 - 4 mai 2005 à 15:33
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 - 11 mai 2005 à 09:15
bonjour;


<TD id=HB_Focus_Element vAlign=top width=\"100%\" background=\"\" height=250 body UNSELECTAB<>j'ai un fichier.txt qui contient des données comme la suivant:

nom1;prenom1;age1
nom2;prenom2;age2
nom3;prenom3;age3
.......

je réflechit au code tel que lorsque
je clic sur un bouton, mon prog va chercher ce fich.txt et met les
donneés dans une table Access (une seule table à trois colonnes Nom,Prenom,Age)

j'ai essayé avec ce code mais ca fonctionne pas.

Dim Bd As Database
Dim Table As Recordset
Dim Tableau()
Dim a As String

Set Bd = OpenDatabase(\"nom_BD.mdb\")
Set Table = Bd.OpenRecordset(\"nom_table\", dbOpenDynaset)

Open \"c:\fichier.txt\" For Input As #1

While Not EOF(1)
Input #1, a
Tableau() = Split(a, \";\", , vbTextCompare)
Table.AddNew
Table(1).Value = Tableau(1)
Table(2).Value = Tableau(2)
Table(3).Value = Tableau(3)
Table.Update
Wend

Close #1

si quelqu'un peut m'aider ca sera un grand plaisir.

merci a vous tous;
le savoir s'agrandit d'autant que l'on partage.

5 réponses

cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
4 mai 2005 à 16:04
Salut,

Ce sera plus facile avec ADODB à mon avis

Dim conbase As ADODB.Connection
Dim record As ADODB.Recordset

Private Sub Form_Load()
Dim tableau() As String
Set conn = New ADODB.Connection
conn.Provider = "MICROSOFT.JET.OLEDB.4.0"
conn.ConnectionString = "c:\test.mdb"
conn.CursorLocation = adUseClient
conn.Open

Set record = New ADODB.Recordset
req = "select * from Table1;"

record.Open req, conn, adOpenDynamic, adLockOptimistic


Open "fichier.txt" For Input As #1


While Not EOF(1)
Input #1, a
tableau() = Split(a, ";", , vbTextCompare)
With record
.AddNew
!nom = tableau(0)
!prenom = tableau(1)
!age = tableau(2) ou Cint(tableau(2)) si ton champ est en numérique
.Update
End With
Wend


Close #1
record.Close


End Sub
0
bilalstar Messages postés 70 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 3 octobre 2005
4 mai 2005 à 16:36
merci pour la reponse,

ca sera tres gentil de me donner plus d'explication sur ADODB, j'ai jamais travaillé avec en fait.
est ce qu'il a des composantes ou des references a ajouter???

merci a vous tous;
le savoir s'agrandit d'autant que l'on partage
.


<TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 UNSELECTAB< body>
0
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
4 mai 2005 à 16:44
Il faut ajouter la référence Microsoft AtiveX Data Objects 2.0 Library.

Pour le reste tu trouveras pas mal d'infos sur

http://drq.developpez.com/vb/tutoriels/ADO/
0
bilalstar Messages postés 70 Date d'inscription dimanche 27 mars 2005 Statut Membre Dernière intervention 3 octobre 2005
9 mai 2005 à 09:15
<TD id=HB_Focus_Element vAlign=top width=\"100%\" background=\"\" height=250 UNSELECTAB< body>bonjour;
merci piur vos repenses.
j'ai reussi a le faire.mais a chaque fois je rajoute le contenu du fich.txt a la table qui contient déja des enregistrement. je voudrais tout d'abord les effacer et puis rajouter les nouvelles enregistrements.

merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
11 mai 2005 à 09:15
Salut,

Crée une requête de suppression :

req2 ="DELETE * FROM latable"

Puis exécute-la :

record.Open req2, conn, adOpenDynamic, adLockOptimistic
0
Rejoignez-nous