Bonjour je suis nouveau sur ce forum. Je suis automaticien et plus axé sur les automates programmables et les logiciels IHM.
Depuis le mois de juin j'ai décidé de suivre une formation pour utilisé ACCESS via mes heures de DIF, j'avais vu un peu les SGBD lors de mes études mais c"est très loin !! J'ai fait 3 jours "initiation" ou on voit la base d'Access et 3 jours plus spécialisés dans la partie automatisation et VBA. Il me reste 2 jours à faire fin septembre.
Voila pour les présentations, maintenant passons à mon problème dans un formulaire de consultation d'une table j'ai un bouton suivant et précédent pour parcourir les enregistrements pour une modification éventuelle.
Les bouton suivant et précédent test les variables acFirst et acLast pout tester si l'on est au dernier enregistrement. Si c'est le cas mesBox d'avertissement et disparition du bouton concerné.
Cela marche sauf que pour la variable acFirst (premier) cela marche. Mais pour acLast pour une raison que je n'explique je ne vais pas jusqu'au dernier enregistrement valide ????
Je me suis donc rabattu sur la variable MaxRecords j'ai repris l'exemple donné par l'aide de VBA mais systématiquement j'ai une erreur erreur exécution 2455 " La référence d'une expression MaxRecords n'est pas valide" ?
Voici la portion de code concernée :
La syntaxe utilisée pour récupérer maxRecords est celle donnée dans l'aide VBA. La variable maxi est déclarée en tête de module après Option compare afin d'être public pour tout le module, et notamment dans la procedure évènementielle du bouton suivant. Je bute sur ce problème depuis 3 jours si quelqu'un peu m'aider soit sur le probleme MaxRecords soit pourquoi acLast ne pointe pas réellement sur le dernier enregistrement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Form_Open(Cancel As Integer) ' a L'ouverture du formulaire Dim monformulaire As Form Set monformulaire = Forms("FModifsPiecesStockElec") 'Initialisation du formulaire DoCmd.OpenForm ("FModifsPiecesStockElec") ' ouverture du formulaire maxi = Forms("FModifsPiecesStockElec").MaxRecords ChangeCouleur (Me) ' Change les couleurs des etiquettes des cases à cocher DoCmd.GoToRecord , , acFirst ' on pointe sur le premier enregistrement End Sub
Merci d'avance
Partager