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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| Sub importationFichierTexte
Dim vNumFichier As Integer
Dim vLigne As String
Dim vMessage As String
Dim vNomFichier As String
Dim vFin As Boolean
Dim vBaseContext As Object
Dim vBase As Object
Dim vConnexion As Object
Dim vTable As Object
Dim vResultat As Object
Dim vRequete As String
Dim I As Integer
Dim vNum as Integer
'Définit un service pour pouvoir ouvrir la base
vBaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
'Détermine la base à ouvrir
vBase = vBaseContext.getByName(ConvertToUrl("chemin de ma base"))
'Définit la connexion
vConnexion = vBase.GetConnection("","")
'Définit le recordset
vTable = vConnexion.createStatement()
' Définit le nom du fichier
vNomFichier = "chemin de mon fichier .txt"
' Génère un descripteur de fichier libre, Définit un numéro de fichier libre
vNumFichier = Freefile
' Ouvre le fichier (en mode lecture)
Open vNomFichier For Input As vNumFichier
vNum = 1
vFin = False
' Vérifie si la fin du fichier a été atteinte
While not eof(vNumFichier)
vFin = False
While not eof(vNumFichier) And not vFin
' Lit une ligne
Line Input #vNumFichier, vLigne
If left(vLigne, 19) = "Date de naissance :" Then
vFin = True
End if
Line Input #vNumFichier, vLigne
wend
If not eof(vNumFichier) Then
' Initialise la variable
vRequete = vNum & ", "
For I = 1 to 6
vLigne = left(vligne, len(vligne) - 1)
If I <> 4 Then
If isNumeric(vLigne) then
vRequete = vRequete & vLigne & ", "
Else
vRequete = vRequete & "'" & vLigne & "', "
End If
End If
Line Input #vNumFichier, vLigne
Next I
vLigne = left(vligne, len(vligne) - 1)
If not isNumeric(left(vLigne, 5)) Then
vRequete = left(vRequete, len(vRequete) - 3) & " " & vLigne & "', "
Line Input #vNumFichier, vLigne
vLigne = left(vligne, len(vligne) - 1)
End If
vRequete = vRequete & "'" & left(vligne, 5) & "' ,'" & right(vLigne, len(vLigne) - 6) & "', " & left(vLigne, 2)
vResultat = vTable.executeQuery("INSERT INTO ""jeune"" VALUES(" & vRequete & ")")
vNum = vNum + 1
End If
Wend
' Ferme le fichier
Close #vNumFichier
MsgBox "Fini"
End Sub |
Partager