Base ACCESS 2010 fractionnée et liaison UNC
Fermé
Maud
-
Modifié par Maud le 5/10/2012 à 00:39
blux Messages postés 26504 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 décembre 2024 - 26 nov. 2012 à 16:21
blux Messages postés 26504 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 4 décembre 2024 - 26 nov. 2012 à 16:21
A voir également:
- Base ACCESS 2010 fractionnée et liaison UNC
- Clé activation office 2010 gratuit - Télécharger - Sécurité
- Formules excel de base - Guide
- Telecharger word 2010 - Télécharger - Traitement de texte
- Fracture 2010 film complet youtube - Forum TV & Vidéo
- Gigaset a170h problème base ✓ - Forum telephonie fixe
60 réponses
Je tiens d'ores et déjà à te remercier pour cette grande avancée que nous avons réalisée aujourd'hui.
C'est super!
C'est super!
Bonjour Blux,
Et si on enchaînait sur le problème de la 1ère visite après ce break bien mérité !!!
Je compte sur toi pour en finir avec ce thème.
J'aurais ensuite 2 autres problèmes à soulever à propos de ces bases fractionnées. Mais ça fera l'objet d'un autre dossier afin de ne pas alourdir d'avantage celui-ci.
Et si on enchaînait sur le problème de la 1ère visite après ce break bien mérité !!!
Je compte sur toi pour en finir avec ce thème.
J'aurais ensuite 2 autres problèmes à soulever à propos de ces bases fractionnées. Mais ça fera l'objet d'un autre dossier afin de ne pas alourdir d'avantage celui-ci.
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
19 oct. 2012 à 14:47
19 oct. 2012 à 14:47
Malheureusement, je ne pourrai pas faire grand-chose aujourd'hui car il faut que j'avoue à la face du monde un honteux, lourd et terrible secret :
J'ai un métier...
;-)
J'ai un métier...
;-)
Bonjour Blux,
Je me permets de revenir vers toi pour savoir quand est-ce que tu penses pouvoir m'aider à finaliser?
Merci encore pour ton aide
Je me permets de revenir vers toi pour savoir quand est-ce que tu penses pouvoir m'aider à finaliser?
Merci encore pour ton aide
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
26 oct. 2012 à 09:41
26 oct. 2012 à 09:41
Je te propose quelque chose aujourd'hui, dans la matinée...
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
Modifié par blux le 26/10/2012 à 10:16
Modifié par blux le 26/10/2012 à 10:16
Bon, il y a trois choses à faire :
1 - Positionner la valeur de Liaison dans TblLiaisonDorsale à faux, car sinon la valeur est 'NULL' (il suffit de décocher la case dans la table)
2 - Modifier la procédure MAJ, pour lui dire que si on a fait la mise à jour des liens il convient de mettre à jour le champ liaison de la table TblLiaisonDorsale
3 - Créer la procédure à mettre dans l'ouverture du formulaire principal.
1 - Tu devrais y arriver
2 - Ajouter une déclaration de variable en début de procédure (après tous les DIM existants) et mettre
Ajouter ensuite dans le code après la ligne "Set Db = Nothing"
3 - Créer un code évènement "sur ouverture" du formulaire principal et mettre ce code :
Ca devrait marcher...
1 - Positionner la valeur de Liaison dans TblLiaisonDorsale à faux, car sinon la valeur est 'NULL' (il suffit de décocher la case dans la table)
2 - Modifier la procédure MAJ, pour lui dire que si on a fait la mise à jour des liens il convient de mettre à jour le champ liaison de la table TblLiaisonDorsale
3 - Créer la procédure à mettre dans l'ouverture du formulaire principal.
1 - Tu devrais y arriver
2 - Ajouter une déclaration de variable en début de procédure (après tous les DIM existants) et mettre
Dim StrSql As String
Ajouter ensuite dans le code après la ligne "Set Db = Nothing"
StrSql = "UPDATE TblLiaisonDorsale SET Liaison = -1;" DoCmd.SetWarnings False DoCmd.RunSQL (StrSql) DoCmd.SetWarnings True
3 - Créer un code évènement "sur ouverture" du formulaire principal et mettre ce code :
If DLookup("Liaison", "TblLiaisonDorsale") = 0 Then MAJ End If
Ca devrait marcher...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Plusieurs choses :
Tout d'abord merci de revenir vers moi
J'ai effectué les MAJ ci-dessus et il en résulte que :
- lorsque je lance la MAJ des liaisons tel que nous l'avions mise en place précédemment et en ayant intégrer les nouvelles lignes de codes développées ci-dessus, la procédure fonctionne toujours correctement
- si j'ouvre ma base en ayant préalablement déplacé le frontal dans un autre répertoire, la procédure de MAJ ne se lance pas
Quelques points me surprennent :
- 2 - Modifier la procédure MAJ, pour lui dire que si on a fait la mise à jour des liens il convient de mettre à jour le champ liaison de la table TblLiaisonDorsale :
Ne convient-il pas de mettre la valeur à 1 (et non à -1)?
- 3 - Créer un code évènement "sur ouverture" du formulaire principal et mettre ce code :
Il me semblait que Vrai = 1 et Faux =-1 et on fait un test sur une valeur = 0 à l'ouverture du formulaire principal....
Ne manque t'il pas quelque chose dans la procédure pour tester à l'ouverture du frontal que la liaison avec la dorsale se fait bien?
Tout d'abord merci de revenir vers moi
J'ai effectué les MAJ ci-dessus et il en résulte que :
- lorsque je lance la MAJ des liaisons tel que nous l'avions mise en place précédemment et en ayant intégrer les nouvelles lignes de codes développées ci-dessus, la procédure fonctionne toujours correctement
- si j'ouvre ma base en ayant préalablement déplacé le frontal dans un autre répertoire, la procédure de MAJ ne se lance pas
Quelques points me surprennent :
- 2 - Modifier la procédure MAJ, pour lui dire que si on a fait la mise à jour des liens il convient de mettre à jour le champ liaison de la table TblLiaisonDorsale :
Ne convient-il pas de mettre la valeur à 1 (et non à -1)?
- 3 - Créer un code évènement "sur ouverture" du formulaire principal et mettre ce code :
Il me semblait que Vrai = 1 et Faux =-1 et on fait un test sur une valeur = 0 à l'ouverture du formulaire principal....
Ne manque t'il pas quelque chose dans la procédure pour tester à l'ouverture du frontal que la liaison avec la dorsale se fait bien?
Me revoilà.
Mes connaissances sur les champs OUI/NON laissaient plutôt à désirer : restons à OUI = -1 et NON = 0 et oublions ce commentaire du 26 (comme quoi les connaissances ne sont jamais définitivement acquises...).
Ceci dit, la procédure de démarrage fonctionne bien (il suffisait de créer réellement un enregistrement dans la table tblLiaisonDorsale en cliquant 2 fois de suite dans le champ OUI/NON...).
Encore une fois merci!
Cependant, 2 choses me gênent :
- pour que la procédure de MAJ des liaisons soit lancée à l'ouverture, il faut avoir placé manuellement le booléen à 0 avant la fermeture de la base ....
Ne serait-il pas mieux de faire en sorte que la procédure de MAJ se lance à l'ouverture dès lors que la liaison avec la dorsale ne s'effectue pas? (mais peut-être serait-ce un peu trop abusé de ma part...)
- le 2ème point est plus gênant : il semble lorsque la procédure de MAJ est lancée la 1ère fois, qu'une liste des tables de la dorsale soit créée quelque part, et serve ensuite de référence pour les MAJ des liaisons à venir. Il en résulte à priori, qu'il n'est pas possible de faire évoluer ultérieurement l'applicatif en créant d'autres tables dans la dorsale. J'ai fait 2 tests :
- création d'une nouvelle table dans la dorsale : la procédure de MAJ l'ignore)
- Modification d'un nom de table de la dorsale : la procédure de MAJ se plante. Access ne trouve plus le nom initial de la table (ce qui tend à prouver qu'une liste est bien constituée à la 1ère MAJ, mais je ne sais pas où...)
Mes connaissances sur les champs OUI/NON laissaient plutôt à désirer : restons à OUI = -1 et NON = 0 et oublions ce commentaire du 26 (comme quoi les connaissances ne sont jamais définitivement acquises...).
Ceci dit, la procédure de démarrage fonctionne bien (il suffisait de créer réellement un enregistrement dans la table tblLiaisonDorsale en cliquant 2 fois de suite dans le champ OUI/NON...).
Encore une fois merci!
Cependant, 2 choses me gênent :
- pour que la procédure de MAJ des liaisons soit lancée à l'ouverture, il faut avoir placé manuellement le booléen à 0 avant la fermeture de la base ....
Ne serait-il pas mieux de faire en sorte que la procédure de MAJ se lance à l'ouverture dès lors que la liaison avec la dorsale ne s'effectue pas? (mais peut-être serait-ce un peu trop abusé de ma part...)
- le 2ème point est plus gênant : il semble lorsque la procédure de MAJ est lancée la 1ère fois, qu'une liste des tables de la dorsale soit créée quelque part, et serve ensuite de référence pour les MAJ des liaisons à venir. Il en résulte à priori, qu'il n'est pas possible de faire évoluer ultérieurement l'applicatif en créant d'autres tables dans la dorsale. J'ai fait 2 tests :
- création d'une nouvelle table dans la dorsale : la procédure de MAJ l'ignore)
- Modification d'un nom de table de la dorsale : la procédure de MAJ se plante. Access ne trouve plus le nom initial de la table (ce qui tend à prouver qu'une liste est bien constituée à la 1ère MAJ, mais je ne sais pas où...)
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
29 oct. 2012 à 11:19
29 oct. 2012 à 11:19
Ceci dit, la procédure de démarrage fonctionne bien (il suffisait de créer réellement un enregistrement dans la table tblLiaisonDorsale en cliquant 2 fois de suite dans le champ OUI/NON...).
C'est que j'ai indiqué dans mon point 1.
Ne serait-il pas mieux de faire en sorte que la procédure de MAJ se lance à l'ouverture dès lors que la liaison avec la dorsale ne s'effectue pas? (mais peut-être serait-ce un peu trop abusé de ma part...)
Ce n'est pas ce qui est demandé au départ, il était question d'une 'première visite', c'est-à-dire que l'on vient d'installer la frontale sur un poste, mais il ne voit pas la dorsale. C'est le cas de la première installation.
Ca peut sûrement se solutionner (je ne l'ai cependant jamais fait).
- le 2ème point est plus gênant : il semble lorsque la procédure de MAJ est lancée la 1ère fois, qu'une liste des tables de la dorsale soit créée quelque part, et serve ensuite de référence pour les MAJ des liaisons à venir. Il en résulte à priori, qu'il n'est pas possible de faire évoluer ultérieurement l'applicatif en créant d'autres tables dans la dorsale. J'ai fait 2 tests :
- création d'une nouvelle table dans la dorsale : la procédure de MAJ l'ignore)
- Modification d'un nom de table de la dorsale : la procédure de MAJ se plante. Access ne trouve plus le nom initial de la table (ce qui tend à prouver qu'une liste est bien constituée à la 1ère MAJ, mais je ne sais pas où...)
Comportement tout à fait normal...
- Lorsque tu as créé ta frontale tu es allée dire que les tables étaient liées à la dorsale.
Si tu créés une table dans la dorsale, comment veux-tu que la frontale soit au courant si tu ne créés pas la table liée correspondante dans la frontale ?
- modification d'un nom de table dans la dorsale qui plante le code VBA : tu auras le même problème si tu fais ta gestion de tables liées avec le menu (sans code VBA).
Si tu es dans un cadre de développement classique, alors tu ne dois distribuer que des frontales (fichiers .mde ou .accde), c'est donc à toi de gérer le changement de modèle de données...
En fait, il suffit de comprendre qu'access n'est pas en mesure d'analyser ce genre de modifications humaines...
Mes connaissances sur les champs OUI/NON laissaient plutôt à désirer : restons à OUI = -1 et NON = 0
Dans tous les basic que j'ai utilisés (et dans d'autres langages), cette convention a toujours existé...
C'est que j'ai indiqué dans mon point 1.
Ne serait-il pas mieux de faire en sorte que la procédure de MAJ se lance à l'ouverture dès lors que la liaison avec la dorsale ne s'effectue pas? (mais peut-être serait-ce un peu trop abusé de ma part...)
Ce n'est pas ce qui est demandé au départ, il était question d'une 'première visite', c'est-à-dire que l'on vient d'installer la frontale sur un poste, mais il ne voit pas la dorsale. C'est le cas de la première installation.
Ca peut sûrement se solutionner (je ne l'ai cependant jamais fait).
- le 2ème point est plus gênant : il semble lorsque la procédure de MAJ est lancée la 1ère fois, qu'une liste des tables de la dorsale soit créée quelque part, et serve ensuite de référence pour les MAJ des liaisons à venir. Il en résulte à priori, qu'il n'est pas possible de faire évoluer ultérieurement l'applicatif en créant d'autres tables dans la dorsale. J'ai fait 2 tests :
- création d'une nouvelle table dans la dorsale : la procédure de MAJ l'ignore)
- Modification d'un nom de table de la dorsale : la procédure de MAJ se plante. Access ne trouve plus le nom initial de la table (ce qui tend à prouver qu'une liste est bien constituée à la 1ère MAJ, mais je ne sais pas où...)
Comportement tout à fait normal...
- Lorsque tu as créé ta frontale tu es allée dire que les tables étaient liées à la dorsale.
Si tu créés une table dans la dorsale, comment veux-tu que la frontale soit au courant si tu ne créés pas la table liée correspondante dans la frontale ?
- modification d'un nom de table dans la dorsale qui plante le code VBA : tu auras le même problème si tu fais ta gestion de tables liées avec le menu (sans code VBA).
Si tu es dans un cadre de développement classique, alors tu ne dois distribuer que des frontales (fichiers .mde ou .accde), c'est donc à toi de gérer le changement de modèle de données...
En fait, il suffit de comprendre qu'access n'est pas en mesure d'analyser ce genre de modifications humaines...
Mes connaissances sur les champs OUI/NON laissaient plutôt à désirer : restons à OUI = -1 et NON = 0
Dans tous les basic que j'ai utilisés (et dans d'autres langages), cette convention a toujours existé...
Ca peut sûrement se solutionner (je ne l'ai cependant jamais fait).
Si un jour tu as la solution, ça m'intéresse
Quoi qu'il en soit, je tiens à te faire part de toute ma reconnaissance pour ce que tu as fait pour moi. Un grand merci pour le temps que tu m'as consacré, pour ta patience, ton dévouement et ta gentillesse!
Si un jour tu as la solution, ça m'intéresse
Quoi qu'il en soit, je tiens à te faire part de toute ma reconnaissance pour ce que tu as fait pour moi. Un grand merci pour le temps que tu m'as consacré, pour ta patience, ton dévouement et ta gentillesse!
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
Modifié par blux le 31/10/2012 à 10:26
Modifié par blux le 31/10/2012 à 10:26
Je viens de regarder (ça pourra aussi me servir un jour, qui sait).
Il suffit de créer une macro 'autoexec' qui exécutera une fonction de test des attaches.
1 - Créer dans un module une fonction de vérification de l'ouverture possible des tables, si pas possible appeler la procédure de mise à jour des liens.
2 - Créer une macro (qui sera enregistrée sous le nom obligatoire de 'autoexec'). Elle comprendra l'action 'exécutercode' et prendra comme paramètre 'Ctrl_Liens ()', soit le nom de la fonction créée auparavant...
Ca devrait marcher tout seul...
Il suffit de créer une macro 'autoexec' qui exécutera une fonction de test des attaches.
1 - Créer dans un module une fonction de vérification de l'ouverture possible des tables, si pas possible appeler la procédure de mise à jour des liens.
Function Ctrl_Liens() Dim Db As Database Dim Tb As TableDef Dim Rs As DAO.Recordset Set Db = CurrentDb ' Test des attachements ' On exclut les tables système ' ainsi que les tables non attachées On Error GoTo Fin: For Each Tb In Db.TableDefs If Left(Tb.Name, 4) <> "MSys" And Tb.Connect <> "" Then Set Rs = Db.OpenRecordset(Tb.Name) Rs.Close End If Next Fin: If Err.Number = 3024 Then MAJ() Else MsgBox "Erreur " & Err.Number & " : " & Err.Description End If End Function
2 - Créer une macro (qui sera enregistrée sous le nom obligatoire de 'autoexec'). Elle comprendra l'action 'exécutercode' et prendra comme paramètre 'Ctrl_Liens ()', soit le nom de la fonction créée auparavant...
Ca devrait marcher tout seul...
C'est curieux : ça plante sur la ligne MAJ avec comme motif
Erreur de compilation :
Erreur de syntaxe
Erreur de compilation :
Erreur de syntaxe
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
31 oct. 2012 à 11:25
31 oct. 2012 à 11:25
J'ai juste oublié d'ôter les parenthèses...:-(
Lorsque j'ouvre la base en conservant les liaisons avec la dorsale, une fenêtre Microsoft Access s'ouvre avec:
Erreur 0 :
OK
et quand je clique sur OK mon formulaire MENU s'ouvre
Si je déplace ma dorsale et que j'ouvre l'ouverture du frontal, j'ai directement la fenêtre "Sélectionner un fichier" qui s'ouvre : C'EST GÉNIAL!!!
Si j'ai bien suivi, il ne reste plus qu'à faire en sorte que le message Erreur 0 ci-dessus ne s'affiche plus, et d'aménager quelque peu ce que nous avions fait précédemment, non?
PS : il faut absolument que je fasse un break, je me reconnecte cet après midi
MERCI MERCI MERCI
Erreur 0 :
OK
et quand je clique sur OK mon formulaire MENU s'ouvre
Si je déplace ma dorsale et que j'ouvre l'ouverture du frontal, j'ai directement la fenêtre "Sélectionner un fichier" qui s'ouvre : C'EST GÉNIAL!!!
Si j'ai bien suivi, il ne reste plus qu'à faire en sorte que le message Erreur 0 ci-dessus ne s'affiche plus, et d'aménager quelque peu ce que nous avions fait précédemment, non?
PS : il faut absolument que je fasse un break, je me reconnecte cet après midi
MERCI MERCI MERCI
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
Modifié par blux le 31/10/2012 à 13:56
Modifié par blux le 31/10/2012 à 13:56
Effectivement, la gestion des erreurs est mal faite (je me suis dépêché), remplace par ça :
On Error GoTo Erreur: For Each Tb In Db.TableDefs If Left(Tb.Name, 4) <> "MSys" And Tb.Connect <> "" Then Set Rs = Db.OpenRecordset(Tb.Name) Rs.Close End If Next GoTo Fin: Erreur: If Err.Number = 3024 Then MAJ Else MsgBox "Erreur " & Err.Number & " : " & Err.Description End If Fin: End Function
Cette fois-ci, ça a l'air parfait!!! C'est exactement ce qu'il me fallait!!!
Par rapport à ce que nous avions fait précédemment, Je pense que je peux :
- supprimer le booléen
- supprimer la procédure de mise en place pour la 1ère visite (cf : tes consignes du 26/10)
OK?
Par rapport à ce que nous avions fait précédemment, Je pense que je peux :
- supprimer le booléen
- supprimer la procédure de mise en place pour la 1ère visite (cf : tes consignes du 26/10)
OK?
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
31 oct. 2012 à 15:16
31 oct. 2012 à 15:16
Tu fais bien comme tu veux, c'est TON appli ;-)
Encore mille mercis!
Ce que tu m'as permis de réaliser est tout simplement FA-BU-LEUX
Ce que tu m'as permis de réaliser est tout simplement FA-BU-LEUX
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
31 oct. 2012 à 16:35
31 oct. 2012 à 16:35
rien d'extraordinaire...
Problème de dernière minute : lorsque je transforme ma base en ACCDE, ça plante à l'ouverture (alors que ça fonctionne très bien en ACCDB).
=> une 1ère fenêtre signale que "L'expression entrée comporte un nom de fonction que Microsoft Access ne peut pas trouver",
=> une seconde m'indique que c'est la macro Autoexec qui plante Sur Action : ExécuterCode, et Argument : Ctrl_liens()
Par ailleurs, à ce stade je n'ai plus aucun bouton qui fonctionne sur mes formulaires...
Comment y remédier?
=> une 1ère fenêtre signale que "L'expression entrée comporte un nom de fonction que Microsoft Access ne peut pas trouver",
=> une seconde m'indique que c'est la macro Autoexec qui plante Sur Action : ExécuterCode, et Argument : Ctrl_liens()
Par ailleurs, à ce stade je n'ai plus aucun bouton qui fonctionne sur mes formulaires...
Comment y remédier?
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
Modifié par blux le 19/11/2012 à 15:18
Modifié par blux le 19/11/2012 à 15:18
C'est la frontale que tu as mise en accde ?
Oui.
La dorsale est actuellement en accdb. Je ne sais pas encore si dans la version définitive je vais ou non la transformer en accdr.
La dorsale est actuellement en accdb. Je ne sais pas encore si dans la version définitive je vais ou non la transformer en accdr.
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
19 nov. 2012 à 15:33
19 nov. 2012 à 15:33
Tu l'ouvres sur le poste où tu l'as créée ou c'est ailleurs ?
Je pense à un problème de références : un poste où l'installation d'access n'est pas correcte ou une bizarrerie comme ça...
Je pense à un problème de références : un poste où l'installation d'access n'est pas correcte ou une bizarrerie comme ça...
Je l'ouvre toujours sur mon poste
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
19 nov. 2012 à 15:59
19 nov. 2012 à 15:59
Ben là, je suis sec...
Merdoum......
J'ai refait un accde (pour voir...), mais j'obtiens les même résultats.....
J'ai refait un accde (pour voir...), mais j'obtiens les même résultats.....
J'ai fait différents tests (en vain...) et il y en a un qui me donne des résultats surprenant, à savoir :
dans ma base accdb, j'ai renommé mon module "CtlLiaisonsOuvertureBase" et lui ait donné le même nom que le code qu'il contient [Ctrl_liens() mais sans saisir les ()], et dans ce cas j'ai le même plantage avec les mêmes messages d'anomalie...
Si ça peut t'éclairer......
dans ma base accdb, j'ai renommé mon module "CtlLiaisonsOuvertureBase" et lui ait donné le même nom que le code qu'il contient [Ctrl_liens() mais sans saisir les ()], et dans ce cas j'ai le même plantage avec les mêmes messages d'anomalie...
Si ça peut t'éclairer......
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
20 nov. 2012 à 10:33
20 nov. 2012 à 10:33
Je pense que le code disparait quand tu fais un accde, mais je ne sais pas pourquoi...
Peut-être une option cachée ?
Peut-être une option cachée ?
J'ai continué à faire certains tests et il y en a un autre qui me déroute :
J'ai retiré la fonction qui lançait le code dans la macro autoexec, (il ne reste plus dans cette macro que l'ouverture de mon formulaire Menu). Lorsque que crée un accde, je n'ai plus de message d'anomalie (normal...), mais par contre tous les boutons de mes formulaires restent inactifs....
Je précise que dans les Paramètres des macros dans le Centre de gestion de la confidentialité, j'ai opté pour "Activer toutes les macros"
J'ai fini par réinstaller le pack-office 2010 mais ça ne change rien...
J'ai retiré la fonction qui lançait le code dans la macro autoexec, (il ne reste plus dans cette macro que l'ouverture de mon formulaire Menu). Lorsque que crée un accde, je n'ai plus de message d'anomalie (normal...), mais par contre tous les boutons de mes formulaires restent inactifs....
Je précise que dans les Paramètres des macros dans le Centre de gestion de la confidentialité, j'ai opté pour "Activer toutes les macros"
J'ai fini par réinstaller le pack-office 2010 mais ça ne change rien...
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
21 nov. 2012 à 11:07
21 nov. 2012 à 11:07
La macro plante sur quelle ligne ?
La même qu'avec l'accde à savoir la ligne Action ExécuterCode pour l'argument Ctrl_Liens
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
21 nov. 2012 à 13:20
21 nov. 2012 à 13:20
et si tu ne mets pas cette macro, en appelant la procédure ailleurs ?
Si on met la procédure ailleurs le contrôle des liaisons ne se fera plus à l'ouverture de la base.....
Par contre sur cet autre poste j'ai fait supprimer la procédure pour ne laisser que l'ouverture du formulaire "MENU" dans l'autoexec. Et là, il se produit le même phénomène que celui que j'évoquais hier à 12 H 06, à savoir que tous les boutons de mon formulaire "MENU" sont inopérants. La différence c'est qu'hier ça se produisait sur l'accde alors que là nous sommes toujours sur l'accdb.
C'est une histoire de fou!!!
Par contre sur cet autre poste j'ai fait supprimer la procédure pour ne laisser que l'ouverture du formulaire "MENU" dans l'autoexec. Et là, il se produit le même phénomène que celui que j'évoquais hier à 12 H 06, à savoir que tous les boutons de mon formulaire "MENU" sont inopérants. La différence c'est qu'hier ça se produisait sur l'accde alors que là nous sommes toujours sur l'accdb.
C'est une histoire de fou!!!
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
21 nov. 2012 à 15:13
21 nov. 2012 à 15:13
Si on met la procédure ailleurs le contrôle des liaisons ne se fera plus à l'ouverture de la base.....
Peu importe, ce que je voudrais savoir, c'est si le code est appelable...
Peu importe, ce que je voudrais savoir, c'est si le code est appelable...
J'ai retiré la procédure de l'autoexec et je la lance via les évènements sur ouverture du formulaire MENU. Il en résulte :
- sur accdb : tout se passe bien
- sur accde : pas de message d'anomalie mais la procédure de contrôle ne se lance pas (j'avais modifié le nom de la dorsale pour délier les bases au préalable et rien ne se passe). Par ailleurs, les boutons de mon formulaire MENU sont toujours inopérant.
- sur accdb : tout se passe bien
- sur accde : pas de message d'anomalie mais la procédure de contrôle ne se lance pas (j'avais modifié le nom de la dorsale pour délier les bases au préalable et rien ne se passe). Par ailleurs, les boutons de mon formulaire MENU sont toujours inopérant.
Ça y est, à force de creuser j'ai fini par trouver l'origine du problème de l'accde : c'est un (ou +) formulaire. En créant un accde avec uniquement le formulaire MENU, les boutons fonctionnent!
Maintenant, il faut trouver le(s)quel(s) pose(nt) problème (j'en ai 80 à passer en revue...) et pourquoi.
Je te tiens au courant
Maintenant, il faut trouver le(s)quel(s) pose(nt) problème (j'en ai 80 à passer en revue...) et pourquoi.
Je te tiens au courant
Cette fois-ci, le problème est résolu! Je passe les détails de tout ce que j'ai pu faire pour en venir à bout....
Au final, j'ai recréé une base vierge dans laquelle j'ai importé tous les objets de mon frontal et j'ai compilé le code.
Maintenant, l'accde qui résulte de cette nouvelle base fonctionne parfaitement (même sur un autre poste que le mien).
Au final, j'ai recréé une base vierge dans laquelle j'ai importé tous les objets de mon frontal et j'ai compilé le code.
Maintenant, l'accde qui résulte de cette nouvelle base fonctionne parfaitement (même sur un autre poste que le mien).
blux
Messages postés
26504
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
4 décembre 2024
3 317
26 nov. 2012 à 16:21
26 nov. 2012 à 16:21
Super :-)