Salve ecco il problema:
devo compattare un db access ecco la routine
----------------- inizio ---------
Dim dbnameOLD, dbnameNEW, sPassword
dbnameOLD = "c:\miadir\miodb.mdb"
dbnameNEW = "c:\miadir\da_compattare"
sPassword = "miapwd"
RepairDatabase dbnameOLD
CompactDatabase dbnameOLD, dbnameNEW, , , ";pwd=" & sPassword

Kill dbnameOLD
Name dbnameNEW As dbnameNew
MsgBox "Operazione avvenuta con successo"
--------------fine-------------------
quando vado ad eseguire mi da il seguente errore:

Errore di run-time '3356'

You attempted to open a database that is already opened exclusively
by user 'nome' on machine 'nome'. Try again when the database
is available.

Praticamente che il database è aperto in modo esclusiovo da un altro
utente e che devo chiuderlo.

Visto che uso i data control voglio sapere come si fa a chiudere
un database.
Premetto che apro effettivamente questo db prima di lanciare la routine e precisamente in questo modo:

data1.databasename="c:\miadir\miodb.mdb"
Data1.Connect = ";pwd=miapwd"

ps. La routine va bene in quanto non aprendo il db il tutto funziona.