Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

transformer un fichier texte en table access avec vb6

13 réponses
Avatar
Michel Voirain
Bonjour à tous,
Je reçois par mail un fichier texte (exporté d'une base access). Avec VB6,
j'aimerai le transformer en base access pour pouvoir le traiter plus
facilement!
Est-ce possible? Une piste!
Merci à tous,
Michel

10 réponses

1 2
Avatar
Aski
Hello Michel Voirain,

Tu as savamment écrit :

Bonjour à tous,
Je reçois par mail un fichier texte (exporté d'une base access). Avec
VB6, j'aimerai le transformer en base access pour pouvoir le traiter
plus facilement!
Est-ce possible? Une piste!
Merci à tous,
Michel



J'ai réalisé quelque chose d'analogue en écrivant en VB6 des fichiers texte,
CSV (poing virgule entre chaque enregistrement et VbCrLf en fin de ligne.
Excel les reconnaît et sort directement un tableau de valeurs.

Tu devarais t'en sortir facilement ainsi.
Avatar
Jacques93
Bonjour Michel Voirain,
Michel Voirain a écrit :
Bonjour à tous,
Je reçois par mail un fichier texte (exporté d'une base access). Avec VB6,
j'aimerai le transformer en base access pour pouvoir le traiter plus
facilement!
Est-ce possible? Une piste!
Merci à tous,
Michel




En complément de la réponse d'Aski, il serait intéressant de savoir si
tu disposes d'Access et/ou Excel, et si tu veux travailler avec DAO ou
ADO, les méthodes de créations de tables et d'importations de données
sont grandement liées à cet environnement.

--
Cordialement,

Jacques.
Avatar
Michel Voirain
Merci pour vos réponses!
Précisions : je ne dispose pas d'excel, ni d'access sur les postes où je
crée l'application. C'est pourquoi, j'utilise VB6.
Mon application fonctionne très bien avec une base access. Mais l'envoi des
informations en fichier joint peut poser des problèmes, car plusieurs postes
partage la même connexion alternativement pour la reception des données. En
mode texte, le fichier fait quelques ko alors qu'en mode access il peut
faire 300ko. Et pas d'adsl!
Je retravaille en fin d'après-midi, sur mon application.
Encore merci,
Michel

"Jacques93" a écrit dans le message de news:
O%23AA8D$
Bonjour Michel Voirain,
Michel Voirain a écrit :
Bonjour à tous,
Je reçois par mail un fichier texte (exporté d'une base access). Avec
VB6, j'aimerai le transformer en base access pour pouvoir le traiter plus
facilement!
Est-ce possible? Une piste!
Merci à tous,
Michel



En complément de la réponse d'Aski, il serait intéressant de savoir si tu
disposes d'Access et/ou Excel, et si tu veux travailler avec DAO ou ADO,
les méthodes de créations de tables et d'importations de données sont
grandement liées à cet environnement.

--
Cordialement,

Jacques.


Avatar
Jean-marc
Michel Voirain wrote:
Merci pour vos réponses!
Précisions : je ne dispose pas d'excel, ni d'access sur les postes où
je crée l'application. C'est pourquoi, j'utilise VB6.
Mon application fonctionne très bien avec une base access. Mais
l'envoi des informations en fichier joint peut poser des problèmes,
car plusieurs postes partage la même connexion alternativement pour
la reception des données. En mode texte, le fichier fait quelques ko
alors qu'en mode access il peut faire 300ko. Et pas d'adsl!
Je retravaille en fin d'après-midi, sur mon application.
Encore merci,
Michel



Hello,

En complément des questions précédentes:

Je te résume ce que j'ai compris:

De 1 à N personnes travaillent sur une application X.
Ces N personnes t'envoient en pièce jointe N fichier(s)
texte, qui contient(nnent) des informations.

Tu veux recevoir ces fichiers texte sur une autre application (Y)
et ré-insérer le contenu de ce/ces fichier(s) texte dans une base Access.

Questions:

Tous les fichiers reçus ont ils la même structure, immuable?
Si oui, il est donc possible d'avoir une table déjà créée et
il suffit de parser le fichier et d'insérer les données dans la
table ?

Faut il AJOUTER les données de chaque fichier dans une table unique?

As tu besoin de mettre les données en base "pour toujours" ou est ce juste
le temps du traitement (par ex sortir des stats à coup de SQL) ?

En fait je suis sur que c'est vraiment tout simple, il faut juste une
bonne descritpion du problème. Le reste semble assez aisé.

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Michel Voirain
Merci jean-Marc!
Voici une description du projet global. Une association de loisirs propose
pendant les vacances d'été des journées de loisirs dans 5 centres. les
inscriptions se font au siège et l'accueil dans les centres. j'ai créé au
siège une application avec Access 2003. Tous les jours le siège envoie la
liste des inscrits du lendemain : c'est une table exportée en mode texte.
Les centres renvoient la liste des enfants présents. Les centres se
partagent une connexion internet bas débit. Le seul problème (pour le
moment!), c'est la réception du fichier texte avec VB6 et son émission en
VB6 (le format doit être le même que celui d'export d'Access). Mais ayant
recupéré des informations à droite et à gauche(merci à tous!), je devrai tôt
ou tard trouver la solution! Je vous tiens au courant!
Un tuyau supplémentaire sera accepté avec joie. Je ne peux travailler sur
l'application qu'en fin d'aprè-midi.
Michel


"Jean-marc" a écrit dans le message
de news: 465298c1$0$13855$
Michel Voirain wrote:
Merci pour vos réponses!
Précisions : je ne dispose pas d'excel, ni d'access sur les postes où
je crée l'application. C'est pourquoi, j'utilise VB6.
Mon application fonctionne très bien avec une base access. Mais
l'envoi des informations en fichier joint peut poser des problèmes,
car plusieurs postes partage la même connexion alternativement pour
la reception des données. En mode texte, le fichier fait quelques ko
alors qu'en mode access il peut faire 300ko. Et pas d'adsl!
Je retravaille en fin d'après-midi, sur mon application.
Encore merci,
Michel



Hello,

En complément des questions précédentes:

Je te résume ce que j'ai compris:

De 1 à N personnes travaillent sur une application X.
Ces N personnes t'envoient en pièce jointe N fichier(s)
texte, qui contient(nnent) des informations.

Tu veux recevoir ces fichiers texte sur une autre application (Y)
et ré-insérer le contenu de ce/ces fichier(s) texte dans une base Access.

Questions:

Tous les fichiers reçus ont ils la même structure, immuable?
Si oui, il est donc possible d'avoir une table déjà créée et
il suffit de parser le fichier et d'insérer les données dans la
table ?

Faut il AJOUTER les données de chaque fichier dans une table unique?

As tu besoin de mettre les données en base "pour toujours" ou est ce juste
le temps du traitement (par ex sortir des stats à coup de SQL) ?

En fait je suis sur que c'est vraiment tout simple, il faut juste une
bonne descritpion du problème. Le reste semble assez aisé.

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/




Avatar
Jean-marc
Michel Voirain wrote:
Merci jean-Marc!
Voici une description du projet global. Une association de loisirs
propose pendant les vacances d'été des journées de loisirs dans 5
centres. les inscriptions se font au siège et l'accueil dans les
centres. j'ai créé au siège une application avec Access 2003. Tous
les jours le siège envoie la liste des inscrits du lendemain : c'est
une table exportée en mode texte. Les centres renvoient la liste des
enfants présents. Les centres se partagent une connexion internet bas
débit. Le seul problème (pour le moment!), c'est la réception du
fichier texte avec VB6 et son émission en VB6 (le format doit être le
même que celui d'export d'Access). Mais ayant recupéré des
informations à droite et à gauche(merci à tous!), je devrai tôt ou
tard trouver la solution! Je vous tiens au courant! Un tuyau
supplémentaire sera accepté avec joie. Je ne peux travailler
sur l'application qu'en fin d'aprè-midi.
Michel



OK, je vois.

Bien je pense qu'un design possible est le suivant.
Soit X l'appli dans les centres et Y l'appli au siège.

L'appli au siège doit disposer d'une fonction permettant d'exporter
les données en format texte dans un fichier.

Les applis centres doivent disposer d'une fonction d'import du fichier.
Elles doivent disposer d'une fonction d'export pour le siège.

Enfin les sièges doivent disposer d'une fonction d'import.


Les 2 fonctions d'export peuvent être les mêmes, voici comment.

Il suffit de créer une focntion Export2File, suffisament générique.
Elle prendra en paramètre:
- le nom de la base de données
- une requête
- un nom de fichier
- le séparateur à employer


Voici par exemple une fonction d'export générique (je l'ai fait en DAO
mais il est facile de faire pareil en ADO):

Private Function Export2File(ByVal dbName As String, _
ByVal szSQL As String, _
ByVal fileName As String, _
ByVal sep As String, _
ByRef errCode As Long, _
ByRef errDesc As String) As Boolean
Dim db As Database
Dim rs As Recordset
Dim i As Long
Dim f As Integer

On Error GoTo Export2File_ERR

f = FreeFile
Open fileName For Output As #f

Set db = OpenDatabase(dbName)
Set rs = db.OpenRecordset(szSQL)
If rs.EOF And rs.BOF Then
' rien à exporter
Else
rs.MoveFirst
While Not rs.EOF
For i = 0 To rs.Fields.Count - 1
If i <> rs.Fields.Count - 1 Then
Print #f, rs.Fields(i) & sep;
Else
Print #f, rs.Fields(i)
End If
Next i
rs.MoveNext
Wend
End If
rs.Close
db.Close
Close #f
Export2File = True

Export2File_END:
Exit Function

Export2File_ERR:
errCode = Err.Number
errDesc = Err.Description
Export2File = False
Resume Export2File_END

End Function


Et pour l'utiliser:

Dim ret As Boolean
Dim errCode As Long
Dim errDesc As String


ret = Export2File("c:dbcentre.mdb", "SELECT * FROM Inscrits",
"c:export.txt", ";", errCode, errDesc)
If ret Then
' tout va bien
Else
' probleme
MsgBox "Souci : errCode = " & errCode & " - " & errDesc
End If

Le fait d'avoir comme second paramètre du SQL permet de l'employer
aussi bien pour SIEGE -> centres que pour Centres -> SIEGE

L'import sera très similaire, en tout cas au niveau du principe.

Que ce soit au niveau centre ou au niveau siège, je te conseillerais bien
de faire les imports dans une table temporaire ("staging table"). Il sera
facile en suite d'utiliser les données de l'import pour mettre à jour
la ou les tables principales.

On pourra créer à l'avance les staging tables dans les bases siege et
centres;
ce n'est pas nécessaire de recréer la structure à chaque fois.

La procédure d'import pourra commencer par vider la table stagging avant
d'insérer
les données du fichier.

Voici un exemple d'implémentation générique pour ImportFromFile:

Note: la fonction suppose que la table 'TableName' existe et a une structure
(notamment le nombre et le type de champs) compatible avec les données que
l'on insère.

Il est possible qu'il faille faire qq conversions si on utilise pas des
champs texte.
On pourra au besoin faire un petit fichier de paramètrage pour les
conversions en fonction
des champs, je te laisse régler les détails.


Private Function ImportFromFile(ByVal dbName As String, _
ByVal tableName As String, _
ByVal fileName As String, _
ByVal sep As String, _
ByRef ErrCode As Long, _
ByRef errDesc As String) As Boolean
Dim db As Database
Dim rs As Recordset
Dim i As Long
Dim f As Integer
Dim t() As String
Dim s As String
Dim n As Long

On Error GoTo ImportFromFile_ERR

f = FreeFile
Open fileName For Input As #f
Set db = OpenDatabase(dbName)
Set rs = db.OpenRecordset(tableName)
While Not EOF(f)
Line Input #f, s
t() = Split(s, sep)
n = 0
rs.AddNew
For i = LBound(t()) To UBound(t())
' c'est ici qu'il faut peut etre faire
' l'une ou l'autre conversion de type.
rs.Fields(n) = t(i)
n = n + 1
Next i
rs.Update
Wend
rs.Close
db.Close
Close #f
ImportFromFile = True

ImportFromFile_END:
Exit Function

ImportFromFile_ERR:
ErrCode = Err.Number
errDesc = Err.Description
ImportFromFile = False
Resume ImportFromFile_END

End Function


Voila, espérant que cela t'aide :-)

Note: j'ai testé l'export, ça fonctionne. PAs testé l'import, ça doit aussi
être
ok, au détails de conversions (si nécessaire) près.

Bonne prog !

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Michel Voirain
Merci Jean-Marc! Le code pour exporter marche impec!
Le code import me pose problème là où tu ecris
' c'est ici qu'il faut peut etre faire l'une ou l'autre conversion de type.
: je nes sais pas quoi écrire !!! Alors, je fais encore appel à toi!
Je cherche de mon coté, mais je suis lessivé par ma dure journée!
En tout cas merci
Michel

"Jean-marc" a écrit dans le message
de news: 4652acc8$0$14240$
Michel Voirain wrote:
Merci jean-Marc!
Voici une description du projet global. Une association de loisirs
propose pendant les vacances d'été des journées de loisirs dans 5
centres. les inscriptions se font au siège et l'accueil dans les
centres. j'ai créé au siège une application avec Access 2003. Tous
les jours le siège envoie la liste des inscrits du lendemain : c'est
une table exportée en mode texte. Les centres renvoient la liste des
enfants présents. Les centres se partagent une connexion internet bas
débit. Le seul problème (pour le moment!), c'est la réception du
fichier texte avec VB6 et son émission en VB6 (le format doit être le
même que celui d'export d'Access). Mais ayant recupéré des
informations à droite et à gauche(merci à tous!), je devrai tôt ou
tard trouver la solution! Je vous tiens au courant! Un tuyau
supplémentaire sera accepté avec joie. Je ne peux travailler
sur l'application qu'en fin d'aprè-midi.
Michel



OK, je vois.

Bien je pense qu'un design possible est le suivant.
Soit X l'appli dans les centres et Y l'appli au siège.

L'appli au siège doit disposer d'une fonction permettant d'exporter
les données en format texte dans un fichier.

Les applis centres doivent disposer d'une fonction d'import du fichier.
Elles doivent disposer d'une fonction d'export pour le siège.

Enfin les sièges doivent disposer d'une fonction d'import.


Les 2 fonctions d'export peuvent être les mêmes, voici comment.

Il suffit de créer une focntion Export2File, suffisament générique.
Elle prendra en paramètre:
- le nom de la base de données
- une requête
- un nom de fichier
- le séparateur à employer


Voici par exemple une fonction d'export générique (je l'ai fait en DAO
mais il est facile de faire pareil en ADO):

Private Function Export2File(ByVal dbName As String, _
ByVal szSQL As String, _
ByVal fileName As String, _
ByVal sep As String, _
ByRef errCode As Long, _
ByRef errDesc As String) As Boolean
Dim db As Database
Dim rs As Recordset
Dim i As Long
Dim f As Integer

On Error GoTo Export2File_ERR

f = FreeFile
Open fileName For Output As #f

Set db = OpenDatabase(dbName)
Set rs = db.OpenRecordset(szSQL)
If rs.EOF And rs.BOF Then
' rien à exporter
Else
rs.MoveFirst
While Not rs.EOF
For i = 0 To rs.Fields.Count - 1
If i <> rs.Fields.Count - 1 Then
Print #f, rs.Fields(i) & sep;
Else
Print #f, rs.Fields(i)
End If
Next i
rs.MoveNext
Wend
End If
rs.Close
db.Close
Close #f
Export2File = True

Export2File_END:
Exit Function

Export2File_ERR:
errCode = Err.Number
errDesc = Err.Description
Export2File = False
Resume Export2File_END

End Function


Et pour l'utiliser:

Dim ret As Boolean
Dim errCode As Long
Dim errDesc As String


ret = Export2File("c:dbcentre.mdb", "SELECT * FROM Inscrits",
"c:export.txt", ";", errCode, errDesc)
If ret Then
' tout va bien
Else
' probleme
MsgBox "Souci : errCode = " & errCode & " - " & errDesc
End If

Le fait d'avoir comme second paramètre du SQL permet de l'employer
aussi bien pour SIEGE -> centres que pour Centres -> SIEGE

L'import sera très similaire, en tout cas au niveau du principe.

Que ce soit au niveau centre ou au niveau siège, je te conseillerais bien
de faire les imports dans une table temporaire ("staging table"). Il sera
facile en suite d'utiliser les données de l'import pour mettre à jour
la ou les tables principales.

On pourra créer à l'avance les staging tables dans les bases siege et
centres;
ce n'est pas nécessaire de recréer la structure à chaque fois.

La procédure d'import pourra commencer par vider la table stagging avant
d'insérer
les données du fichier.

Voici un exemple d'implémentation générique pour ImportFromFile:

Note: la fonction suppose que la table 'TableName' existe et a une
structure
(notamment le nombre et le type de champs) compatible avec les données que
l'on insère.

Il est possible qu'il faille faire qq conversions si on utilise pas des
champs texte.
On pourra au besoin faire un petit fichier de paramètrage pour les
conversions en fonction
des champs, je te laisse régler les détails.


Private Function ImportFromFile(ByVal dbName As String, _
ByVal tableName As String, _
ByVal fileName As String, _
ByVal sep As String, _
ByRef ErrCode As Long, _
ByRef errDesc As String) As Boolean
Dim db As Database
Dim rs As Recordset
Dim i As Long
Dim f As Integer
Dim t() As String
Dim s As String
Dim n As Long

On Error GoTo ImportFromFile_ERR

f = FreeFile
Open fileName For Input As #f
Set db = OpenDatabase(dbName)
Set rs = db.OpenRecordset(tableName)
While Not EOF(f)
Line Input #f, s
t() = Split(s, sep)
n = 0
rs.AddNew
For i = LBound(t()) To UBound(t())
' c'est ici qu'il faut peut etre faire
' l'une ou l'autre conversion de type.
rs.Fields(n) = t(i)
n = n + 1
Next i
rs.Update
Wend
rs.Close
db.Close
Close #f
ImportFromFile = True

ImportFromFile_END:
Exit Function

ImportFromFile_ERR:
ErrCode = Err.Number
errDesc = Err.Description
ImportFromFile = False
Resume ImportFromFile_END

End Function


Voila, espérant que cela t'aide :-)

Note: j'ai testé l'export, ça fonctionne. PAs testé l'import, ça doit
aussi être
ok, au détails de conversions (si nécessaire) près.

Bonne prog !

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/




Avatar
Jean-marc
Michel Voirain wrote:
Merci Jean-Marc! Le code pour exporter marche impec!



Super!

Le code import me pose problème là où tu ecris
' c'est ici qu'il faut peut etre faire l'une ou l'autre conversion de
type.
je nes sais pas quoi écrire !!! Alors, je fais encore appel à toi!


Je cherche de mon coté, mais je suis lessivé par ma dure journée!



Ok, un mot d'explication.

Le fichier d'export est un fichier texte. Tu réupères les valeurs
dans un tableau de chaine.
C'est ok tant que tu fais des insertions dans des champs "Text".

Mais bon, je ne connais pas la structure de ta table.
Si tu essaies par exemple d'écrire du texte dans un champ
qui attend un nombre, ça n'ira pas.

Il est donc probable qu'en fonction de la structure de la table
dans laquelle tu veux importer les données, il faille au cas par
cas convetir les données.

Imaginons que ton fichier d'export comporte les champs suivants:
"Nom" (Texte) "Prenom" (Texte) et "Age" (Entier)

supposons donc que la table dans laquelle tu importes possède
la bonne structure:
nom : Text
prenom : text
age : entier

Quand tu lis une ligne de ton fichier d'export, tu récupères par exemple
Dupont;Jean;12
et ce sont toutes des chaines dans le tableau t()

Si on reprend la boucle d'insertion de ma fonction:

While Not EOF(f)
Line Input #f, s
t() = Split(s, sep)
n = 0
rs.AddNew
For i = LBound(t()) To UBound(t())



rs.Fields(n) = t(i)
n = n + 1
Next i
rs.Update
Wend



Pour les 2 premières valeurs, ça va être ok.
Par contre quand le programme sera rendu à insérer la
3eme valeur (donc n=2 ici), il va essayer de faire

rs.fields(n) = t(i)

Ca risque de ne pas marcher car t(i) est un string alors que
rs.fields(2) attend un entier.

Il est donc possible que tu doives écrire des truc du genre:

if n = 2 Then ' ici c'est un entier
rs.fields(n) = CInt(t(i))

Tu vois l'idée?

Si tu postes ici un extrait (2 ou 3 lignes) du fichier d'export
ainsi que la structure de ta table pour l'import, je te fais ça en 2 minutes
:-)

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
JLuc
Bonjour Jean-marc,

je te fais ça en 2 minutes


Ventard !! lol

--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O
Avatar
Michel Voirain
Bonjour Jean-Marc,

Vraiment merci. Petit à petit, je commence à comprendre!


Voici quelques lignes et quelques champs tel que les exporte access (la date
est encombrée de 00:00:00 et les entiers sont du style 5,00 !(alors que le
format des tables est bon!)).Ton export à toi est nickel!
En fait j'ai des champs texte, nombre, date et des cases à cocher(-1 ou 0)

"Centre";"datedujour";"codeenfant";"Nom";"Prénom";"Datenaissance";"QF";"BV2007";"Nbdejours";"Adresse";"Ville";"CodePostal";
"Kerfichant";18/5/2007 00:00:00;1251,00;"PRENEAU";"ANTOINE";13/1/2004
00:00:00;"D";0;5,00;"157 RUE DE BELGIQUE";"LORIENT";56100,00;
"Kerfichant";18/5/2007 00:00:00;867,00;"PRENEAU";"MELVIN";13/1/2004
00:00:00;"D";0;5,00;"157 RUE DE BELGIQUE";"LORIENT";56100,00;
"Kerfichant";18/5/2007 00:00:00;3209,00;"BALIN";"EMMANUEL";31/7/2003
00:00:00;"E";0;5,00;"14 RUE DES SABLES BLANCS";"LORIENT";56100,00;

Si tu peux m'écrire quelques bout de code, cela m'avancerait!

Michel


"Jean-marc" a écrit dans le message
de news: 46532c5f$0$13849$
Michel Voirain wrote:
Merci Jean-Marc! Le code pour exporter marche impec!



Super!

Le code import me pose problème là où tu ecris
' c'est ici qu'il faut peut etre faire l'une ou l'autre conversion de
type.
je nes sais pas quoi écrire !!! Alors, je fais encore appel à toi!


Je cherche de mon coté, mais je suis lessivé par ma dure journée!



Ok, un mot d'explication.

Le fichier d'export est un fichier texte. Tu réupères les valeurs
dans un tableau de chaine.
C'est ok tant que tu fais des insertions dans des champs "Text".

Mais bon, je ne connais pas la structure de ta table.
Si tu essaies par exemple d'écrire du texte dans un champ
qui attend un nombre, ça n'ira pas.

Il est donc probable qu'en fonction de la structure de la table
dans laquelle tu veux importer les données, il faille au cas par
cas convetir les données.

Imaginons que ton fichier d'export comporte les champs suivants:
"Nom" (Texte) "Prenom" (Texte) et "Age" (Entier)

supposons donc que la table dans laquelle tu importes possède
la bonne structure:
nom : Text
prenom : text
age : entier

Quand tu lis une ligne de ton fichier d'export, tu récupères par exemple
Dupont;Jean;12
et ce sont toutes des chaines dans le tableau t()

Si on reprend la boucle d'insertion de ma fonction:

While Not EOF(f)
Line Input #f, s
t() = Split(s, sep)
n = 0
rs.AddNew
For i = LBound(t()) To UBound(t())



rs.Fields(n) = t(i)
n = n + 1
Next i
rs.Update
Wend



Pour les 2 premières valeurs, ça va être ok.
Par contre quand le programme sera rendu à insérer la
3eme valeur (donc n=2 ici), il va essayer de faire

rs.fields(n) = t(i)

Ca risque de ne pas marcher car t(i) est un string alors que
rs.fields(2) attend un entier.

Il est donc possible que tu doives écrire des truc du genre:

if n = 2 Then ' ici c'est un entier
rs.fields(n) = CInt(t(i))

Tu vois l'idée?

Si tu postes ici un extrait (2 ou 3 lignes) du fichier d'export
ainsi que la structure de ta table pour l'import, je te fais ça en 2
minutes :-)

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/




1 2