Bonjour,
J'ai fait un programme en visual basic 6.0 qui permet d'importer un fichier .csv dans une base access. Le problème c'est que lors de l'importation, les caractères spéciaux tels que les "é",les "è" etc... sont converti en un caractère bizarre qui ressemble à ca: |
et les apostrophe sont converti en point d'interrogation: ?
Quel instructions ou fonctions dois-je utiliser ?
Voici mon code d'importation d'un fichier .csv vers ma base sous ACCESS.
Ma form contiens un bouton et un CommonDialog.
etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 Private Sub Command1_Click() On Error GoTo erreurcor20 Dim dynposteimp As Recordset Dim DT1 As Recordset Dim DT6 As Recordset Dim DT12 As Recordset Set DT1 = gCurrentDB.OpenRecordset("T1", dbOpenDynaset) Set DT6 = gCurrentDB.OpenRecordset("T6", dbOpenDynaset) Set DT12 = gCurrentDB.OpenRecordset("T12", dbOpenDynaset) With CommonDialog1 'Ligne de titre .DialogTitle = "Open File [CSV]" 'Masque de recherche .Filter = " Text Files (*.CSV) |*.csv|All files (*.*) |*.*" 'Index de filtre .FilterIndex = 1 'Mise en place Flags : Dialogue de l'explorateur avec les noms longs .Flags = cdlOFNCreatePrompt And cdlOFNExplorer 'Ouvrir fichier .ShowOpen End With If CommonDialog1.Flags = 0 Then Exit Sub End If Dim lignestring, problemeImp As String problemeImp = "Erreur d'importation" chemin2 = CommonDialog1.FileName NumFile_s = FreeFile Open chemin2 For Input As #NumFile_s While Not EOF(NumFile_s) Input #NumFile_s, lignestring If lignestring = "" Then 'dynposteimp.Close Close #NumFile_s Exit Sub End If placech1 = InStr(placech0 + 1, lignestring, ";", vbTextCompare) 'prend le premier mot terminé par un point virgule If placech1 = 0 Then DT1.Close DT6.Close DT12.Close Close #NumFile_s MsgBox problemeImp Exit Sub End If
La suite du code consiste à injecter les mots capturés par placech1, placech2, placech3 etc... dans les tables, enfin bref, les trier.
Merci.
Partager