Come eliminare tabelle collegate dal FE?

Anonimo
2010-04-09T18:40:20+00:00

Salve a tutti,

ho la necissità di distribuire una applicazione access costituita da i due classici db di BE e FE (rispettivamente base dati e applicativo con tabelle collegate al BE)

La solita necessità di proteggere il più possibile l'applicazione mi ha portato a formulare il seguente ragionamento.

Protezioene del BE esclusivamente con password complessa di almeno 12 caratteri.

FE; file con codice compilato in .accde e disabilitazione del tasto Shift. Funzione di relink automatico o richiesta percorso BE in caso non presente nella stessa directory. Come ben sappiamo queste attività garantiscono una protezione finta per chi conosce un minimo di access. Infatti è possibile riabilitare dall'esterno tramita codice vba l'utilizzo dello shift del FE.e una volta entrati nel nella struttura del FE andando in lettura della tabella di sistema MSysObjects è possibile vedere in chiaro, in corrispondenza degli oggetti tabelle collegate, la papassword del db BE. Dunque le uniche cose che rimarrebbero riservate sono: la struttura delle maschere e tutto il codice VBA editato compilato. L'idea che ho avuto (penso che l'abbiano avuta in molti :)) è quella di collegare le tabelle del BE al FE da codice ogni volta che apro il FE. Il trucco è nel fatto che da codice se trovo  il tasto Shift abilitato lo disabilito e chiudo il db altriemnti procedo con il ricollegamento delle tabelle. Qusto comporterà il fatto che le mie tabelle saranno collegate solo se ho aperto il FE senza tasto Shift premuto. Fin qui sono riuscito ad impementare tutto. Il problema nasce quando a chiusura del database cerco di eliminare le tabelle collegate presenti nel FE. Tramite codice mi cerco tutti i nomi delle tabelle collegate e con il comando DoCmd.DeleteObject acTable, "nome Tabella" cerco di eliminarle una ad una. Durante tale operazione mi vien fuori un errore che mi dice che è impossibile eliminare la tabella richiesta in quanto sono presenti relazioni della stessa con altre tabelle. In effetti le tabelle nel BE sono Collegate da relazioni per garantire lintegrità referenziale dei dati. C'è un altro modo per eliminare quelle tabelle dal FE? Oppure ...,ancora meglio, esiste un metodo ugualmente o più sicuro per proteggere il mio applicativo.

Mi scuso delle lungaggini ma c'era bisogno che spiegassi bene la situazione

Vi ringrazio anticipatamente !

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2010-04-09T19:22:48+00:00

Ciao,

probabilmente hai creato per comodità le relazioni tra le tabelle allegate nel Fe per vederle automaticamente nella struttura delle query.

Per eliminare le tabelle nel Fe senza notifica di errore, puoi fare:


Currentdb.TableDefs.Delete "NomeTabella"


in questo modo saranno eliminate anche le relazioni interne del Fe, ovviamente le relazioni del Be rimarranno invariate.

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2010-04-12T19:35:18+00:00

    Grazie tante adesso funzione :)

    La risposta è stata utile?

    0 commenti Nessun commento