tommy55 ha scritto:
Metto una cartella condivisa in vpn accessibile da tutti i pc e salvo i file al suo interno. Ogni Pc vede la cartella con percorsi diversi e qui il problema.
Perché?
Non puoi semplificarti la vita creando un'area di deposito file centrale rispetto alla vpn, in modo che tutti i client la vedano come \\nome_o_ip_server\nome_share\ (presumendo di essere in ambiente Windows, dato l'utilizzo di Accesso come front-end).
tommy55 ha scritto:
Faccio in modo che una query front end legga la tabella ODBC e sotragga la parte antecedente del percorso nome del file e lo sostituisca con quello del fron end 2. In pratica ogni fron end leggerà tutti i percorsi file, siano essi generati dal pc giusto o da gli altri, e modificherà l'indirizzo in modo da raggiungere il file.
L'unica cosa è che l'indirizzo così generato, è in realtà un campo calcolato, che se cliccato non si attiva nemmeno se lo formato come collegamento ipertestuale, mentre se lo copio manualmente in una tabella funziona.
Secondo me ti stai (di nuovo) complicando la vita inutilmente.
Se effettivamente il percorso è diverso per ogni front-end/client, allora crea una tabella di appoggio nella quale salvare la parte variabile di percorso relativa a ogni front-end (nell'ipotesi che questa parte variabile per front-end sia però costante per tutti i file).
Quindi avrai una tabella descrittiva dei file, epurata dagli elementi variabili:
CREATE TABLE `file_elenco` (
`id` INT(10) UNSIGNED NOT NULL,
`nome` VARCHAR(255) NOT NULL COMMENT 'solo il nome del file senza il percorso',
`tipo` INT(11) NULL DEFAULT NULL,
`descrizione` TEXT NULL,
`creato_da` INT(10) UNSIGNED NOT NULL,
`modificato_da` INT(10) UNSIGNED NOT NULL,
`data_ora_creazione` DATE NOT NULL,
`data_ora_modifica` DATE NOT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `nome` (`nome`)
);
e una tabella di configurazione:
CREATE TABLE `file_percorsi_utente` (
`id_utente` INT(10) UNSIGNED NOT NULL,
`percorso_file` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id_utente`)
);
Quando un front-end deve leggere un file, estrae dalla tabella di configurazione il proprio percorso e lo aggiunge al nome del file: hai il percorso complessivo del file con il vantaggio che se un client/front-end dovesse cambiare il proprio percorso (variazione della topologia di rete?), cambi solo il valore del parametro della tabella di configurazione senza dover modificare tutti i record dei file.
Consumi quei 100 byte in più per una tabella, che recuperi abbondantemente evitando di replicare le informazioni del percorso per ogni file (che di fatto non ti servono visto che le dovresti ricalcolare ogni volta) e con il vantaggio di una maggiore chiarezza (secondo me).