Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/09/2011, 10h40   #1
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
Par défaut recordset et formulaire

Bonjour,
j'ai un pb de navigation dans un recordset. Ma table est composée de 6 enregistrements et quand j'ouvre mon recordset je me retrouve sur l'enregistrement N°5 de ma table. Comment je fais pour tomber sur le premier enregistrement?

je place mon code dans le module Form Load:

Code :
1
2
3
4
5
6
7
8
9
10
11
Set oDb = CurrentDb
 
Set oRst = oDb.OpenRecordset("Stage", dbOpenSnapshot)
    oRst.MoveLast  
    oRst.MoveFirst
 
    'test de la structure
    champ1 = oRst.Fields(0)
    champ2 = oRst.Fields(1)
    champ3 = oRst.Fields(2)
    champ4 = oRst.Fields(3)
Voila je ne comprends pas ce qui se passe.....
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 11h27   #2
Membre à l'essai
 
Inscription : octobre 2004
Messages : 84
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2004
Messages : 84
Points : 21
Points : 21
Je pense que l'ordre par défaut est défini sur l'index courant, pas forcément comment la table "physique" est ordonnée.
zitoune92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 12h48   #3
Rédacteur/Modérateur
 
Avatar de GAYOT
 
Homme Jean-Damien GAYOT
Inscription : novembre 2004
Messages : 2 075
Détails du profil
Informations personnelles :
Nom : Homme Jean-Damien GAYOT
Âge : 56
Localisation : France, Meuse (Lorraine)

Informations professionnelles :
Secteur : Distribution

Informations forums :
Inscription : novembre 2004
Messages : 2 075
Points : 4 385
Points : 4 385
Envoyer un message via Skype™ à GAYOT
Bonjour
Code :
1
2
3
4
5
6
7
8
9
Set oDb = CurrentDb
 
Set oRst = oDb.OpenRecordset("Stage", dbOpenSnapshot)
 
    'test de la structure
    champ1 = oRst.Fields(0)
    champ2 = oRst.Fields(1)
    champ3 = oRst.Fields(2)
    champ4 = oRst.Fields(3)
Et sans se déplacer, il se positionne où?
__________________
Plus j'avance et plus j'ai l'impression de ne rien savoir. Et comme j'essaie d'aller loin..!!.

Tutoriels sur:http://jdgayot.developpez.com

Pas de sujets techniques par Mp. Sinon
GAYOT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 14h44   #4
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
en fait sans se déplacer il se place sur le même enregistrement le n°5.
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 15h39   #5
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
j'ai fait un test en changeant le type d'objet en "dbOpenDynaset" et là mon index est bien sur le premier enregistrement.
Juste par curiosité, est-ce quelqu'un peut m'expliquer?
merci
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2011, 09h26   #6
Membre à l'essai
 
Inscription : octobre 2004
Messages : 84
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2004
Messages : 84
Points : 21
Points : 21
Citation:
Envoyé par alain136 Voir le message
j'ai fait un test en changeant le type d'objet en "dbOpenDynaset" et là mon index est bien sur le premier enregistrement.
Juste par curiosité, est-ce quelqu'un peut m'expliquer?
merci
Je pense que Dynaset prend en compte l'index de ta table (s'il y en a un?). Le snapshot prend l'ordre physique (ton enreg#5 doit être le plus ancien)

Pour éviter les surprises, utilise ORDER BY...
zitoune92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h36.


 
 
 
 
Partenaires

Hébergement Web