Message d'erreur BOF ou EOF = true

cs_serge99 Messages postés 78 Date d'inscription lundi 29 août 2005 Statut Membre Dernière intervention 14 octobre 2006 - 13 mars 2006 à 20:30
cs_serge99 Messages postés 78 Date d'inscription lundi 29 août 2005 Statut Membre Dernière intervention 14 octobre 2006 - 13 mars 2006 à 21:36
Je cherche à savoir comment éviter ce message d'erreur:BOF ou EOF = true

J'ai mis en gras l'endroit où mon message s'affiche

existe-t-il une syntaxe pour fermer le recordset , si le recordset à atteint le dernier enregistrement,

If Not rsregistretemp.EOF Then rsregistretemp.MoveFirst
If Not rsregistretemp2.EOF Then rsregistretemp2.MoveFirst


With rsregistre
For i = 0 To rsregistretemp.RecordCount
LabelPtfus(3) = rsregistretemp.Fields("PtFusion")
Labeltrunk(4) = rsregistretemp.Fields("Troncon#1")
Labelcompte(2) = rsregistretemp.Fields("Compte")
Labelcable3(3) = rsregistretemp.Fields("NumCable")
Labeltube3(0) = rsregistretemp.Fields("CouleurTube")
Labelfibre3(1) = rsregistretemp.Fields("CouleurFibre")
Labelposition3(0) = rsregistretemp.Fields("position1")
Do While Not rsregistretemp2.EOF


SQLstmt6 = "SELECT * FROM registretemp where Troncon#1<>'" & rsregistretemp2.Fields("Troncon#2") & "'"
LabelPtfus(4) = rsregistretemp2.Fields("PtFusion")
Labeltrunk(2) = rsregistretemp2.Fields("Troncon#2")
Labelcompte(3) = rsregistretemp2.Fields("Compte2")
Labelcable3(0) = rsregistretemp2.Fields("NumCable2")
Labeltube3(1) = rsregistretemp2.Fields("CouleurTube2")
Labelfibre3(0) = rsregistretemp2.Fields("CouleurFibre2")
Labelposition3(1) = rsregistretemp2.Fields("position2")
If Labeltrunk(4) <> Labeltrunk(2) And Labelcable3(3) = Labelcable3(0) Then

rsregistre.AddNew
rsregistre.Fields("PtFusion") = LabelPtfus(3)
rsregistre.Fields("Troncon#1") = Labeltrunk(4)
rsregistre.Fields("Compte") = Labelcompte(2)
rsregistre.Fields("NumCable") = Labelcable3(3)
rsregistre.Fields("CouleurTube") = Labeltube3(0)
rsregistre.Fields("CouleurFibre") = Labelfibre3(1)
rsregistre.Fields("position1") = Labelposition3(0)
rsregistre.Fields("Troncon#2") = Labeltrunk(2)
rsregistre.Fields("Compte2") = Labelcompte(3)
rsregistre.Fields("NumCable2") = Labelcable3(0)
rsregistre.Fields("CouleurTube2") = Labeltube3(1)
rsregistre.Fields("CouleurFibre2") = Labelfibre3(0)
rsregistre.Fields("position2") = Labelposition3(1)
rsregistretemp2.MoveNext
End If


rsregistretemp.MoveNext


LabelPtfus(3) = rsregistretemp.Fields("PtFusion")
Labeltrunk(4) = rsregistretemp.Fields("Troncon#1")
Labelcompte(2) = rsregistretemp.Fields("Compte")
Labelcable3(3) = rsregistretemp.Fields("NumCable")
Labeltube3(0) = rsregistretemp.Fields("CouleurTube")
Labelfibre3(1) = rsregistretemp.Fields("CouleurFibre")
Labelposition3(0) = rsregistretemp.Fields("position1")


Loop
Next i
End With
End Sub

3 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
13 mars 2006 à 20:49
On t'a déjà répondu mais visiblement tu ne tiens pas compte des réponses qui t'ont été faites.
Tu ne veux pas revoir ton code et tu crois que quelqu'un va te donner une réponse correspondant à ton idée fixe ! Alors, BONNE CHANCE !!
0
cs_serge99 Messages postés 78 Date d'inscription lundi 29 août 2005 Statut Membre Dernière intervention 14 octobre 2006
13 mars 2006 à 21:09
J'y tiens compte mais les suggestions que l'on m'a donné ne fonctionnent pas alors j'essais autre chose.... ta suggestion ne fonctionne pas. Avec ta suggestion j'obtiens le même # de tronçon

Voici un exemple de ce que j'obtiens avec ton code

PtFusion |
|
Troncon#1 |
Position1 |
|
NumCable |
Compte |

|
CouleurTube |
|
CouleurFibre |
|
|
Troncon#2 |
|
|
Position2 |
|
|
NumCable2 |
Compte2 |
|
CouleurTube2 |
Fibre#2 |
CouleurFibre2 |

----

PHD2-23,

,
T4000-105-25,
1,
,
CAD,29,
1,
0,
Bleu,
0,
Bleu,
,

,
T4000-105-25,
,
,
1,
,
,
CAD,29,
1,
,
Bleu,
0,
Bleu

Comme tu peux le voir, j'obtiens 2 fois T4000-105-25... ce que je ne veux pas

Voici ta suggestion:

If Not rsregistretemp.EOF Then rsregistretemp.MoveFirst
If Not rsregistretemp2.EOF Then rsregistretemp2.MoveFirst

With rsregistre

Do While Not rsregistretemp.EOF

Do While Not rsregistretemp2.EOF

If rsregistretemp.Fields("Troncon#1") <> rsregistretemp2.Fields("Troncon#2") And rsregistretemp.Fields("NumCable") = rsregistretemp2.Fields("NumCable2") Then
.AddNew
.Fields("PtFusion") = rsregistretemp.Fields("PtFusion")
.Fields("Troncon#1") = rsregistretemp.Fields("Troncon#1")
.Fields("Compte") = rsregistretemp.Fields("Compte")
.Fields("NumCable") = rsregistretemp.Fields("NumCable")
.Fields("CouleurTube") = rsregistretemp.Fields("CouleurTube")
.Fields("CouleurFibre") = rsregistretemp.Fields("CouleurFibre")
.Fields("position1") = rsregistretemp.Fields("position1")
.Fields("Troncon#2") = rsregistretemp.Fields("Troncon#1")
.Fields("Compte2") = rsregistretemp2.Fields("Compte2")
.Fields("NumCable2") = rsregistretemp2.Fields("NumCable2")
.Fields("CouleurTube2") = rsregistretemp2.Fields("CouleurTube2")
.Fields("CouleurFibre2") = rsregistretemp2.Fields("CouleurFibre2")
.Fields("position2") = rsregistretemp2.Fields("position2")
.Update
End If

rsregistretemp2.MoveNext

Loop

rsregistretemp.MoveNext

Loop

End With
0
cs_serge99 Messages postés 78 Date d'inscription lundi 29 août 2005 Statut Membre Dernière intervention 14 octobre 2006
13 mars 2006 à 21:36
P.S. CanisLupus

Visiblement, tu ne prends pas le temps de faire un suivi de tes suggestions... tu aurais surement vu que celle-ci ne fonctionne pas. J'ai essayé diverses hypothèses issues de ta suggestion... mais rien n'y fait... (évidemment, je suis débutant...mais pas un individu borné et lâche qui attend que l'on lui donne des solutions tout cuit dans le bec) je suis revenu à mon idée première parce qu'elle fonctionne partiellement (avec l'aide grandement apprécié de jpierre)... peut-être que tu pourrais économiser du temps en faisant un suivi au lieu de me répondre que je ne prends pas en compte vos suggestions

P.S. ton aide est GRANDEMENT apprécié
0
Rejoignez-nous