Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même après
que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi un
autre objet de type ADO.DataBase, ceux-ci sont automatiquement fermés dès
que db1.mdb est fermée
Merci pour toute suggestion!
Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même après
que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi un
autre objet de type ADO.DataBase, ceux-ci sont automatiquement fermés dès
que db1.mdb est fermée
Merci pour toute suggestion!
Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même après
que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi un
autre objet de type ADO.DataBase, ceux-ci sont automatiquement fermés dès
que db1.mdb est fermée
Merci pour toute suggestion!
Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même après
que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement fermés
dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
Bonjour,
Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même après
que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement fermés
dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même après
que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement fermés
dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
et tu es sûr que le résultat de la variable ne disparaîtra pas une fois le
script terminé??
"Michel_D" a écrit dans le message de
news: %Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même après
que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement fermés
dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
et tu es sûr que le résultat de la variable ne disparaîtra pas une fois le
script terminé??
"Michel_D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message de
news: %23MKlLDRZIHA.2000@TK2MSFTNGP05.phx.gbl...
Bonjour,
Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même après
que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement fermés
dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
et tu es sûr que le résultat de la variable ne disparaîtra pas une fois le
script terminé??
"Michel_D" a écrit dans le message de
news: %Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même après
que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement fermés
dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")"Michel_D" a écrit dans le message
de news: %Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement
fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")
"Michel_D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message
de news: %23MKlLDRZIHA.2000@TK2MSFTNGP05.phx.gbl...
Bonjour,
Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement
fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")"Michel_D" a écrit dans le message
de news: %Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement
fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
Hello Michel!
Merci beaucoup pour ta réponse!
c'est exactement ce que j'ai fait en utilisant la fonction Shell.. ca marche
très bien pour l'application, mais la base de donnée qui est ouvert dans
cette nouvelle instance d'access disparait aussi tot que la variable
DataBase est supprimée de la mémoire...
Sub OpenPasswordProtectedDB()
Static acc As Access.application
Dim db As DAO.Database, pathDb As String
Shell "MsAccess", vbNormalFocus
Set acc = GetObject("", "Access.Application") 'Car je veux prendre celle
qui n'a pas de base ouverte et pas l'actuelle
acc.Visible = True
Set db = acc.DBEngine.OpenDatabase(pathDb, False, False,
";PWD=myPassword")
acc.OpenCurrentDatabase "C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb"
db.Close
Set db = Nothing
End Sub
L'application reste affichée après la fermeture du module (car lancé grâce à
Shell) mais la base est fermée!
Désolé de ne pas avoir expliqué le but de tout ca, c'était pour ne pas faire
fuir les gens..
le but est d'avoir une base sécurisé par un mot de pass (pas au niveau
workspace, car n'apparait pas quand on créé une base vide et importe les
objets de la base pseudo sécurisée)
d'avoir une autre base (ou applic vb desktop, ou n'importe..) qui se check
le login de la session Windows, et en fonction de la personne, ouvre
directement la base, ou au contraire demande le mot de pass!
Merci encore et un très bon weekend!
"Michel_D" a écrit dans le message de
news: %et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")"Michel_D" a écrit dans le message
de news: %Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement
fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
Hello Michel!
Merci beaucoup pour ta réponse!
c'est exactement ce que j'ai fait en utilisant la fonction Shell.. ca marche
très bien pour l'application, mais la base de donnée qui est ouvert dans
cette nouvelle instance d'access disparait aussi tot que la variable
DataBase est supprimée de la mémoire...
Sub OpenPasswordProtectedDB()
Static acc As Access.application
Dim db As DAO.Database, pathDb As String
Shell "MsAccess", vbNormalFocus
Set acc = GetObject("", "Access.Application") 'Car je veux prendre celle
qui n'a pas de base ouverte et pas l'actuelle
acc.Visible = True
Set db = acc.DBEngine.OpenDatabase(pathDb, False, False,
";PWD=myPassword")
acc.OpenCurrentDatabase "C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb"
db.Close
Set db = Nothing
End Sub
L'application reste affichée après la fermeture du module (car lancé grâce à
Shell) mais la base est fermée!
Désolé de ne pas avoir expliqué le but de tout ca, c'était pour ne pas faire
fuir les gens..
le but est d'avoir une base sécurisé par un mot de pass (pas au niveau
workspace, car n'apparait pas quand on créé une base vide et importe les
objets de la base pseudo sécurisée)
d'avoir une autre base (ou applic vb desktop, ou n'importe..) qui se check
le login de la session Windows, et en fonction de la personne, ouvre
directement la base, ou au contraire demande le mot de pass!
Merci encore et un très bon weekend!
"Michel_D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message de
news: %23pGLKoRZIHA.1132@TK2MSFTNGP06.phx.gbl...
et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")
"Michel_D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message
de news: %23MKlLDRZIHA.2000@TK2MSFTNGP05.phx.gbl...
Bonjour,
Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement
fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
Hello Michel!
Merci beaucoup pour ta réponse!
c'est exactement ce que j'ai fait en utilisant la fonction Shell.. ca marche
très bien pour l'application, mais la base de donnée qui est ouvert dans
cette nouvelle instance d'access disparait aussi tot que la variable
DataBase est supprimée de la mémoire...
Sub OpenPasswordProtectedDB()
Static acc As Access.application
Dim db As DAO.Database, pathDb As String
Shell "MsAccess", vbNormalFocus
Set acc = GetObject("", "Access.Application") 'Car je veux prendre celle
qui n'a pas de base ouverte et pas l'actuelle
acc.Visible = True
Set db = acc.DBEngine.OpenDatabase(pathDb, False, False,
";PWD=myPassword")
acc.OpenCurrentDatabase "C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb"
db.Close
Set db = Nothing
End Sub
L'application reste affichée après la fermeture du module (car lancé grâce à
Shell) mais la base est fermée!
Désolé de ne pas avoir expliqué le but de tout ca, c'était pour ne pas faire
fuir les gens..
le but est d'avoir une base sécurisé par un mot de pass (pas au niveau
workspace, car n'apparait pas quand on créé une base vide et importe les
objets de la base pseudo sécurisée)
d'avoir une autre base (ou applic vb desktop, ou n'importe..) qui se check
le login de la session Windows, et en fonction de la personne, ouvre
directement la base, ou au contraire demande le mot de pass!
Merci encore et un très bon weekend!
"Michel_D" a écrit dans le message de
news: %et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")"Michel_D" a écrit dans le message
de news: %Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et aussi
un autre objet de type ADO.DataBase, ceux-ci sont automatiquement
fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes objets
via un script vbs.
Bonjour,
Ben avec :
db.Close
Set db = Nothing
C'est normal que tu n'ai plus de base accessible, réfléchit calmement
à ce que tu veux obtenir (garder actif/accessible).
PS:Maintenant pour la finalité recherchée, je ne suis pas sur que ce soit
la bonne méthode (de mon point de vue).
Si j'ai un peu de temps, je me pencherai sur ce probléme de base
sécurisée.Hello Michel!
Merci beaucoup pour ta réponse!
c'est exactement ce que j'ai fait en utilisant la fonction Shell.. ca
marche très bien pour l'application, mais la base de donnée qui est
ouvert dans cette nouvelle instance d'access disparait aussi tot que la
variable DataBase est supprimée de la mémoire...
Sub OpenPasswordProtectedDB()
Static acc As Access.application
Dim db As DAO.Database, pathDb As String
Shell "MsAccess", vbNormalFocus
Set acc = GetObject("", "Access.Application") 'Car je veux prendre
celle qui n'a pas de base ouverte et pas l'actuelle
acc.Visible = True
Set db = acc.DBEngine.OpenDatabase(pathDb, False, False,
";PWD=myPassword")
acc.OpenCurrentDatabase "C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb"
db.Close
Set db = Nothing
End Sub
L'application reste affichée après la fermeture du module (car lancé
grâce à Shell) mais la base est fermée!
Désolé de ne pas avoir expliqué le but de tout ca, c'était pour ne pas
faire fuir les gens..
le but est d'avoir une base sécurisé par un mot de pass (pas au niveau
workspace, car n'apparait pas quand on créé une base vide et importe les
objets de la base pseudo sécurisée)
d'avoir une autre base (ou applic vb desktop, ou n'importe..) qui se
check le login de la session Windows, et en fonction de la personne,
ouvre directement la base, ou au contraire demande le mot de pass!
Merci encore et un très bon weekend!
"Michel_D" a écrit dans le message
de news: %et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")"Michel_D" a écrit dans le
message de news: %Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et
aussi un autre objet de type ADO.DataBase, ceux-ci sont
automatiquement fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes
objets
via un script vbs.
Bonjour,
Ben avec :
db.Close
Set db = Nothing
C'est normal que tu n'ai plus de base accessible, réfléchit calmement
à ce que tu veux obtenir (garder actif/accessible).
PS:Maintenant pour la finalité recherchée, je ne suis pas sur que ce soit
la bonne méthode (de mon point de vue).
Si j'ai un peu de temps, je me pencherai sur ce probléme de base
sécurisée.
Hello Michel!
Merci beaucoup pour ta réponse!
c'est exactement ce que j'ai fait en utilisant la fonction Shell.. ca
marche très bien pour l'application, mais la base de donnée qui est
ouvert dans cette nouvelle instance d'access disparait aussi tot que la
variable DataBase est supprimée de la mémoire...
Sub OpenPasswordProtectedDB()
Static acc As Access.application
Dim db As DAO.Database, pathDb As String
Shell "MsAccess", vbNormalFocus
Set acc = GetObject("", "Access.Application") 'Car je veux prendre
celle qui n'a pas de base ouverte et pas l'actuelle
acc.Visible = True
Set db = acc.DBEngine.OpenDatabase(pathDb, False, False,
";PWD=myPassword")
acc.OpenCurrentDatabase "C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb"
db.Close
Set db = Nothing
End Sub
L'application reste affichée après la fermeture du module (car lancé
grâce à Shell) mais la base est fermée!
Désolé de ne pas avoir expliqué le but de tout ca, c'était pour ne pas
faire fuir les gens..
le but est d'avoir une base sécurisé par un mot de pass (pas au niveau
workspace, car n'apparait pas quand on créé une base vide et importe les
objets de la base pseudo sécurisée)
d'avoir une autre base (ou applic vb desktop, ou n'importe..) qui se
check le login de la session Windows, et en fonction de la personne,
ouvre directement la base, ou au contraire demande le mot de pass!
Merci encore et un très bon weekend!
"Michel_D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message
de news: %23pGLKoRZIHA.1132@TK2MSFTNGP06.phx.gbl...
et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")
"Michel_D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: %23MKlLDRZIHA.2000@TK2MSFTNGP05.phx.gbl...
Bonjour,
Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et
aussi un autre objet de type ADO.DataBase, ceux-ci sont
automatiquement fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes
objets
via un script vbs.
Bonjour,
Ben avec :
db.Close
Set db = Nothing
C'est normal que tu n'ai plus de base accessible, réfléchit calmement
à ce que tu veux obtenir (garder actif/accessible).
PS:Maintenant pour la finalité recherchée, je ne suis pas sur que ce soit
la bonne méthode (de mon point de vue).
Si j'ai un peu de temps, je me pencherai sur ce probléme de base
sécurisée.Hello Michel!
Merci beaucoup pour ta réponse!
c'est exactement ce que j'ai fait en utilisant la fonction Shell.. ca
marche très bien pour l'application, mais la base de donnée qui est
ouvert dans cette nouvelle instance d'access disparait aussi tot que la
variable DataBase est supprimée de la mémoire...
Sub OpenPasswordProtectedDB()
Static acc As Access.application
Dim db As DAO.Database, pathDb As String
Shell "MsAccess", vbNormalFocus
Set acc = GetObject("", "Access.Application") 'Car je veux prendre
celle qui n'a pas de base ouverte et pas l'actuelle
acc.Visible = True
Set db = acc.DBEngine.OpenDatabase(pathDb, False, False,
";PWD=myPassword")
acc.OpenCurrentDatabase "C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb"
db.Close
Set db = Nothing
End Sub
L'application reste affichée après la fermeture du module (car lancé
grâce à Shell) mais la base est fermée!
Désolé de ne pas avoir expliqué le but de tout ca, c'était pour ne pas
faire fuir les gens..
le but est d'avoir une base sécurisé par un mot de pass (pas au niveau
workspace, car n'apparait pas quand on créé une base vide et importe les
objets de la base pseudo sécurisée)
d'avoir une autre base (ou applic vb desktop, ou n'importe..) qui se
check le login de la session Windows, et en fonction de la personne,
ouvre directement la base, ou au contraire demande le mot de pass!
Merci encore et un très bon weekend!
"Michel_D" a écrit dans le message
de news: %et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")"Michel_D" a écrit dans le
message de news: %Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et
aussi un autre objet de type ADO.DataBase, ceux-ci sont
automatiquement fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes
objets
via un script vbs.
Bonjour,
Ben avec :
db.Close
Set db = Nothing
C'est normal que tu n'ai plus de base accessible, réfléchit calmement
à ce que tu veux obtenir (garder actif/accessible).
PS:Maintenant pour la finalité recherchée, je ne suis pas sur que ce soit
la bonne méthode (de mon point de vue).
Si j'ai un peu de temps, je me pencherai sur ce probléme de base
sécurisée.Hello Michel!
Merci beaucoup pour ta réponse!
c'est exactement ce que j'ai fait en utilisant la fonction Shell.. ca
marche très bien pour l'application, mais la base de donnée qui est
ouvert dans cette nouvelle instance d'access disparait aussi tot que la
variable DataBase est supprimée de la mémoire...
Sub OpenPasswordProtectedDB()
Static acc As Access.application
Dim db As DAO.Database, pathDb As String
Shell "MsAccess", vbNormalFocus
Set acc = GetObject("", "Access.Application") 'Car je veux prendre
celle qui n'a pas de base ouverte et pas l'actuelle
acc.Visible = True
Set db = acc.DBEngine.OpenDatabase(pathDb, False, False,
";PWD=myPassword")
acc.OpenCurrentDatabase "C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb"
db.Close
Set db = Nothing
End Sub
L'application reste affichée après la fermeture du module (car lancé
grâce à Shell) mais la base est fermée!
Désolé de ne pas avoir expliqué le but de tout ca, c'était pour ne pas
faire fuir les gens..
le but est d'avoir une base sécurisé par un mot de pass (pas au niveau
workspace, car n'apparait pas quand on créé une base vide et importe les
objets de la base pseudo sécurisée)
d'avoir une autre base (ou applic vb desktop, ou n'importe..) qui se
check le login de la session Windows, et en fonction de la personne,
ouvre directement la base, ou au contraire demande le mot de pass!
Merci encore et un très bon weekend!
"Michel_D" a écrit dans le message
de news: %et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")"Michel_D" a écrit dans le
message de news: %Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et
aussi un autre objet de type ADO.DataBase, ceux-ci sont
automatiquement fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes
objets
via un script vbs.
Bonjour,
Ben avec :
db.Close
Set db = Nothing
C'est normal que tu n'ai plus de base accessible, réfléchit calmement
à ce que tu veux obtenir (garder actif/accessible).
PS:Maintenant pour la finalité recherchée, je ne suis pas sur que ce soit
la bonne méthode (de mon point de vue).
Si j'ai un peu de temps, je me pencherai sur ce probléme de base
sécurisée.
Hello Michel!
Merci beaucoup pour ta réponse!
c'est exactement ce que j'ai fait en utilisant la fonction Shell.. ca
marche très bien pour l'application, mais la base de donnée qui est
ouvert dans cette nouvelle instance d'access disparait aussi tot que la
variable DataBase est supprimée de la mémoire...
Sub OpenPasswordProtectedDB()
Static acc As Access.application
Dim db As DAO.Database, pathDb As String
Shell "MsAccess", vbNormalFocus
Set acc = GetObject("", "Access.Application") 'Car je veux prendre
celle qui n'a pas de base ouverte et pas l'actuelle
acc.Visible = True
Set db = acc.DBEngine.OpenDatabase(pathDb, False, False,
";PWD=myPassword")
acc.OpenCurrentDatabase "C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb"
db.Close
Set db = Nothing
End Sub
L'application reste affichée après la fermeture du module (car lancé
grâce à Shell) mais la base est fermée!
Désolé de ne pas avoir expliqué le but de tout ca, c'était pour ne pas
faire fuir les gens..
le but est d'avoir une base sécurisé par un mot de pass (pas au niveau
workspace, car n'apparait pas quand on créé une base vide et importe les
objets de la base pseudo sécurisée)
d'avoir une autre base (ou applic vb desktop, ou n'importe..) qui se
check le login de la session Windows, et en fonction de la personne,
ouvre directement la base, ou au contraire demande le mot de pass!
Merci encore et un très bon weekend!
"Michel_D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le message
de news: %23pGLKoRZIHA.1132@TK2MSFTNGP06.phx.gbl...
et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")
"Michel_D" <Michel.NOSPAM@orange-ft.com.invalid> a écrit dans le
message de news: %23MKlLDRZIHA.2000@TK2MSFTNGP05.phx.gbl...
Bonjour,
Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et
aussi un autre objet de type ADO.DataBase, ceux-ci sont
automatiquement fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes
objets
via un script vbs.
Bonjour,
Ben avec :
db.Close
Set db = Nothing
C'est normal que tu n'ai plus de base accessible, réfléchit calmement
à ce que tu veux obtenir (garder actif/accessible).
PS:Maintenant pour la finalité recherchée, je ne suis pas sur que ce soit
la bonne méthode (de mon point de vue).
Si j'ai un peu de temps, je me pencherai sur ce probléme de base
sécurisée.Hello Michel!
Merci beaucoup pour ta réponse!
c'est exactement ce que j'ai fait en utilisant la fonction Shell.. ca
marche très bien pour l'application, mais la base de donnée qui est
ouvert dans cette nouvelle instance d'access disparait aussi tot que la
variable DataBase est supprimée de la mémoire...
Sub OpenPasswordProtectedDB()
Static acc As Access.application
Dim db As DAO.Database, pathDb As String
Shell "MsAccess", vbNormalFocus
Set acc = GetObject("", "Access.Application") 'Car je veux prendre
celle qui n'a pas de base ouverte et pas l'actuelle
acc.Visible = True
Set db = acc.DBEngine.OpenDatabase(pathDb, False, False,
";PWD=myPassword")
acc.OpenCurrentDatabase "C:Program FilesMicrosoft
OfficeOffice10SamplesNorthwind.mdb"
db.Close
Set db = Nothing
End Sub
L'application reste affichée après la fermeture du module (car lancé
grâce à Shell) mais la base est fermée!
Désolé de ne pas avoir expliqué le but de tout ca, c'était pour ne pas
faire fuir les gens..
le but est d'avoir une base sécurisé par un mot de pass (pas au niveau
workspace, car n'apparait pas quand on créé une base vide et importe les
objets de la base pseudo sécurisée)
d'avoir une autre base (ou applic vb desktop, ou n'importe..) qui se
check le login de la session Windows, et en fonction de la personne,
ouvre directement la base, ou au contraire demande le mot de pass!
Merci encore et un très bon weekend!
"Michel_D" a écrit dans le message
de news: %et tu es sûr que le résultat de la variable ne disparaîtra pas une fois
le script terminé??
Oui, mais il faut lancer Access via la méthode Run de l'objet
WScript.Shell
et tu récupère l'objet Access.Application via
GetObject(,"Access.Application")"Michel_D" a écrit dans le
message de news: %Bonjour,Bonjour!
Est-ce possible de garder un objet d'Access.Application en vie même
après que la mémoire du module qui a créé cet objet soit libérée?
Parce que si db1.mdb crée un objet de type Access.Application, et
aussi un autre objet de type ADO.DataBase, ceux-ci sont
automatiquement fermés dès que db1.mdb est fermée
Merci pour toute suggestion!
Je ne sais pas ce que tu cherche à faire, mais tu peux créer tes
objets
via un script vbs.
Hello, Merci encore pour ta réponse!
Meme si je ne faisais pas de db.Close et SET db=Nothing, je dois fermer la
première base, et Access s'occupera de vider la place allouée par les
variables..
Une solution serait de garder en la base de départ ouverte mais en mode
caché, seulement ce n'est pas propre de faire ca comme ca.
Hello, Merci encore pour ta réponse!
Meme si je ne faisais pas de db.Close et SET db=Nothing, je dois fermer la
première base, et Access s'occupera de vider la place allouée par les
variables..
Une solution serait de garder en la base de départ ouverte mais en mode
caché, seulement ce n'est pas propre de faire ca comme ca.
Hello, Merci encore pour ta réponse!
Meme si je ne faisais pas de db.Close et SET db=Nothing, je dois fermer la
première base, et Access s'occupera de vider la place allouée par les
variables..
Une solution serait de garder en la base de départ ouverte mais en mode
caché, seulement ce n'est pas propre de faire ca comme ca.
... qu'est-ce qui t'empêche d'écrire les variables dans une table ?
Tu pourrais même avoir cette table dans ta deuxième db et écrire tes
variables dans l'attachement que tu aurais fait dans ta première table.
Je t'explique + si nécessaire.
Jac
"Georges" a écrit dans le message de news:
47a72ccf$0$21469$Hello, Merci encore pour ta réponse!
Meme si je ne faisais pas de db.Close et SET db=Nothing, je dois fermer
la première base, et Access s'occupera de vider la place allouée par les
variables..
Une solution serait de garder en la base de départ ouverte mais en mode
caché, seulement ce n'est pas propre de faire ca comme ca.
... qu'est-ce qui t'empêche d'écrire les variables dans une table ?
Tu pourrais même avoir cette table dans ta deuxième db et écrire tes
variables dans l'attachement que tu aurais fait dans ta première table.
Je t'explique + si nécessaire.
Jac
"Georges" <georges@jungle.nz> a écrit dans le message de news:
47a72ccf$0$21469$5402220f@news.sunrise.ch...
Hello, Merci encore pour ta réponse!
Meme si je ne faisais pas de db.Close et SET db=Nothing, je dois fermer
la première base, et Access s'occupera de vider la place allouée par les
variables..
Une solution serait de garder en la base de départ ouverte mais en mode
caché, seulement ce n'est pas propre de faire ca comme ca.
... qu'est-ce qui t'empêche d'écrire les variables dans une table ?
Tu pourrais même avoir cette table dans ta deuxième db et écrire tes
variables dans l'attachement que tu aurais fait dans ta première table.
Je t'explique + si nécessaire.
Jac
"Georges" a écrit dans le message de news:
47a72ccf$0$21469$Hello, Merci encore pour ta réponse!
Meme si je ne faisais pas de db.Close et SET db=Nothing, je dois fermer
la première base, et Access s'occupera de vider la place allouée par les
variables..
Une solution serait de garder en la base de départ ouverte mais en mode
caché, seulement ce n'est pas propre de faire ca comme ca.
Salut Jac,
Merci pour ta suggestion.. Je n'ai pas essayé de faire passer la variable
dans une table, car je ne vois pas la vrai finalité de ton idée..
je peux faire le code nécessaire pour enregistrer le contenu de la
variable qui doit être de type Integer ou Long dans une table Access, mais
après j'en fais quoi une fois que je l'ai récupéré? ce n'est pas pour
autant que la base restera ouverte... Si tu pouvais etre plus clair, cela
m'aidera à comprendre ta suggestion.
Merci d'avance
"Jac" a écrit dans le message de news:
eZ$v4V%... qu'est-ce qui t'empêche d'écrire les variables dans une table ?
Tu pourrais même avoir cette table dans ta deuxième db et écrire tes
variables dans l'attachement que tu aurais fait dans ta première table.
Je t'explique + si nécessaire.
Jac
Salut Jac,
Merci pour ta suggestion.. Je n'ai pas essayé de faire passer la variable
dans une table, car je ne vois pas la vrai finalité de ton idée..
je peux faire le code nécessaire pour enregistrer le contenu de la
variable qui doit être de type Integer ou Long dans une table Access, mais
après j'en fais quoi une fois que je l'ai récupéré? ce n'est pas pour
autant que la base restera ouverte... Si tu pouvais etre plus clair, cela
m'aidera à comprendre ta suggestion.
Merci d'avance
"Jac" <Jsansp@mfra.net> a écrit dans le message de news:
eZ$v4V%23ZIHA.1532@TK2MSFTNGP04.phx.gbl...
... qu'est-ce qui t'empêche d'écrire les variables dans une table ?
Tu pourrais même avoir cette table dans ta deuxième db et écrire tes
variables dans l'attachement que tu aurais fait dans ta première table.
Je t'explique + si nécessaire.
Jac
Salut Jac,
Merci pour ta suggestion.. Je n'ai pas essayé de faire passer la variable
dans une table, car je ne vois pas la vrai finalité de ton idée..
je peux faire le code nécessaire pour enregistrer le contenu de la
variable qui doit être de type Integer ou Long dans une table Access, mais
après j'en fais quoi une fois que je l'ai récupéré? ce n'est pas pour
autant que la base restera ouverte... Si tu pouvais etre plus clair, cela
m'aidera à comprendre ta suggestion.
Merci d'avance
"Jac" a écrit dans le message de news:
eZ$v4V%... qu'est-ce qui t'empêche d'écrire les variables dans une table ?
Tu pourrais même avoir cette table dans ta deuxième db et écrire tes
variables dans l'attachement que tu aurais fait dans ta première table.
Je t'explique + si nécessaire.
Jac