Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : PArcour de Recordset jusqu'a la valeur Voulue [ Archives Visual Basic / Bases de données ] (BUZZ2K)

mercredi 15 juin 2005 à 19:46:24 | PArcour de Recordset jusqu'a la valeur Voulue

BUZZ2K

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:
[ Lien ]
et le fichier texte source
[ Lien ]
Et voila mon bout de code qui insert le tout dans la base:
[CODE]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[/CODE]
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


jeudi 16 juin 2005 à 10:07:24 | Re : PArcour de Recordset jusqu'a la valeur Voulue

BUZZ2K

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

jeudi 16 juin 2005 à 17:30:53 | Re : PArcour de Recordset jusqu'a la valeur Voulue

BUZZ2K

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...

jeudi 16 juin 2005 à 17:32:53 | Re : PArcour de Recordset jusqu'a la valeur Voulue

BUZZ2K

Ftp heberger Sous Linux = sensible a la Casse = Lien du Fichier txt faut car
[ Lien ]
Different de
[ Lien ]
le deuxieme lien est le bon...

jeudi 16 juin 2005 à 17:33:35 | Re : PArcour de Recordset jusqu'a la valeur Voulue

BUZZ2K

Quoique j'ai été con, j'aurai mieu fait de renommer sur le Ftp...

...
..
.
HELP !

vendredi 17 juin 2005 à 08:43:50 | Re : PArcour de Recordset jusqu'a la valeur Voulue

BUZZ2K

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...



Cette discussion est classé dans : ligne, code, rs, mid, ev


Répondre à ce message

Sujets en rapport avec ce message

COMMENT AJOUTER UNE LIGNE DE CODE à UN EXE [ par adn733r ] salut,je voudrais savoir comment ajouter une ligne de cide à n'importe quel exe, à savoir lancer unprogramme lors du lancement de cet exe. Quel code ??? (URGENT) [ par Philippe ] J'ai récupéré un fichier sur internet. quand je lis une ligne, chaque zone que je veux récupérer dans des textbox comporte un séparateur qui ressembl code vba pour simuler un saut de ligne [ par galldup ] salut!j'ai reussi jusqu'a present d'envoyer un mail via lotus notes avec access.Maintenant j'aimerai savoir quelle est la syntaxe code VBA pour simule Forcer l'exécution d'une ligne de code [ par ouija33 ] bonjour, j'aimerai savoir la commande qui permet de forcer l'exécution d'une ligne de code avec que les autres lignes soient exécutées. je pens ENTER [ par websinh ] salut,salut g un petit probleme, bon vous allez dire que la c vraiment trop con, mais sa ménervevoila, je veux faire a l'aide du code. écrire une phra ya personne ici ki sache faire un copier coller ??? !!! [ par stidjeanmoulin ] voici mon code:Sub Jonction()' Jonction MacroDim i As Integer, j As Integer 'indices de boucleDim ligne As Variant 'variable auxiliaire de copiei = 1< pb dans la lignde de code [ par pantocrator ] salutdans un bouquin d'exercice on conseille de mettre un " _ " et d'aller à la ligne afin d'empecher une surcharge au niveau d'une ligne de commandeo Aide avec Winsock [ par PsYc0p4tH ] J'ai un petit problème : J'essaie d'envoyer de l'info a un serveur avec Winsock. Lorsque j'essaie de commencer la connection a partir du client, il me problème de connexion avec access [ par CANARDBLEU ] j'essaye d'insérer automatiquement dans un combobox une liste de nom figurant dans ma base access.Voici mon codeDim cnn As New ADODB.Connection Dim cn [VBA-OLE]Pb pour changer l'imprimante active de Word [ par mouff ] dans une application en vb, via ole, je controle word.pour mes besoins, je change l'imprimante active de word via cette commande : ApplicationWORD.Act


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.