Pourquoi mon curseur s'arrete à 5???

Résolu
TanK__1001101 Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2007 - 2 juin 2005 à 08:12
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 - 2 juin 2005 à 11:15
Voila une partie de mon algo.....

numero = 1

While Not curseur_employe.EOF

MsgBox "le nméro en cours est le : " & numero

If numero = curseur_employe!EMP_num Then

MsgBox curseur_employe!EMP_num

numero = numero + 1

End If

curseur_employe.MoveNext

Wend



le problème est que ma table EMPLOYE est rempli jusqu'au numéro 9.. et
lors de la lecture du curseur celui -ci sarrete à 5 comme s'i lne
prennait pas en compte le mvenext car il me répète alor 4 fois le
numéro 5.... Et quand je veu
donc inscrire un aute employé par la suite il me met risk de doublon
(ce qui est normal vu que la ...place est prise...

Aidez moi...

TanK

14 réponses

cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
2 juin 2005 à 09:47
Private Sub cmd_ok_insert_employe_click()

Dim BDconges As Database
Dim curseur_employe As DAO.Recordset
Dim numero As Integer
If txt_nom "" Or txt_prenom "" Or txt_lieu_action = "" Then
MsgBox "Veuillez remplir tout les champs vides"
Exit Sub
End If

Set BDconges = CurrentDb
For i=1 to 999999 Then Set curseur_employe BDconges.OpenRecordset("SELECT * FROM EMPLOYE WHERE EMP_num" & i &"")
If curseur_employe.RecordCount=0 Then
Numero=i
Exit For
End If
Next
'Insertion des propriété du formulaire dans le curseur**
curseur_employe.AddNew
curseur_employe!EMP_num = numero
curseur_employe!EMP_nom = txt_nom.Value
curseur_employe!EMP_prenom = txt_prenom.Value
curseur_employe!LIE_num = txt_lieu_action.Value
curseur_employe.Update
change_form ("menu_gestion_conges")

Set curseur_employe=Nothing
Set BDconges=Nothing

End Sub

It@li@
3
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
2 juin 2005 à 08:20
numero = 1
Do Until curseur_employe.EOF
MsgBox "le numéro en cours est le : " & numero
If numero = curseur_employe!EMP_num Then
MsgBox curseur_employe!EMP_num
End If
numero = numero + 1
curseur_employe.MoveNext
Loop

It@li@
0
TanK__1001101 Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2007
2 juin 2005 à 08:34
merci beaucoup italia mais pourquoi ca marchait pas et pourquoi il ne
lit pas le curseur de la 5ème place (mais continu qd meme avec ta
méthode)

Merci
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
2 juin 2005 à 08:40
Dans ton code il continué mais la variable numero n'était pas incrémenté pour 4 Enregistrements car il ne passé pas par la boucle.
Car pour 4 de tes enregistrements le numero <>curseur_employe!EMP_num

Si c'est OK coches reponse acceptée

It@li@
0

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

Posez votre question
TanK__1001101 Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2007
2 juin 2005 à 08:45
je compren pas car de 1 à 9

numero = curseur_employe!EMP_num

et il saretai qd meme peut tu etre plus clair please?
0
TanK__1001101 Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2007
2 juin 2005 à 08:52
et dslé ms ta méthode en me convien pas car il se peut (suite à un licenciement ) que un employé ne soit plus dans la table.

ex:

-table rempli de 1à10

-le numéro 7est viré



Lors de linsertion dun autre employé,avec ta méthode il sarrete à 10 or
10 est déjà occupé.. je voudrai kil remplisse la case du numéro 7

Merci davance
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
2 juin 2005 à 08:53
Donnes moi ta requete de selection et les valeurs de curseur_employe!EMP_num dans l'ordre ou elles apparaissent.

It@li@
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
2 juin 2005 à 08:54
tu veux faire quoi exactement avec ce morceau de code ?

It@li@
0
TanK__1001101 Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2007
2 juin 2005 à 08:56
voici toute la procédure:

Private Sub cmd_ok_insert_employe_click()

Dim BDconges As Database

Set BDconges = CurrentDb

Dim curseur_employe As DAO.Recordset

Set curseur_employe = BDconges.OpenRecordset("EMPLOYE")

Dim numero As Integer



'**Vérifie si tout les champs sont remplis**

If txt_nom "" Or txt_prenom "" Or txt_lieu_action = "" Then

MsgBox "Veuillez remplir tout les champs vides"

Else

numero = 1

While Not curseur_employe.EOF

If numero = curseur_employe!EMP_num Then

numero = numero + 1

curseur_employe.MoveNext

Else


'**Insertion des propriété du formulaire dans le curseur**

curseur_employe.AddNew

curseur_employe!EMP_num = numero


curseur_employe!EMP_nom = txt_nom.Value


curseur_employe!EMP_prenom = txt_prenom.Value


curseur_employe!LIE_num = txt_lieu_action.Value

curseur_employe.Update

End If

Wend

change_form ("menu_gestion_conges")

End If

curseur_employe.Close

BDconges.Close

End Sub



quand aux valeur du curseur elle apparaiseent dans lordre croissant : 1,2,3.....

jespère que t upourra maider...

TanK
0
TanK__1001101 Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2007
2 juin 2005 à 08:57
je veu kil recherche un numér ovide dans la table il kil la complète..
sil ny en a pas c'est le dernier numéro kil doit compléter....

TanK
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
2 juin 2005 à 09:15
tu veux qu'il prenne le premier numéro vide oubien le plux grand ?

It@li@
0
TanK__1001101 Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2007
2 juin 2005 à 09:20
je veu kil prenne le premier numéro vide (en partan de 1)..... et le remplisee par la suite

TanK
0
TanK__1001101 Messages postés 62 Date d'inscription jeudi 26 mai 2005 Statut Membre Dernière intervention 30 mai 2007
2 juin 2005 à 09:57
OK c bon... un peu compliker pour pa gd chose ms bon si ya po lchoix ya po lchoix!!!!!!



merci italia de ton aide

@+

TanK
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
2 juin 2005 à 11:15
Effectivement ça fait un peu de code pour pas grand chose...mais pourquoi charches-tu à "BOUCHER LES TROUS" ?

It@li@
0
Rejoignez-nous