Je teste sous Access 97 la fonction ci-dessous. Le problème:
dès que j'essaye de quitter l'application par un bouton ou un menu
par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre
principale Access. Il faut alors pour la fermer passer par le
gestionnaire de tâches.
Si je n'appelle pas cette fonction lors de l'ouverture de mon formulaire
principale, tout fonctionne parfaitement.
Si quelqu'un à une idée sur la question, je suis preneur
--
Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
; FONCTION
Function fCheckLinks()
Dim nbTbl As Long
Dim idx As Long
Dim dbs As DAO.Database
Dim TblDef As TableDef
Set dbs = CurrentDb()
Dim newpath As String
newpath = "C:\FICHIER.INI"
nbTbl = dbs.TableDefs.Count
For idx = 0 To nbTbl - 1
Set TblDef = dbs.TableDefs(idx)
If TblDef.Attributes = dbAttachedTable Then
TblDef.Connect = ";DATABASE=" & newpath & ";UID=;PWD="
TblDef.RefreshLink
End If
Next idx
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour Jeff.
Il te manque le TblDef = Nothing mais pas sur du tout.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"Jeff" a écrit dans le message de news:
Bonjour à tous
Je teste sous Access 97 la fonction ci-dessous. Le problème: dès que j'essaye de quitter l'application par un bouton ou un menu par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre principale Access. Il faut alors pour la fermer passer par le gestionnaire de tâches.
Si je n'appelle pas cette fonction lors de l'ouverture de mon formulaire principale, tout fonctionne parfaitement.
Si quelqu'un à une idée sur la question, je suis preneur
-- Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
; FONCTION
Function fCheckLinks()
Dim nbTbl As Long Dim idx As Long Dim dbs As DAO.Database Dim TblDef As TableDef Set dbs = CurrentDb() Dim newpath As String
newpath = "C:FICHIER.INI"
nbTbl = dbs.TableDefs.Count
For idx = 0 To nbTbl - 1 Set TblDef = dbs.TableDefs(idx) If TblDef.Attributes = dbAttachedTable Then TblDef.Connect = ";DATABASE=" & newpath & ";UID=;PWD=" TblDef.RefreshLink End If Next idx
dbs.Close Set dbs = Nothing
End Function
Bonjour Jeff.
Il te manque le TblDef = Nothing
mais pas sur du tout.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Jeff" <jf@jf.com> a écrit dans le message de
news:ed3kIyZtDHA.2004@TK2MSFTNGP10.phx.gbl...
Bonjour à tous
Je teste sous Access 97 la fonction ci-dessous. Le problème:
dès que j'essaye de quitter l'application par un bouton ou un menu
par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre
principale Access. Il faut alors pour la fermer passer par le
gestionnaire de tâches.
Si je n'appelle pas cette fonction lors de l'ouverture de mon formulaire
principale, tout fonctionne parfaitement.
Si quelqu'un à une idée sur la question, je suis preneur
--
Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
; FONCTION
Function fCheckLinks()
Dim nbTbl As Long
Dim idx As Long
Dim dbs As DAO.Database
Dim TblDef As TableDef
Set dbs = CurrentDb()
Dim newpath As String
newpath = "C:FICHIER.INI"
nbTbl = dbs.TableDefs.Count
For idx = 0 To nbTbl - 1
Set TblDef = dbs.TableDefs(idx)
If TblDef.Attributes = dbAttachedTable Then
TblDef.Connect = ";DATABASE=" & newpath & ";UID=;PWD="
TblDef.RefreshLink
End If
Next idx
Il te manque le TblDef = Nothing mais pas sur du tout.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"Jeff" a écrit dans le message de news:
Bonjour à tous
Je teste sous Access 97 la fonction ci-dessous. Le problème: dès que j'essaye de quitter l'application par un bouton ou un menu par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre principale Access. Il faut alors pour la fermer passer par le gestionnaire de tâches.
Si je n'appelle pas cette fonction lors de l'ouverture de mon formulaire principale, tout fonctionne parfaitement.
Si quelqu'un à une idée sur la question, je suis preneur
-- Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
; FONCTION
Function fCheckLinks()
Dim nbTbl As Long Dim idx As Long Dim dbs As DAO.Database Dim TblDef As TableDef Set dbs = CurrentDb() Dim newpath As String
newpath = "C:FICHIER.INI"
nbTbl = dbs.TableDefs.Count
For idx = 0 To nbTbl - 1 Set TblDef = dbs.TableDefs(idx) If TblDef.Attributes = dbAttachedTable Then TblDef.Connect = ";DATABASE=" & newpath & ";UID=;PWD=" TblDef.RefreshLink End If Next idx
dbs.Close Set dbs = Nothing
End Function
Jeff
Bonjour Raymond
merci pour ta réponse rapide mais en envoyant le post cela a aussi attiré mon attention.
Donc c'était bien ça. Merci
-- Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
"Raymond [mvp]" a écrit dans le message de news:%
Bonjour Jeff.
Il te manque le TblDef = Nothing mais pas sur du tout.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"Jeff" a écrit dans le message de news:
Bonjour à tous
Je teste sous Access 97 la fonction ci-dessous. Le problème: dès que j'essaye de quitter l'application par un bouton ou un menu par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre principale Access. Il faut alors pour la fermer passer par le gestionnaire de tâches.
Si je n'appelle pas cette fonction lors de l'ouverture de mon formulaire principale, tout fonctionne parfaitement.
Si quelqu'un à une idée sur la question, je suis preneur
-- Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
; FONCTION
Function fCheckLinks()
Dim nbTbl As Long Dim idx As Long Dim dbs As DAO.Database Dim TblDef As TableDef Set dbs = CurrentDb() Dim newpath As String
newpath = "C:FICHIER.INI"
nbTbl = dbs.TableDefs.Count
For idx = 0 To nbTbl - 1 Set TblDef = dbs.TableDefs(idx) If TblDef.Attributes = dbAttachedTable Then TblDef.Connect = ";DATABASE=" & newpath & ";UID=;PWD=" TblDef.RefreshLink End If Next idx
dbs.Close Set dbs = Nothing
End Function
Bonjour Raymond
merci pour ta réponse rapide mais en envoyant le post
cela a aussi attiré mon attention.
Donc c'était bien ça. Merci
--
Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news:%23lvpu2ZtDHA.2380@TK2MSFTNGP09.phx.gbl...
Bonjour Jeff.
Il te manque le TblDef = Nothing
mais pas sur du tout.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Jeff" <jf@jf.com> a écrit dans le message de
news:ed3kIyZtDHA.2004@TK2MSFTNGP10.phx.gbl...
Bonjour à tous
Je teste sous Access 97 la fonction ci-dessous. Le problème:
dès que j'essaye de quitter l'application par un bouton ou un menu
par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre
principale Access. Il faut alors pour la fermer passer par le
gestionnaire de tâches.
Si je n'appelle pas cette fonction lors de l'ouverture de mon formulaire
principale, tout fonctionne parfaitement.
Si quelqu'un à une idée sur la question, je suis preneur
--
Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
; FONCTION
Function fCheckLinks()
Dim nbTbl As Long
Dim idx As Long
Dim dbs As DAO.Database
Dim TblDef As TableDef
Set dbs = CurrentDb()
Dim newpath As String
newpath = "C:FICHIER.INI"
nbTbl = dbs.TableDefs.Count
For idx = 0 To nbTbl - 1
Set TblDef = dbs.TableDefs(idx)
If TblDef.Attributes = dbAttachedTable Then
TblDef.Connect = ";DATABASE=" & newpath & ";UID=;PWD="
TblDef.RefreshLink
End If
Next idx
merci pour ta réponse rapide mais en envoyant le post cela a aussi attiré mon attention.
Donc c'était bien ça. Merci
-- Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
"Raymond [mvp]" a écrit dans le message de news:%
Bonjour Jeff.
Il te manque le TblDef = Nothing mais pas sur du tout.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour une meilleure efficacité de tes interventions sur MPFA
"Jeff" a écrit dans le message de news:
Bonjour à tous
Je teste sous Access 97 la fonction ci-dessous. Le problème: dès que j'essaye de quitter l'application par un bouton ou un menu par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre principale Access. Il faut alors pour la fermer passer par le gestionnaire de tâches.
Si je n'appelle pas cette fonction lors de l'ouverture de mon formulaire principale, tout fonctionne parfaitement.
Si quelqu'un à une idée sur la question, je suis preneur
-- Cordialement
Jeff
Charte du forum : http://users.skynet.be/mpfa/
; FONCTION
Function fCheckLinks()
Dim nbTbl As Long Dim idx As Long Dim dbs As DAO.Database Dim TblDef As TableDef Set dbs = CurrentDb() Dim newpath As String
newpath = "C:FICHIER.INI"
nbTbl = dbs.TableDefs.Count
For idx = 0 To nbTbl - 1 Set TblDef = dbs.TableDefs(idx) If TblDef.Attributes = dbAttachedTable Then TblDef.Connect = ";DATABASE=" & newpath & ";UID=;PWD=" TblDef.RefreshLink End If Next idx
dbs.Close Set dbs = Nothing
End Function
Anor
Bonjour Jeff
Une idée ; il faudrait peut-être que tu fermes l'objet TblDef .....
Sinon, la procédure que je propose sur
Jeff : | Bonjour à tous | | Je teste sous Access 97 la fonction ci-dessous. Le problème: | dès que j'essaye de quitter l'application par un bouton ou un menu | par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre | principale Access. Il faut alors pour la fermer passer par le | gestionnaire de tâches. | | Si je n'appelle pas cette fonction lors de l'ouverture de mon | formulaire principale, tout fonctionne parfaitement. | | Si quelqu'un à une idée sur la question, je suis preneur
Bonjour Jeff
Une idée ; il faudrait peut-être que tu fermes l'objet TblDef .....
Sinon, la procédure que je propose sur
Jeff <jf@jf.com> :
| Bonjour à tous
|
| Je teste sous Access 97 la fonction ci-dessous. Le problème:
| dès que j'essaye de quitter l'application par un bouton ou un menu
| par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre
| principale Access. Il faut alors pour la fermer passer par le
| gestionnaire de tâches.
|
| Si je n'appelle pas cette fonction lors de l'ouverture de mon
| formulaire principale, tout fonctionne parfaitement.
|
| Si quelqu'un à une idée sur la question, je suis preneur
Une idée ; il faudrait peut-être que tu fermes l'objet TblDef .....
Sinon, la procédure que je propose sur
Jeff : | Bonjour à tous | | Je teste sous Access 97 la fonction ci-dessous. Le problème: | dès que j'essaye de quitter l'application par un bouton ou un menu | par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre | principale Access. Il faut alors pour la fermer passer par le | gestionnaire de tâches. | | Si je n'appelle pas cette fonction lors de l'ouverture de mon | formulaire principale, tout fonctionne parfaitement. | | Si quelqu'un à une idée sur la question, je suis preneur
Anor
oups !
Je disais : la procédure que je propose sur http://memoaccess.free.fr/tables.htm#Links fonctionne correctement sur des bases 97 sur NT4.....
Tout ce que je peux dire, c'est que si je propose cette méthode-ci, c'est parce que j'avais remarqué avec les autres méthodes proposées sur les sites habituels, que :
1- rafraîchir systématiquement l'attache de toutes les tables attachées augmentait le temps de la procédure 2 - déclencher le changement de chemin dès la première erreur d'ouverture d'un recordset est 100 fois plus rapide que de tenter un rafraîchissement et laisser access échouer sur cette action puis changer de chemin.
Expérience personnelle, temps d'ouverture des users 2, 3 et suivants est passé de 3 minutes à 10 secondes avec cette méthode. Si elle n'était pas meilleure que celle des copains, je ne l'aurais pas publiée sur mon site ;-)))
-- à+ Arnaud -------------------------------------------------- Avant toute chose : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr ## Réponses souhaitées sur ce forum, merci. ## --------------------------------------------------
Jeff : | Bonjour à tous | | Je teste sous Access 97 la fonction ci-dessous. Le problème: | dès que j'essaye de quitter l'application par un bouton ou un menu | par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre | principale Access. Il faut alors pour la fermer passer par le | gestionnaire de tâches. | | Si je n'appelle pas cette fonction lors de l'ouverture de mon | formulaire principale, tout fonctionne parfaitement. | | Si quelqu'un à une idée sur la question, je suis preneur
oups !
Je disais : la procédure que je propose sur
http://memoaccess.free.fr/tables.htm#Links
fonctionne correctement sur des bases 97 sur NT4.....
Tout ce que je peux dire, c'est que si je propose cette méthode-ci,
c'est parce que j'avais remarqué avec les autres méthodes proposées sur les sites habituels, que
:
1- rafraîchir systématiquement l'attache de toutes les tables attachées augmentait le temps de
la procédure
2 - déclencher le changement de chemin dès la première erreur d'ouverture d'un recordset est 100
fois plus rapide que de tenter un
rafraîchissement et laisser access échouer sur cette action puis changer de chemin.
Expérience personnelle, temps d'ouverture des users 2, 3 et suivants est passé de 3 minutes à 10
secondes avec cette méthode.
Si elle n'était pas meilleure que celle des copains, je ne l'aurais pas publiée sur mon site
;-)))
--
à+
Arnaud
--------------------------------------------------
Avant toute chose : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
## Réponses souhaitées sur ce forum, merci. ##
--------------------------------------------------
Jeff <jf@jf.com> :
| Bonjour à tous
|
| Je teste sous Access 97 la fonction ci-dessous. Le problème:
| dès que j'essaye de quitter l'application par un bouton ou un menu
| par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre
| principale Access. Il faut alors pour la fermer passer par le
| gestionnaire de tâches.
|
| Si je n'appelle pas cette fonction lors de l'ouverture de mon
| formulaire principale, tout fonctionne parfaitement.
|
| Si quelqu'un à une idée sur la question, je suis preneur
Je disais : la procédure que je propose sur http://memoaccess.free.fr/tables.htm#Links fonctionne correctement sur des bases 97 sur NT4.....
Tout ce que je peux dire, c'est que si je propose cette méthode-ci, c'est parce que j'avais remarqué avec les autres méthodes proposées sur les sites habituels, que :
1- rafraîchir systématiquement l'attache de toutes les tables attachées augmentait le temps de la procédure 2 - déclencher le changement de chemin dès la première erreur d'ouverture d'un recordset est 100 fois plus rapide que de tenter un rafraîchissement et laisser access échouer sur cette action puis changer de chemin.
Expérience personnelle, temps d'ouverture des users 2, 3 et suivants est passé de 3 minutes à 10 secondes avec cette méthode. Si elle n'était pas meilleure que celle des copains, je ne l'aurais pas publiée sur mon site ;-)))
-- à+ Arnaud -------------------------------------------------- Avant toute chose : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr ## Réponses souhaitées sur ce forum, merci. ## --------------------------------------------------
Jeff : | Bonjour à tous | | Je teste sous Access 97 la fonction ci-dessous. Le problème: | dès que j'essaye de quitter l'application par un bouton ou un menu | par une commande DoCmd.Quit, la base se ferme mais pas la fenêtre | principale Access. Il faut alors pour la fermer passer par le | gestionnaire de tâches. | | Si je n'appelle pas cette fonction lors de l'ouverture de mon | formulaire principale, tout fonctionne parfaitement. | | Si quelqu'un à une idée sur la question, je suis preneur