Salvare percorso tabelle collegate

di il
7 risposte

Salvare percorso tabelle collegate

Salve a tutti,
sto lavorando su un db che dovra essere utilizzato in rete locale da piu utenti. ho diviso in due il db e vorrei utilizzare una procedura per collegare le tabelle ad ogni avvio del database e scollegarle prima della chiusura. prima di andare avanti ho gia un primo problema. dove memorizzo il percorso del db backend? Ho letto un post dove tale percorso viene memorizzato nel registro di sistema di windows, ma vorrei tenere tutto all'interno del file front end, l'idea di creare una tabella nel frontend sulla quale memorizzo il percorso non è che mi piace molto...In VB nella scheda del progetto c'era la scheda settings dove memorizzavo il percorso del db da utilizzare. Nel progetto inserivo sempre una form da dove potevo cambiare il percorso anche una volta compilato il progetto.
C'è la possibilita di fare questo anche con access? esiste un posto che non sia una tabella dove poter memorizzare la stringa del percorso
(magari anche non in chiaro?)?

7 Risposte

  • Re: Salvare percorso tabelle collegate

    Puoi leggere questo articolo:

    "masterdrive.it/microsoft-access-79/msaccess-gestione-relink-table-101119/"
  • Re: Salvare percorso tabelle collegate

    Grazie Alex il post che dicevo di aver letto era proprio quello, ma come detto preferire tenere tutto nel frontend niente registro di sistema. Esiste un posto dove salvare la stringa che non sia una tabella?
  • Re: Salvare percorso tabelle collegate

    Il Registro di Sistema è nel FE, ed è la parte dedicata ad Access... sei certo di aver capito il senso di quel codice...?
    A prescindere, è proprio il REGISTRY il posto in cui salvare questi dati... puoi anche fare un File INI esterno, certo che a me pare una cavolata dover avere dipendenze esterne, se qualcuno le apre con leggerezza ti corrompe il file di configuarazione.

    La soluzione del Registry di Access peraltro è gestibile anche senza privilegi di Amministratore.

    In ogni caso crea una Tabella Locale nel FE di Config e scrivi nella Tabella in Access, devi solo cambiare il punto di prelievo dell'Informazione... mi pare banale.
  • Re: Salvare percorso tabelle collegate

    Alla fine mi sono convito e ho utilizzato la tua soluzione, ho fatto una piccola modifica durante la gestione dell'errore se il file non esiste
     Case 10001:
                Dim Percorso As String
                Percorso = InputBox("Database non trovato. Inserire in percorso database valido")
                SaveSetting "Car", "RELINK", "RemotePATH", Percorso
    se il file non viene trovato mostro una inputbox da dove prelevo il nuovo percorso.
    Lo so lo so, manca il controllo se la inputbox è vuota e tutto il resto ma è solo per vedere se funziona ed effettivamente se il file non viene trovato la finestra viene mostrata e il registro viene aggiornato.
    Ho due problemi. Se cambio posto ad database backend e aggiorno il percorso nel registro quando le tabelle si dovrebbero linkare mi dice che non è possibile perche il database potrebbe essere gia aperto oppure che non ho le autorizzazioni necessarie a scrivere il file (il file è stato sempre posizionato all'interno della mia home quindi ho tutti i permessi necessari)
    il secondo problema è se lascio il db nella stessa cartella ma gli cambio il nome. Cambiando nome non viene trovato e durante la gestione dell'errore cambio il percorso. all'apertura successiva le tabelle sono linkate correttamente posso aprirle e vedere i dati, ma le maschere non funzionano. quando provo a lanciare una maschera mi da questo errore
    Errore di run-time 3276
    Riferimento all'oggetto di database non valido 
    Ma il nome del database delle linketd table è scritto in qualche tabella di sistema?
  • Re: Salvare percorso tabelle collegate

    Intanto non usare InputBox in quanto poi dovresti validare la digitazione.
    Usa Filedialog per la selezione del file.

    Se poi sposti i file dovresti anche fare i conti con il centro di protezione e la relativa aggiunta a TrustedLocation.

    Nello specifico non so se sia esattamente questo il tuo problema... prova ad indagare.
  • Re: Salvare percorso tabelle collegate

    @Alex ha scritto:


    Usa Filedialog per la selezione del file.
    Ho ripiegato su inputbox perche da qualche parte ho letto che filedialog non funzionano in runtime e il mio applicativo lo utilizzero con runtime....

    Ho trovato la causa per cui non funzionava, quando si cambia percorso o nome del database non appena le tabelle sono state nuovamente linkate bisogna dare un compatta e ripristina e tutto funziona... ora esiste un modo per poterlo fare via vba? distribuendo con runtime non ho la possibilita di utilizzare compatta e ripristina
  • Re: Salvare percorso tabelle collegate

    Per alternative all'impiego di FileDialog, con il runtime, ti suggerisco di leggere queste discussioni:
    https://stackoverflow.com/questions/51020703/ms-access-runtime-file-dialog-fails
Devi accedere o registrarti per scrivere nel forum
7 risposte