Re: Split

gon_ak Messages postés 197 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 17 novembre 2006 - 12 mai 2006 à 13:44
acecel Messages postés 140 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 14 octobre 2006 - 12 mai 2006 à 15:54
Bonjour à Tous,

C'est encore au sujet du Split. Comme je l'avais déjà préciser, lorsque j'effectue la lecture ligne par ligne de mon fichier csv, je souhaitais récupérer uniquement les informations qui m'intéresse ppour les enregistre dans ma base de donnée.

Exemple:
Fichier CSV ouvert avec bloc note
"EndDate;";"12/05/2006 13:25"
"MachEff;";"1.00"
"YarnEff;";"1.00"
....

Et voici le bout de code:
'Ouverture du fichier
Set tf = fs.OpenTextFile(App.Path + "\ShiftReport.csv", 1)
While tf.AtEndOfStream = False
strBuffer = tf.ReadLine
vContener = Split(strBuffer, ";")
// Est-ce possible de rajouter un select Case ici???????????
Si oui cela ne serait-il pas trop lourd? Sinon pouvez-vous me proposer une solution

vValue = vContener(UBound(vContener))
Wend
tf.Close

Mon souci aujourd'hui c'est que mon fichier comporte 18 lignes et dans la table où je vais enregistrer les informations qui m'interessent dans la table de ma base de donnée, j'ai attribuer les même nom: EndDate, MachEff, YarnEff.....
Ce que je souhaite faire c'est:
Si le début de ma chaine "vContener" = par exemple à EndDate alors j'enregistre la fin de ma chaine "vValue" dans le EndDate de ma table de ma base de donnée.
Je comptais faire un Select avec 18 Case mais ???????????????????
Je ne sais vraiment pas comment m'y prendre. Pouvez-vous m'aider s'il vous plait. Merci d'avance

1 réponse

acecel Messages postés 140 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 14 octobre 2006
12 mai 2006 à 15:54
Essaye quelque chose du genre :

vContener = Split(strBuffer, Chr(34) & ";" & Chr(34) )

MonRecordset(vContener(0)).Value = vConteneur(1)
0
Rejoignez-nous