Fichier texte vers table

cs_MRIG Messages postés 3 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 avril 2002 - 1 avril 2002 à 20:46
cs_MRIG Messages postés 3 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 avril 2002 - 3 avril 2002 à 11:29
Bonjour, en cliquant sur un bouton, j'ai besoin de lire un fichier txt, de faire un calcul avec des données extraites de chaque ligne et de copier lesrésultat dans une table de ma BD. Je n'arrive pas à trouver comment faire à partir d'access.

le texte, nouveau chaque jour est :
<nom><heureconnexion><heuredeconnexion>

le calcul est chercher le nom puis pour chaque nom faire un cumul des durées (heure connexion-heuredeconnexion).
Ensuite, rajouter dans la table connexions(date,nom,duréeconnect)l es valeurs du jour.

Merci de votre aide

4 réponses

cs_vish Messages postés 82 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 12 mars 2003
2 avril 2002 à 15:12
pour ton calcul des heure il faut que tu travaille avec la fonction "dateadd" explication dans msnd
DateAdd(interval, number, date)

Élément Description
"interval" Expression de chaîne correspondant à l'intervalle de temps à ajouter.
"number" Expression numérique correspondant au nombre d'intervalles à ajouter. Peut être positive (pour obtenir des dates dans le futur) ou négative (pour obtenir des dates dans le passé).
"date" Variant (Date) ou caractère littéral représentant la date à laquelle l'intervalle est ajouté.

pour intervalle:
h Heure

est ce que tu arrive a faire une extraction des donnée s d'un fichier texte vers access???
0
cs_MRIG Messages postés 3 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 avril 2002
2 avril 2002 à 20:59
Pas vraiment, ja'ai essayé un
Dim ligne As String
Open "c:\toto.txt" For Input As 1
Do
Line Input #1, ligne
'connexions!codeutilisateur = Left$(ligne, 5)
Loop
While Not EOF(1)
Close "c:\toto.txt"

mais ça ne marche pas.
0
cs_vish Messages postés 82 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 12 mars 2003
3 avril 2002 à 10:41
Sub Main()
Dim strsql, type_ech, fichDefault As String
Dim fs, f, ObjLine As Object
Dim date_fac As Date
Dim CurrentDate As Date
Dim MySize, i As Integer
Dim strline, Jour As String
Dim rs As New ADODB.Recordset

Set fs = CreateObject("Scripting.FileSystemObject")

fichDefault = "c:\toto.txt"
MySize = FileLen(fichDefault)
If fs.fileexists(fichDefault) False Or MySize 0 Then
Exit Sub
End If

connection

If Err.Number <> 0 Then
Set f = fs.OpenTextFile("c:\Temp\Erreur.log", 8, True, 0)
f.writeLine ("-------- " & CStr(Now) & " --------" & Chr(10))
f.writeLine ("Impossible to connect to database" & Chr(10))
f.Close
Exit Sub
End If

Set ObjLine = fs.OpenTextFile(fichDefault, 1, True, 0)

cn.BeginTrans
Do While ObjLine.AtEndOfStream <> True

strline = ObjLine.ReadLine

strsql = "INSERT INTO DATA_FI VALUES ('" & Trim(Mid(strline, 1, 10)) & "'," 'Num invoice
strsql = strsql & "'" & Trim(Mid(strline, 11, 4)) & "'," 'billing_type
strsql = strsql & "'" & Trim(Mid(strline, 38, 10)) & "'," 'montant net
strsql = strsql & "'" & Trim(Mid(strline, 64, 10)) & "'," 'customer_code
strsql = strsql & "'" & Date & "')" 'date_jour
cn.Execute strsql

If Err.Number <> 0 Then
cn.Rollback
GoTo fin
End If

Loop
cn.CommitTrans

ObjLine.Close

strsql = "SELECT BILLING_TYP,PAYEMT_TERM,BILLING_DATE,NET_AMT,DATE_PAYEMT,[invoice_n°],PAYEUR"
strsql = strsql & " FROM DATA_FI WHERE "strsql strsql & "DATESYS '" & Date & "' order by PAYEUR, DATE_PAYEMT"
rs.Open strsql, cn, adOpenStatic, adLockReadOnly, adCmdText

If rs.RecordCount > 0 Then
Open ("c:\recup_donnée_BD.txt") For Output As #1
rs.MoveFirst
Do While Not rs.EOF
Print #1, rs.Fields("invoice_n°"); Tab(12); rs.Fields("BILLING_TYP"); Tab(17); _
rs.Fields("BILLING_DATE"); Tab(28); rs.Fields("PAYEMT_TERM"); Tab(33); _
rs.Fields("DATE_PAYEMT"); Tab(45); rs.Fields("NET_AMT"); Tab(55); rs.Fields("PAYEUR")
rs.MoveNext
Loop

Close #1
Set rs = Nothing

End If

fin:
Set cn = Nothing
ObjLine.Close

End Sub

voila un exemple . on a un fichier toto.txt, de la, je fais une extration pour l'inserrer dans ma base .puis je recupere des données de la base selon la date du jour pour inscrire dans un fichier texte. attention dans ton fichier toto.txt, les données doivent etre ecrites en longueur fixe !!!!!!
0
cs_MRIG Messages postés 3 Date d'inscription lundi 1 avril 2002 Statut Membre Dernière intervention 3 avril 2002
3 avril 2002 à 11:29
J'essaye, je te dirai si ça a marché. Merci pour ton aide, c'est vraiment sympa.
0
Rejoignez-nous