URGENT!!!! PB avec un recordCount dans ma BdeD

cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 - 24 juil. 2003 à 11:17
gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 - 1 août 2003 à 14:51
salut!
Je cree une base de donnees grace a mon interface VB. Je cree 1 table Test et 1 table Stage. Dans la 2de j'ai les champs suivants: idstage, IDTestH1, IDTestH2, IDTestH3 etc.. qui correspondent a des identifiants de test se trouvant ds la table Test.
Voila mon code pour la creation d'enregistrements ds la table Stage:

Set db = OpenDatabase(App.Path & "\HammerCtrl.mdb")
Set rctest = db.OpenRecordset("SELECT * FROM `Test`")
Set rc = db.OpenRecordset("SELECT * FROM `Stage`")
With rc
.AddNew
.Fields("idstage").Value = PositionNumber
.Update
End With
rc.MoveLast
MsgBox "nb records ds Stage:" & rc.RecordCount

'Creation de labels dynamiquement ....puis:

Set rc = db.OpenRecordset("SELECT * FROM `Stage` WHERE `idstage`=" & PositionNumber)
For i = 1 To nbHi
If cmbTestHammer(i).Text = "NONE" Then
rc.Edit
rc.Fields("IDTestH" & i) = "-1"
Else
rctest.MoveFirst
While Not rctest.EOF
field = rctest.Fields("Name").Value
If field = Trim(cmbTestHammer(i).Text) Then
rc.Edit
rc.Fields("IDTestH" & i) = rctest.Fields("idtest").Value
End If
rctest.MoveNext
Wend
End If
rc.Update
Next i

rc.MoveLast
nb = rc.RecordCount
MsgBox "nb enregistrements ds 'Stage':" & nb

Ce que je ne comprends pas c que mon 1er Msgbox me donne le bon nbre d'enregistrements et le 2eme me donne tjs 1. Est-ce que qq'un sait d'ou ca pourrait venir? Merci

4 réponses

gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
1 août 2003 à 11:40
Salut,

D'après ce que je comprends tu sélectionne pour ton 2ème recordset seulement l' enregistrements dont IdStage = PositionNumber et uniquement cet enregistrement. Donc le nombre d'enregistrement est bien 1.
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
1 août 2003 à 14:40
Tres bonne remarque. Mais g essaye plus loin en faisant juste
Set rc = db.OpenRecordset("SELECT * FROM `Stage`") puis rc.recordCount et il continue a me mettre encore 1, je ne comprends pas pourquoi et je m'arrache les cheveux!

Si tu vois d'ou ca peut venir, je suis prete a t'ecouter!!!!
0
cs_cissou06 Messages postés 124 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 16 mai 2007 1
1 août 2003 à 14:47
C'est bon, j'ai rien dit! Je viens de mettre un rc.MoveLast avant le recordCount et ca marche. Merci qd meme!
0
gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
1 août 2003 à 14:51
Pour m'oter un doute, créer un nouveau recordset RC2 par exemple, plutôt que de réutiliser le même.
0
Rejoignez-nous