Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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 23/12/2011, 08h43   #1
Invité régulier
 
Femme
Lycéen
Inscription : mai 2011
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 27
Points : 5
Points : 5
Par défaut bouton enregistrement précédent

Bonjour,

J'ai un formulaire où je peux créer plusieurs enregistrements. Donc pour cela j'ai insérer 4 boutons : nouvel enregistrement, enregistrement précédent, enregistrement suivant et supprimer enregistrement.

Je voudrais que mon bouton enregistrement précédent disparaîsse dans que je suis sur le premier enregistrement. Comment puis-je faire ?

Merci de votre aide
Cordialement
vittirivizzik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 08h53   #2
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 281
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 281
Points : 483
Points : 483
Bonjour.

Voici une solution qui désactive le bouton "Précédent" quand on est dans le premier enregistrement, et désactive le bouton "Suivant" quand on est dans le dernier enregistrement. Le code est associé à l'événement "Sur activation" du formulaire.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Form_Current()
If Me.CurrentRecord > 1 Then    'Désactivation du bouton précédent si l'enregistrement est le premier
  Me!Précédent.Enabled = True
Else
  Me!Précédent.Enabled = False
End If
Dim lng As Long                 'obtient le nombre d'enregistrements
   lng = Me.RecordsetClone.RecordCount
If Me.CurrentRecord = lng Then  'Désactivation de Suivant si l'enregistrement est le dernier
    Me!Suivant.Enabled = False
    Exit Sub
Else
    Me!Suivant.Enabled = True
End If
End Sub
Cordialement.
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/12/2011, 11h38   #3
Invité régulier
 
Femme
Lycéen
Inscription : mai 2011
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 27
Points : 5
Points : 5
Merci pour votre réponse rapide

Le code fonctionne parfaitement cependant , il désactive aussi le bouton suivant dans le premier enregistrement.

Cordialement
vittirivizzik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 11h40   #4
Invité régulier
 
Femme
Lycéen
Inscription : mai 2011
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 27
Points : 5
Points : 5
Non enfaite c'est bon , le bouton suivant se désactive dans le dernier enregistrement

Merci beaucoup !
vittirivizzik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 09h02   #5
Invité régulier
 
Femme
Lycéen
Inscription : mai 2011
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 27
Points : 5
Points : 5
Bonjour,

Merci encore pour ton aide. Cependant, je me rend compte maintenant que le bouton "suivant" est grisé au chargement de mon formulaire. Enfaite j'ai déjà 2 enregistrements dans ma table mais je ne peux pas naviguer entre ces eux enregistrements dans mon formulaire à cause du bouton suivant qui est grisé. Je dois faire tab à chaque fois pour qu'il passe à l'enregistrement suivant. Voila si tu pourrais m'éclairer là-dessus...

De plus, comment je pourrais intégrer ce code dans une fonction car j'ai un formulaire avec des sous formulaires et mes boutons s'affichent dans mes sous-formulaires. le probleme c'est que je dois répéter le code pour tous mes boutons dans chaques sous-formulaires et ça fait long.

Merci
Cordialement
vittirivizzik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 09h45   #6
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 281
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 281
Points : 483
Points : 483
Bonjour.

Le code que j'ai posté (ci-dessus), je l'utilise dans plusieurs formulaires, dans des bases avec des milliers d'enregistrements, et ça fonctionne parfaitement. Donc, je n'ai pas le problème que tu décris, et je ne sais pas pourquoi ça se passe comme ça dans ton formulaire.
Si tu as mis le code dans l'événement "Sur activation" du formulaire, je ne vois pas ce qui peut poser problème. Essaie de toute façon avec plus de deux enregistrements, pour voir ce qui se passe.
Pour l'utilisation dans différents formulaires, c'est plus compliqué que ça n'en a l'air d'adapter le code pour en faire une fonction publique. Si tu nommes tes boutons de la même manière dans tous tes formulaires, un simple copier-coller du code dans le Private Sub Form_Current() des divers formulaires ne te prendra pas plus de temps que d'écrire un appel à une fonction sur chacun des boutons concernés.
Cordialement.
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 11h38   #7
Invité régulier
 
Femme
Lycéen
Inscription : mai 2011
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 27
Points : 5
Points : 5
merci pour ta réponse,

j'ai le même problème avec + de 2 enregistrements. dès le départ j'ai fais comme tu dis, c'est à dire copier coller mes boutons dans tout mes formulaires. mais par exemple si je veux faire une modif dans mon bouton suivant, je dois faire la même modif pour chaque formulaires et je pense qu'avec une fonction c'est beaucoup plus rapide : je fais la modif dans ma fonction et hop sa met a jour automatiquement tous mes boutons suivant... C'est le même principe pour une variable. je me trompe ?

Merci entouca
Cordialement
vittirivizzik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 13h58   #8
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 281
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 281
Points : 483
Points : 483
Peux-tu poster le code que tu as mis sur l'activation du formulaire? As-tu le même problème dans d'autres formulaires? Avant de chercher à faire une fonction, il faudrait régler cela ...
A +
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 15h53   #9
Invité régulier
 
Femme
Lycéen
Inscription : mai 2011
Messages : 27
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mai 2011
Messages : 27
Points : 5
Points : 5
Sur l'activation du formulaire j'ai le code que tu m'as donné

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Private Sub Form_Current()
 
If Me.CurrentRecord > 1 Then    'Désactivation du bouton précédent si l'enregistrement est le premier
  Me!Commande91.Enabled = True
Else
  Me!Commande91.Enabled = False
End If
Dim lng As Long                 'obtient le nombre d'enregistrements
   lng = Me.RecordsetClone.RecordCount
If Me.CurrentRecord = lng Then  'Désactivation de Suivant si l'enregistrement est le dernier
    Me!Commande49.Enabled = False
    Exit Sub
Else
    Me!Commande49.Enabled = True
End If
 
End Sub
Commande91 = Précédent
Commande49 = Suivant
Oui j'ai le problème pour tout mes autres sous-formulaires.
vittirivizzik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 16h34   #10
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 281
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 281
Points : 483
Points : 483
La solution est dans ta réponse : le problème vient du fait que tes boutons sont dans des sous-formulaires. Donc, cela doit être écrit différemment! Explique la structure de tes formulaires et sous-formulaires, et on verra comment écrire le code!
A+
RobiPMS 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 20h58.


 
 
 
 
Partenaires

Hébergement Web