Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 06/06/2011, 12h20   #1
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
Par défaut Connaître la position d'un enregistrement

Bonjour,

je possède une zone de liste qui m'ouvre un formulaire sur double clic sur l'enregistrement sélectionné. ça c'est bon!

Lorsque ce formulaire s'ouvre j'aimerai récupérer/connaître la position de cet enregistrement dans sa table.

j'ai essayé de faire sur le formulaire ouvert
Code :
1
2
3
4
5
Sub CurrentFormRecord(frm As Form)
    Dim recordnum As Long
 
   TxtRecordNum = frm.CurrentRecord
End Sub
mais CurrentRecord =1 dans tous les cas, donc il doit y avoir autre chose à faire.

dois-je embarquer le numéro de ligne dans la requête source de la liste avant ? Je pense pas que ce soit la solution car comment gérer lors d'un double clic sans sélection dans la liste? (pour ajout d'un nouveau)

Merci de vos lumières car je sèche un peu
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 12h47   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 616
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 616
Points : 30 961
Points : 30 961
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Peux-tu expliquer pourquoi tu veux connaitre la position d'un enregistrement dans une table ?

Car dans une table il n'y a pas d'ordre, on peut faire ce que l'on veut, contrairement à une requête où on peut imposer un ordre.

On repère un enregistrement dans une table par un identifiant unique (clé primaire) qui est souvent un numéro automatique.

Donc des explications plus détaillées sur le but de la manoeuvre seraient souhaitables.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 14h24   #3
Membre actif
 
Avatar de Ric500
 
Homme Richard
Ingénieur développement logiciels
Inscription : août 2004
Messages : 166
Détails du profil
Informations personnelles :
Nom : Homme Richard
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : août 2004
Messages : 166
Points : 157
Points : 157
Salut!

As-tu essayé, lorsque ton formulaire est ouvert, sur l'événement "sur activation" de récupérer la valeur de:

Code :
1
2
3
With Me.Recordset
          MaPosition=  .PercentPosition
End With
Je m'en sers pour afficher un genre de barre de barre de progression qui affiche graphiquement cette position.


Sinon, tu as aussi pour avoir la position (dépendante de l'ordre de tri du recordsetclone, comme le dit Philippe):

Code :
1
2
3
4
With Me.RecordsetClone
              .MoveLast: .MoveFirst
              MaPosition = Me.CurrentRecord
End With
Bonne continuation.
Ric500 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 15h06   #4
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
Tu as raison, je suis parti un peu loin dans mes réflexions obscures, j'ai repris ce qui me sert d'ID unique et ça me va bien comme ça.

Merci quand même.
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 17h24   #5
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
Bon je reviens quand même car je tourne en rond sur un problème et je ne sais le résoudre...

j'ouvre 3 formulaires

1. le 1er s'ouvre en mode "normal" via un menu général standard

2. le 2nd s'ouvre en mode filtré par double clic sur une zone de liste du 1er. (le 1er est fermé) je peux:
(a)modifier l'enregistrement et retourner au 1er (dans ce cas j'arrive à ré-ouvrir le 1er sur le bon enregistrement)
ou
(b)je peux aller sur le 3e.

3. le 3e s'ouvre aussi en mode filtré par double clic sur une zone de liste du 2nd. (le 2nd est fermé*)


*Alors 2 choix

1. A la fermeture du 3e je ré-ouvre le 2nd mais je n'arrive pas/plus à lui repasser ce qu'il faut pour s'ouvrir sur le bon enregistrement.(filtre)

2. A l'ouverture du 3e je ne ferme pas le 2nd, mais lorsque je referme le 3e et même avec un requery, la zone de liste ne se met pas à jour...

J'ai lu une histoire de .Filter il y a peu, pensez vous que je puisse l'appliquer ou ce n'est pas suffisant?

J'espère que vous avez compris mon souci
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 10h48   #6
Membre habitué
 
Avatar de Orakle
 
Homme Laurent Chevrier
Chef de projet collaboratif
Inscription : mars 2004
Messages : 171
Détails du profil
Informations personnelles :
Nom : Homme Laurent Chevrier
Âge : 43
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Chef de projet collaboratif
Secteur : Industrie

Informations forums :
Inscription : mars 2004
Messages : 171
Points : 113
Points : 113
Envoyer un message via MSN à Orakle
Bon j'ai trouvé, effectivement il s'agissait bien du Me.Filter à gérer.

ce qui me donne sur chargement(load) du 2nd formulaire (et donc fermeture du 3e)

Code :
1
2
Me.Filter = "[Projects].ID = " & Forms![project follow up].TxtIDProjet.Value & ""
            Me.Form.FilterOn = True
avec ensuite un petit requery sur la zone de liste et le tour est joué.

Merci quand même
Orakle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h58.


 
 
 
 
Partenaires

Hébergement Web