BUZZ2K
Messages postés64Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention14 septembre 2008
-
15 juin 2005 à 19:46
BUZZ2K
Messages postés64Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention14 septembre 2008
-
17 juin 2005 à 08:43
Open App.Path & "\TESTIMPRESSION.txt" For Input As #1
'On insert dans des variables temporaires les Informations récupérées
Do While Not EOF(1)
Line Input #1, Ligne
Ev = Mid(Ligne, 1, 2)
Matricule = Trim(Mid(Ligne, 3, 10))
Code_Nat_EV = Mid(Ligne, 13, 4)
Date_Deb = Mid(Ligne, 17, 8)
H_Deb = Mid(Ligne, 25, 5)
Date_Fin = Mid(Ligne, 30, 8)
H_Fin = Mid(Ligne, 38, 5)
Nombre = Trim(Mid(Ligne, 43, 12))
Nb_J = Mid(Ligne, 151, 1)
Val_calc = Mid(Ligne, 152, 12)
Code_Mot_Abs = Mid(Ligne, 164, 10)
Commentaire = Mid(Ligne, 174, 30)
'On insert les Informations dans la Base de Données Selon le Cas
Set rs = db.OpenRecordset("DONNEES")
If Code_Nat_EV <> 1000 Then
rs.AddNew
rs.Fields("Matricule").Value = Matricule
rs.Fields("Date").Value = Date_Deb
If Code_Nat_EV = 300 Then
rs.Fields("H_Trav").Value = Val_calc
ElseIf Code_Nat_EV = 11 Then
rs.Fields("H_Norm").Value = Nombre
ElseIf Code_Nat_EV = 200 Then
rs.Fields("Pause").Value = Val_calc
ElseIf Code_Nat_EV = 13 Then
rs.Fields("H_125").Value = Nombre
ElseIf Code_Nat_EV = 14 Then
rs.Fields("H_150").Value = Nombre
ElseIf Code_Nat_EV Like "09" & "**" Then
rs.Fields("Abs").Value = Code_Mot_Abs
ElseIf Code_Nat_EV = 1100 Then
rs.Fields("Panier").Value = Nombre
End If
rs.Update
End If
'On effectue le meme traitement jusqu à la fin du fichier, ligne par ligne
Loop
Close
'On ferme la Base De Données et le fichier Txt
rs.Close
db.Close
Close #1
Le pb c'est que imaginon pour le matricule 1, a la date xx/xx/xx, il peut avoir 8 H_Trav, 2 H_125 et 1 Panier, seulement mon prog insert sa en 3 Enregistrements, (Comme le fichier Text en fait) mais je voudrait qu'il me les mette sur une seul ligne, les champs sont prévu pour.
Il faudrait donc qu'il parcour le recordset a la recherche d'une date egale a celle que je vien de recuperer, et d'inserer les variables dans les champs de Cet enregistrement (en faisant gaffe que a date egale, le matricule de l'enreg soit egal au matricule que je vien de lire)
Quelqu'un connait la syntaxe pour parcourir le recordset ? car je galere !
Ex:
Rs.FindFirst(Rs.Fields("Date").Value = Date_Deb) me dit "Aucun enreg courant"... (car a la premiere exec ma table DONNEES est vierge...
Enfin Bref Prise de Tete HELP !
MErci
P.S: Si jme suis mal exprimé, comme d'hab, c'est clair dans ma tete, mais confu dans mes fraz, dites le, je tacherai de mieu m'exprimer
BUZZ2K
Messages postés64Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention14 septembre 2008 16 juin 2005 à 10:07
Re en gros,je veut
trouver l'enregistrement dont le champs Date est egal a Date_Deb
Si ya pas d'enreg alors je fait un rs.addnew
sinon je modifie l'enreg
BUZZ2K
Messages postés64Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention14 septembre 2008 16 juin 2005 à 17:30
Tin je trouve pas, j'ai tester tout lesFindFirst possible je croit, et a chak fois j'ai un mess d'erreur, Si quelqu'un est motivé, jveu bien lui passer mon Projet Vb, qu'il me trouve juste sa... parceque la sincerement jtrouve plus...
BUZZ2K
Messages postés64Date d'inscriptionlundi 4 octobre 2004StatutMembreDernière intervention14 septembre 2008 17 juin 2005 à 08:43
Bon donc j'ai trouver comment faire en sorte (du moin je pense pour trouver l'enregistrement dont la date est egal a la dateque je vien de lire ds mon fichier texte, seulement, pas moyen de faire marcher mon FindFirst...