Newsgroup: it.comp.appl.access
Titolo: Aprire database access

Qualcuno saprebbe spiegarmi come si può fare per aprire un database access
da un altro database: mi spiego meglio
ho la necessità di creare un pulsante in un form che chiuda il database su
cui sto lavorando e ne apra
un altro.
grazie     Andrea M.

 wrote in message
9fkvof$hbm$1...@nreadA.inwind.it...

Senti, ma invece fare tutto dallo stesso database e collegarsi al secondo
quando serve in maniera trasparente all'utente, un po' come il principio del
FE e BE?
Antonio

credo che il mio problema sia un po diverso.
ho fatto un database che per necessità dell'ufficio all'inizio
 di ogni anno deve azzerare i dati contenuti in due tabelle
ma nello stesso tempo archiviare  i dati inseriti durante l'anno.
la soluzione da me adottata è la seguente :
ci tengo a precisare che pur conoscendo access da diversi anni non sono
assolutamente
esperto e la soluzione da me adottata è quasi sicuramente
 contorta :
nella directory del server ho messo due file :
il database principale che si chiama  mail.mdb
e un file che si chiama export.dll che non è altro
che il database principale rinominato  contenente form, macro ecc... ma
senza le tabelle
la procedura che ho scritto è la seguente:
Private Sub Command45_Click()
Dim Message, Title, Default, MyValue
Dim db As New Connection
Dim SourceFile, DestinationFile
Dim SSTRING As String
Message = "inserici il nome con cui vuoi archiviare il database"
Title = "Procesura di archiviazione"
'Default = "mail" & Year(Date)
Default = "mail" & Year(Date) & "-" & Date$ & "h" & Time
SSTRING = InputBox(Message, Title, Default)
*************************************************************
' richiesta del nome del file con il quale si vuole archiviare il database
'in automatico viene fornito un nome univoco al fine di evitare
'di sovrascrivere un database su un altro
*************************************************************
If SSTRING <> vbNullString Then
SourceFile = Application.CurrentProject.Path & "\" & "export.dll"
DestinationFile = Application.CurrentProject.Path & "\" & SSTRING & ".mdb"
FileCopy SourceFile, DestinationFile
****************************************************************************
*************
'il file export.dll viene duplicato e rinominato con il nome scritto
nell'inputbox e l'estensione mdb
****************************************************************************
*************
DoCmd.TransferDatabase acExport, "Microsoft Access",
Application.CurrentProject.Path & "\" & SSTRING & ".mdb", acTable,
"MAILIN00", "MAILIN00"
DoCmd.TransferDatabase acExport, "Microsoft Access",
Application.CurrentProject.Path & "\" & SSTRING & ".mdb", acTable,
"MAIOUT00", "MAIOUT00"
CurrentDb.Execute "delete * from MAILIN00"
CurrentDb.Execute "delete * from MAIOUT00"
MsgBox ("database: " & SSTRING & ".mdb  è stato archiviato correttamente
nella directory " & Application.CurrentProject.Path & "    il programma mail
si chiuderà automanticamente")
DoCmd.Quit
End If
End Sub
**************************************************************************
'le tabelle  MAILIN00 e MAIOUT00 vengono esportate nel nuovo file creato
'mentre nel database principale vengono svuotate del loro contenuto
'il programma poi si chiude poi automaticamente per consentire la
compattazione automatica e
****************************************************************************
***
Questa procedura anche se sicuramente contorta funziona perfettamente, la
cosa che mi piacerebbe fare
è costruire una machera che mi faccia vedere tutti i file contenuti in una
directory e che mi consenta di aprili e consultarli.
Questa operazione mi consentirebbe di automatizzare la procedura di
consultazione di achivi "storici" utilizzando sempre lo stesso programma.
In questo modo l'utente finale può eseguire tutte le operazioni senza
conoscere assolutamente access.
grazie a chiunque voglia rispondere al mio questito
Andrea

 conoscere assolutamente access.
Mi sembra che quindi tu voglia consultare le tabelle MAILIN00 e MAIOUT00 di
un qualunque database di salvataggio no?
Allora, metti nel tuo db due tabelle allegate puntando ad uno dei db di
salvatggio chiaramente saranno MAILIN00 e MAIOUT00.
Poi ti prepari le tue maschere di consultazione effetti speciali ecc. ecc.
su queste due tabelle come se fossero locali.
Prima di aprire però questa maschera, gli chiedi all'utente di collegarsi ad
un db di salvataggio e, se l'utente lo fa, aggiorni la proprietà connect
delle due tabelle con il path del db scelto. Questa procedura è spiegata nel
sitocomune in una nota chiamata riallegare le tabelle allegate o qualcosa
del genere. Se invece l'utente non sceglie il db, non apri la maschera.
Punto
Antonio