Newsgroup: it.comp.appl.access
Titolo: Consiglio per aggiornamento DB condiviso in rete

Eccomi di nuovo.
Dopo aver parzialmente installato il DB nella rete Win NT Server con client
98, mi trovo ora nella necessita' di apportare degli aggiornamenti e delle
integrazioni nelle maschere e forse in alcune tabelle.
Dovendo pero sviluppare dall'ufficio e poi portare il tutto dal cliente, non
so come fare per poter consegnare, magari via e-mail, le due parti del DB
separate (maschere/query da una parte e tabelle dall'altra) rispettando il
loro path attuale.
Avete esperienza al riguardo ?
...o non mi resta che aggiornare manualmente in loco (creando la la
divisione del DB) ?
Grazie mille!
Fabio

 ha scritto nel messaggio
news:xFhD6.164599$lj4.4...@news6.giganews.com...

Io ho fatto a questa maniera
due database uno con le tabelle di BE (backend) ed uno con le maschere di FE
(frontend).
il BE sta in una cartellina condivisa sul server NT ed i FE sulle singole
postazioni.
quando eseguo gli aggiornamento procedo in questa maniera:
Aggiornamento del BE lo esegue un solo operatore autorizzato dalla
direzzione che fa' uscire tutti gli utenti dall'applicazione usando un
modulo di VBA collegato ad un pulsante . Per il codice riarrangiato il
codice che sta sul sito comune per Importare i dati nelle tabelle.
Aggiornamento del FE , lo faccio ,per il momento , fare a mano dagli
operatori sostituendo il vecchio programma al nuovo. e , visto che le
tabelle sono collegate , gestico l'errore che non trova piu' le tabelle
collegate appena aprono il programma. come ? gli faccio eseguire la funzione
di riallega tabelle BE che sta sul sito comune , ovviamente riarrangiata per
le mie esigenze.
Sto valutando per un futuro di fare tutto questo in automatico creando un
"setup.mdb" apposito che vada a leggere una stringa nel registro di
configurazione che contiene tutti persosi sia del BE che del FE e quindi
esegua la sovrascrittura dei file dove necessario l'import dei dati nel BE e
il collega tabelle del FE. ma per ora la stro stuando quindi non e' testata.
l'altra soluzione funziona egregiamente , anche se e' piu' faraginosa.
Ciao
--
(^o^))~    Lorenzo   (^o^))~
"Preimaginare e' lo imaginare le cose che saranno..."
"Postimaginare e' imaginare le cose passate ..."
(Leonardo Da Vinci)

l'altra soluzione funziona egregiamente , anche se e' piu' faraginosa.
Mi permetto un suggerimento alla tua gia' ottima soluzione: scrivi il path
su un filetto ascii nell stessa dir del client....quando aggiorni il FE, al
primo lancio non trova il BE e allora si va a leggere il path e riallega
tutto da se'!
Saluti.
Luciano
(DOC)

...chissa' forse un giorno ci arrivero' ;-)
Forse non ho spiegato bene il mio problema: la situazione e' si quella da te
descritta ma gli aggiornamenti e le modifiche le vorrei fare dal mio PC,
fuori dalla rete aziendale.
Il mio problema e' come fare per lavorare il locale mantenendo i path del
cliente e poi copiare di nuovo il tutto sul server e sui client remoti
sostituendo i file esistenti.
Sono in fase di avvio x cui non mi interessa salvare i dati...
Ciao e grazie

 ha scritto nel messaggio
news:_6nD6.165130$lj4.4...@news6.giganews.com...

visto che io , e penso anche te, non possiamo ricreare nel nostro ufficio
gli stessi percorsi di rete del cliente , almeno che non avessimo in ufficio
una rete identica e con gli stessi nomi e dedicata solo a quel cliente.
l'unico modo a cui ho pensato e' fare il giro opposto ;)
preparo tutto nella mia rete con i miei percorsi e poi modifico i percorsi
etc , quando mando il materiale dal cliente ;)
e ti diro' che se ti predisponi anche per gli aggiornamenti da subito e'
meglio , visto che io dicendo " tanto sono in fase di avvio" poi mi sono
andato ad incasinare dopo , quando il cliente era partito e mi sono accorto
del solito Bug bastardo e nascosto ed ho dovuto aggiornare la procedura
senza perdere i dati del cliente che intanto stava lavorando :))
Ciao,


 ha scritto nel messaggio
news:lfmD6.165055$lj4.4...@news6.giganews.com...

Cavolo non ci avevo pensato al file Ascii :( ed era li sotto mano la
soluzione piu' semplice  ehehe!
Grazie 1000 :)


 senza perdere i dati del cliente che intanto stava lavorando :))
In 2 parole che dovrei fare ?
Sicuramente dovro' fare delle implementazioni future...
Ciao e grazie
Fabio

 > senza perdere i dati del cliente che intanto stava lavorando :))
prima cosa faccio copiare il vecchio database chiamandolo vecchiodb.mdb
nella cartella dell'utente autorizzato a fare gli aggiornamenti. Quindi
sostituisco il databse con quello vuoto ed aggiornato.
Se non devi aggiornare la base dati (le tabelle non sono cambiate) questa
fase non importa.
in apertura del mio programma ho messo una maschera tipo Pannello Comandi
con un campo che legge il nome ditta dalla tabella nome ditta. All'apertura
del db non trovando il BE , Access genera un errore. Su quell'errore gli
faccio aprire la mascherina sopra descritta che ricollega la base dati
(nuova se aggiornata o vecchia se non aggiornata). cosi' aggiorno la
procedura .
quindi fatto questo lancio un altra funzione con un pulsante (ma penso si
possano mettere in cascata uan dietro l'altra) svuota tutte le tabelle del
BE nuovo (con una serie di DELETE) e importa i dati (funzione trovata nel
sito comune , per reimportare i dati. :))
Ciao Lorenzo

 Grazie 1000 :)
Mah, quando ti ho sentito dire che volevi smanettare nel registry per una
cosa del genere un brivido mi e' corso lungo la schiena...:-)))
Saluti.
Luciano
(DOC)

 ha scritto nel messaggio
news:9bn08e$5be$2...@news.mclink.it...

in effetti ti diro' le mie conoscenze del registro di windows sono migliori
di quelle con i file di testo . ihih!!
che difatti sto provando la tua soluzione e mi sono intoppato .. dopo un
paio d'ore ho fatto un post al NG , visto che in teoria funziona tutto in
pratica mi va' in errore. ehehh!:))
Ciao


pratica mi va' in errore. ehehh!:))
Qual'e' il problema?
Saluti.
Luciano
(DOC)

 ha scritto nel messaggio
news:L9QD6.168290$lj4.5...@news6.giganews.com...

Ho fatto un msg a tutto il NG .. come di dice ? "ho aperto un Trhead ?" ..
scusa ma ma sto ancra imparando i termini dei NG...
cmq ti riporto qua sotto quello che ho scritto nell messaggione ,
grazie per l'interessamento :)))
ps. vorrei chiedere scusa a Fabietto se sto "fruttando il suo msg"  ;)
Lorenzo
==================================================
Salve a tutti,
Ho un problemino e non capisco dove sto sbagliando . con il codice che
riporto qua sotto devo leggere il contenuto di un file di testo. l'errore
segnalato e' il 71 - input oltre la fine del file .
la cosa mi pare strana, visto che il file di testo ,che si chiama
aggprog.txt ,contiene una sola riga
"c:\arc\programmi\primula\"
la Sub , mi deve solo leggere quella riga e scriverla nella variabile "s".
    Const ForReading = 1, ForWriting = 2, ForAppending = 3
    Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
    Dim appoggio As String
    Dim fs, f, ts
    Dim s As String
    appoggio = PathCorrente() & "aggprog.txt"
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set f = fs.GetFile(appoggio)
        Set ts = f.OpenAsTextStream(ForReading, TristateFalse) ' ho provato
anche con TristateUseDefault
        s = ts.ReadLine                    'l'errore arriva in questo punto.
        ts.Close
        If IsNull(s) Or s = "" Then
            Exit Sub
        Else
            Call collegadb(s)
        End If
Grazie a tutti  :))

         ts.Close
Scusa, ma ti piace proprio complicarti la vita??? :-)))
Dim percorso as String
Open "c:\aggprog.txt" For Input As #1
    Input #1, percorso
Close #1
Saluti.
Luciano
(DOC)

 wrote in message

eheh!! a volte piu' che leonardiano sembro macchiavellico. ehehhe!:))
Funziona bene e forse anche l'altra funzionava  piu' o meno :) perche' gli
errori dipendevano dal percorso e dal fatto che in alcuni test il percorso
conteneva degli spazzi bianchi confrontando la tua soluzione con la mia mi
e' venuto fuori sto sospetto :) , di sicuro il metodo Open (che non
conoscevo ) consente molto meno codice :))))
Unica limitazione per creare un sistema valido di aggiornamenti delle
applicazioni usando il file di testo al posto del registro e' che non
controlli tu il posto dove viene installato il programma. Quindi se il
rpogramam e' installato in una cartella diversa da quella che prevedi te per
l'installazione . L'operatore deve in ogni caso andare a sostituire i file
di aggiornamento a mano, con i rischi del caso.
Se l'utente e' abbastanza esperto non ci sono problemi :))


Se l'utente e' abbastanza esperto non ci sono problemi :))
Caro Mad, hai tanta buona volonta' ma poca propensione alla soluzione
semplice dei problemi!:-)
Il file txt con il path non lo scrivi tu a mano ma lo farai scrivere da una
routine alla prima istallazione. Guarda caso ci scrivera' un path relativo e
non assoluto.....:-))
Saluti.
Luciano
(DOC)

 ha scritto nel messaggio
news:9c3E6.169854$lj4.5...@news6.giganews.com...

ehehe!! sottoscrivo la mozione sulla mia venuzza di follia eheh!! e ti diro'
stanotte stavo giusto pensado ad aggiungere una routine che crei il file
alla prima installazione, l'ho creata e mo' la devo provare , ma
teoricamente funziona . Poi ho pensato che visto che nel mio db ho messo la
possibilita' di usare diversi BE (sullo stile di diverse ditte ) , la stessa
funzione l'ho riportata anche nel codice che mi crea i diversi database , in
modo che il file si aggiorni in automatico al cambio di BE.
Ed ho pensato a come aggirare il problema di sapere dove sono i file di
aggiornamento.
1) il setup di aggirnamento copia i file creando una directory nella temp di
windows
2) cliccando il pulsante "Aggirna programma" chiudo il FE attuale ad apro un
FE che si chiama AGGIORNA PROGRAMMA
3) L'aggiorna programma fa' un backup del BE , leggendo il file di testo
4) Copia i file aggiornati dalla temp sostituendo il BE ed il FE
5) Si chiude e riapre il FE
Nel FE ho automatizzato tutto il processo di ricollegamento tabelle (grazie
ad il file di testo) e di import dei dati.
La tua semplicissima soluzione mi ha dato spunto per migliorare il programma
sensibilmente.
mi sa' che ti devo una birra  ;))))
Ciao


mi sa' che ti devo una birra  ;))))
No, dammi la tua partita iva piuttosto che devo staccare fattura....:-))
Saluti.
Luciano
(DOC)