En création ou modification de formulaire, si vous nommez un contrôle texte avec le nom "Contenu", Access part en erreur générale dès que vous
avez tapé la lettre u ou dès que vous avez enfoncé la touche Entrée et windows arrête l'application, Toutes les modifications non enregistrées sont perdues.
Cette erreur se reproduirait également si vous cliquez sur un contrôle texte nommé Contenu.
le mot Contenu étant un nom de propriété francisé de contrôle, il est possible que l'erreur provienne de là, ce qui n'excuse pas le "plantage général" de l'application.
Vous trouverez en téléchargement une base mdb 2000, nommée saveTxt qui permet d'enregistrer des objets dans des fichiers texte et de charger des objets à partir de fichiers texte.
La base comporte deux modules standards à importer dans votre application ainsi qu'une macro AutoKeys à inclure dans votre macro de même nom. Si vous n'avez pas de macro AutoKeys, importez la macro Autokeys fournie.
Vous disposez de 3 touches pour réaliser l'enregistrement et le chargement des objets:
F5 permet d'enregistrer le formulaire ou l'état actif affiché à l'écran, dans un fichier texte portant le nom de l'objet + ".txt", précédé de "form_" ou "report_"
F6 permet d'enregistrer tous les formulaires et tous les états dans un fichier texte portant le nom de l'objet + ".txt", précédé de "form_" ou "report_"
F7 permet de charger des formulaires et/ou états à partir de fichiers texte, nommés comme indiqué ci-dessus.
Compatibilité: vous devez impérativement charger des objets qui on été créés par la même version d'Access ou une version ultérieure. Si vos
fichiers texte ont été créés par une version 2007, vous ne pouvez les relire que sur une version 2007, si vos fichiers texte ont été créés par une version 2003, vous ne pouvez les relire que sur
une version 2003 ou 2007, Si vos fichiers texte ont été créés par une version 2000, vous pouvez les relire sur une version 2000, 2003, 2007. Si vos fichiers texte ont été créés par une version
2007, vous ne pouvez pas les relire sur une version 2000, par exemple. Attention: Le type de base n'a pas d'importance, seule la version Access est prise en compte, pour
les versions 2003 et 2007. Un fichier texte créé sur une version Access 2007 avec une base 2000 ne pourra pas être lu par Access 2000.
Par sécurité, toujours faire une sauvegarde de votre base avant de charger des objets.
Téléchargement de la base sur la page :
http://officesystemaccess.seneque.net/telechargement.htm#Utilitaires
ou directement sur
http://officesystemaccess.seneque.net/telecharger/saveTxt.zip
Lorsque vous ouvrez un formulaire, si vous n'indiquez pas de critères, vous disposez des fonctions d'ajout, de modification et de suppression des enregistrements. Vous pouvez limiter la portée du formulaire à la saisie par le mode de données acFormAdd et à la modification par acFormEdit.
acFormEdit permettra également de passer en saisie d'un nouvel enregistrement.
Si vous voulez supprimer le mode ajout automatique, vous pouvez placer la propriété Cycle à "Enregistrement en cours" , pour ne pas passer directement sur un nouvel enregistrement en fin de formulaire. Mais ce n'est pas suffisant, car la touche "Page Suiv" permettra quand même de passer sur un nouvel enregistrement.
Dans ce cas, il ne reste que deux possibilités, la première d'interdire l'accès à la touche mais il faudra écrire du code vba pour chaque contrôle de saisie, la seconde d'indiquer True ou False dans la propriété AllowAdditions du formulaire. Cette propriété pourra être modifié dans le formulaire lui-même dans l'événement Open ou Load ou directement dans le formulaire appelant, immédiatement derrière l'instruction OpenForm.
Commentaires Récents