PArcour de Recordset jusqu'a la valeur Voulue

BUZZ2K Messages postés 64 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 septembre 2008 - 15 juin 2005 à 19:46
BUZZ2K Messages postés 64 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 septembre 2008 - 17 juin 2005 à 08:43
Bonjour,
Je crée un prog qui recupere des info dans in fichier texte, et le sinsert dans une Bdd,
Voici un exemple de l'etat de la table apres insertion par mon prg dann l'etat actuel:
http://vlan38.phpnet.org/Divers/Photos/Access.jpg
et le fichier texte source
http://vlan38.phpnet.org/Divers/TESTIMPRESSION.txt
Et voila mon bout de code qui insert le tout dans la base:
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" &amp; "**" 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 &#224; la fin du fichier, ligne par ligne
Loop
Close
'On ferme la Base De Donn&#233;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

5 réponses

BUZZ2K Messages postés 64 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 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

HELP !!!
me mank plu ke sa et je fini mon prog
0
BUZZ2K Messages postés 64 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 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...
0
BUZZ2K Messages postés 64 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 septembre 2008
16 juin 2005 à 17:32
Ftp heberger Sous Linux = sensible a la Casse = Lien du Fichier txt faut car
http://vlan38.phpnet.org/Divers/TESTIMPRESSION.txt
Different de
http://vlan38.phpnet.org/Divers/TESTIMPRESSION.TXT
le deuxieme lien est le bon...
0
BUZZ2K Messages postés 64 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 septembre 2008
16 juin 2005 à 17:33
Quoique j'ai été con, j'aurai mieu fait de renommer sur le Ftp...

...
..
.
HELP !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BUZZ2K Messages postés 64 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 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...
0
Rejoignez-nous