Salve ragazzi, sto realizzando un'applicazione in Access 2010 divisa in FE e BE. Il BE contiene, oltre a tutte le tabelle dati, anche la tabella con i nomi delle tabelle da linkare. All'apertura della maschera di login dal FE, tramite chiamata a funzione,
carico i link. Ho creato un modulo "basGLOBAL" in cui ho inserito il seguente codice:
Public Const strLnkTab As String = "tabLnkTables"
Public Const DB_SERVER As String = "SERVER.accdb"
Public Function getConnection() As String
getConnection = CurrentProject.Path & "" & DB_SERVER
End Function
Public Function OpenConnection()
On Error GoTo ERR_LINKED
Dim strTabName As String
Dim strPathBE As String
Dim dbOpenConn As DAO.Database
Dim rsOpenConn As DAO.Recordset
strPathBE = getConnection()
Set dbOpenConn = DBEngine.OpenDatabase(getConnection())
Set rsOpenConn = dbOpenConn.OpenRecordset(strLnkTab, dbOpenDynaset, dbReadOnly)
rsOpenConn.MoveFirst
Do Until rsOpenConn.EOF
strTabName = rsOpenConn.Fields(0).Value
CurrentDb.TableDefs.Delete strTabName
DoCmd.TransferDatabase acLink, "Microsoft Access", strPathBE, acTable, strTabName, strTabName
rsOpenConn.MoveNext
Loop
EXIT_HERE:
On Error Resume Next
rsOpenConn.Close
Set rsOpenConn = Nothing
dbOpenConn.Close
Set dbOpenConn = Nothing
Exit Function
ERR_LINKED:
MsgBox "Errore n° " & Err.Number & ": " & Err.Description, vbExclamation, "Errore di sistema"
Resume EXIT_HERE
End Function
Poi nell'evento Open della maschera "frmLogin":
Private Sub Form_Open(Cancel As Integer)
Call OpenConnection
End Sub
Purtroppo non vuol saperne di funzionare. Continua a restituirmi "errore 3265: Elemento non trovato in questo insieme". Ho consultato l'help del programma, controllato nomi di variabili, cercato in rete... ma niente. Sto uscendo pazzo, non so più che pesci
pigliare. Spero che qualcuno possa darmi una mano.
Ciao Alberto