Je vous envoie mon numéro de téléphone portable si vous voulez , comme ça vous me direz où je peux déposer la base
Version imprimable
Je vous envoie mon numéro de téléphone portable si vous voulez , comme ça vous me direz où je peux déposer la base
je veux juste le formulaire, le sous-formulaire et les tables qui les alimentent, avec juste quelques enregistrements (ou pas) cela devrait tenir largement dans 3 Mo.
Il suffit de créer une nouvelle base, d'importer les objets nécessaires, puis de créer 1 ou 2 projets et quelques actions ...
est-ce possible ?
Bonsoir,
J'ai enlevé les PJ, beaucoup de choses cela a l'air bien .
Je vous joins ma Base.
Merci
Bonsoir,
Je ne comprends pas comment j'ai réussi à passer de 10 Mo à 1 Mo.
Pour ma culture ACCESS qu'est ce qui prend autant de place : les PJ, les formulaires?
Je n'avais pas beaucoup de données.
Dans la Base envoyée, je n'ai pas intégré vos modifications du vendredi soir.
Si vous avez des idées d'amélioration d'ordre général je suis preneur également, comme barre de défilement que nous avons évoqué etc....
Avec un Run time vous pensez que cela va fonctionner correctement?
Merci beaucoup pour vos avis sur ces questions !
ALEXM
bonsoir,
tout objet créé prend de la place (y compris le code, et les requêtes) mais ceux qui ont tendance à faire grossir sont les pièces jointes, les images et les données saisies (dans une moindre mesure) mais ce sont principalement les objets temporaires qui font grossir le plus vite la base surtout en mode développement.Citation:
Je ne comprends pas comment j'ai réussi à passer de 10 Mo à 1 Mo.
Pour ma culture ACCESS qu'est ce qui prend autant de place : les PJ, les formulaires?
La seule technique: compacter la base régulièrement ou cocher l'option "Compacter lors de la fermeture" dans les options de la base, section "Base de données active"
il faut bien sécuriser le code VBA (bonne gestion des erreurs), le compiler (ça, c'est inévitable) et éviter le code qui modifie la structure des objets puisse qu'elle n'est accessible qu'en lecture seule en mode run time.Citation:
Avec un Run time vous pensez que cela va fonctionner correctement?
Privilégier le Late binding ou liaison tardive plutôt que le early binding, cela évite d'ajouter les références tels que Outlook ou Excel vu que les versions changent tout le temps et que c'est impossible à changer en mode runtime.
Il existe plein de discussion sur le sujet, en voici une, au hasard ;)
Il y a également des tutos concernant le run time qui donnent d'autres conseils
ATTENTION
tu n'as pas anonymisé les données il y a des adresses mail accessibles, je te conseille d'enlever immédiatement la base jointe dans ton message la contenant et de vider les tables (y compris les "Copie de ...")
en mode run time, ce genre de commande est à éviter dans VBA car impossible à modifier, car le chemin et la version peuvent changer, si possible le stocker dans une table paramètre et le récupérer avec Dlookup:Code:OLk_OK = Shell("C:\Program Files (x86)\Microsoft Office\Office15\outlook.exe", 1)
pour Nom_Action2, il ne faut pas mettre de crochets autour de [Me]: Me.Nom_Action2Code:OLk_OK = Shell(DLookup("CheminOutlook","NomdelaTable"), 1)
Note que les crochets sont obligatoires lorsque le nom est ambigu (par exemple, mot réservé utilisé comme nom de champ, même si c'est fortement déconseillé) ou qui contient des espaces ou des caractères accentués etc.
Pour Statut, il est inutile de mettre le code dans les 2 évènements AfterUpdate et Change, mieux vaut le mettre uniquement sur AfterUpdate.
Pour ce qui est des barres de défilement, il faut songer à réduire un petit peu la largeur (et peut être aussi la longueur): elles devraient apparaître.
Moi-même, j'ai dû réduire la taille à 35 cm pour que je puisse les voir, ce qui est normal étant donné que la résolution de mon PC n'est pas élevée.
Evite On Error Resume Next qui empêche d'afficher l'erreur et ne permet pas de savoir où est le problème: mets une gestion d'erreur dans tous tes modules.
Bonjour,
je voudrais remercier tee_grandbois, le problème a été résolu sans que je comprenne la réponse de tee_grandbois.
L' enregistrement courant du sous formulaire est bien reconnu par Access quand on utilise la syntaxe "Me.Nom du contrôle" en l'ocurrence Me.Nom_action sans crochet surtout.
je m'en suis rendu compte en utilisant la consigne de tee_grandbois pour un déclenchement d'un champ sous formulaire pour un autre évènement
Le champ du formulaire doit utiliser la syntaxe [Parent]. [Nom du contrôle] et pour le sous formulaire Me.Nom_du_Contrôle (dans le cas présent c'est le contrôle de l'enregistrement du sous formulaire en cours.
Merci beaucoup tee_grandbois.
AALEXM