Newsgroup: it.comp.appl.access
Titolo: Aprire db da codice!

Ciao a tutti,
vorrei inserire nell'evento "su click" di un pulsante presente in una
maschera, la routine o la riga di codice che mi consenta di aprire un
db esterno.
Vorrei possibilmente conoscere le 2 soluzioni:ovvero sia se il db si
trovi in un altro pc della Lan (es. \\rossi\documenti\db.mdb), oppure
se si trovi in una cartella locale (Es. C:\documenti\db.mdb).
Mi aiutate per favore?
Grazie per l'aiuto ovviamente a tutto il newsgroup

bizio ha scritto:

Aggiungo anch es eil db si trova su as400 iseries

(.....)

Cosa intendi con "aprire" ?
Cosa devi farci una volta aperto ?
Forse non devi aprirlo, ma collegare le tabelle ?
Comunque le istruzioni per aprire un database sono :
Dim dbs as DatBAse
Set dbs = DBEngine.OpenDatabase(NomeDatabaseCompresoIlPercorso)
Per esempio:
Dim dbs as DatBAse
Set dbs = DBEngine.OpenDatabase("\\rossi\documenti\db.mdb")
oppure
Set dbs = DBEngine.OpenDatabase("C:\documenti\db.mdb")
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
risorse Access:
http://www.accessgroup.it
---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com
---------------------------------------------

 wrote:

Ho inserito questa routine secondo il suggerimento ma facendo click
sul pulsante non succede nulla,perchè?:
Private Sub Comando294_Click()
Dim dbs As Database
Set dbs = DBEngine.OpenDatabase("C:\Documents and Settings
\utente1\Desktop\db1.mdb")
End Sub
il database"db1.mdb" è sul desktop

Ho inserito questa routine secondo il suggerimento ma facendo click
sul pulsante non succede nulla,perchč?:
Private Sub Comando294_Click()
Dim dbs As Database
Set dbs = DBEngine.OpenDatabase("C:\Documents and Settings
\utente1\Desktop\db1.mdb")
End Sub
il database"db1.mdb" č sul desktop
Scusa ma cosa ti aspettavi....?
L'oggetto Database č aperto i memoria... tu cosa intendi per APRIRE...?
Se devi lanciare il file MDB allora č un'altra cosa... usa il metodo
FolloHyperlink...
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

il database"db1.mdb" č sul desktop
E cosa doveva succedere ?
Adesso il db č aperto, cosě come avevi richiesto.
Cosa non era chiaro nelle domande che ti ho fatto ?
Perchč non hai risposto ?
Se non spieghi in dettaglio cosa vuoi fare, č impossibile aiutarti.
"Aprire" puň avere decine di significati diversi a secondo del contesto e delle consuetudini/abitudini (non solo
linguistiche) di ognuno di noi.
Se non ci intendiamo sui termini, non si va da nessuna parte.


(.....)

Se la domanda di bizio č poco chiara, la tua č veramente criptica.


 ---------------------------------------------
Scusate se sono stato "poco chiaro",non pensavo di suscitare tali
reazioni.
Provo a spiegarmi meglio allora.
Per "aprire" un db da codice intendo dire proprio "aprire" (forse è
meglio dire lanciare?) un db, ovvero attraverso il click di un
pulsante in una maschera voglio "lanciare" il database ("db1" sul
desktop),avendo quindi di seguito la possibilità di inserire la
password di accesso, e visualizzarne il pannello comandi (se impostato
all'apertura,ad esempio)
Mi servirebbe solo sapere la proprietà e la sintassi che mi permetta
di "lanciare" un db esterno da codice
Spero sia andato meglio stavolta nella spiegazione del problema
Ringrazio comunque tutti per l'eventuale aiuto
Saluti


Con questa sub, messa in un modulo del db, "lancio" un altro db (nel
caso specifico "siap.mde"), ed esco dal precedente:
Public Sub EseguiSiap()
Dim programma As String, percorso As String, stDocName As String
percorso = DLookup("[Path_SIAP]", "tsy_Path")
programma = DLookup("[Nome_SIAP]", "tsy_Path")
stDocName = "MSAccess.exe " & percorso & programma & ".mde"
Shell stDocName, vbNormalFocus
DoCmd.Quit
End Sub
Spiegazione:
tsy_Path: tabella che contiene il percorso del db
Path_SIAP: campo della tabella che contiene il percorso del db
Nome_SIAP: campo della tabella che contiene il nome del db
Saluti da ebola49

 ---------------------------------------------
Scusate se sono stato "poco chiaro",non pensavo di suscitare tali
reazioni.
Provo a spiegarmi meglio allora.
Per "aprire" un db da codice intendo dire proprio "aprire" (forse č
meglio dire lanciare?) un db, ovvero attraverso il click di un
pulsante in una maschera voglio "lanciare" il database ("db1" sul
desktop),avendo quindi di seguito la possibilitŕ di inserire la
password di accesso, e visualizzarne il pannello comandi (se impostato
all'apertura,ad esempio)
Mi servirebbe solo sapere la proprietŕ e la sintassi che mi permetta
di "lanciare" un db esterno da codice
Spero sia andato meglio stavolta nella spiegazione del problema
Ringrazio comunque tutti per l'eventuale aiuto
Saluti
io con questo codice avvio un db passandogli la password:
Private Sub Comando44_Click()
Dim db As DAO.Database
Dim strDb As String
Dim acc As New Access.Application
Const strPWD As String = ";pwd=123456"
strDb = "m:\Programmi\Avvocati.mdb"
'apre il datatbase con password
Set db = acc.DBEngine.OpenDatabase(strDb, fase, False, strPWD)
acc.OpenCurrentDatabase strDb
'NECESSARIO ALLO SCOPO DI MASSIMIZZARE L'APPLICAZIONE
acc.RunCommand acCmdAppRestore
acc.RunCommand acCmdAppMaximize
acc.DoCmd.Maximize
db.Close
End Sub
-- 
Ciao
Access