Pagina 1 di 1

dBase: Collegamento a dati esterni

Inviato: sabato 18 novembre 2017, 13:48
da salrandazzo
Stufo di litigare con msAccess, ho deciso di tentare la migrazione a OpenOffice.
Con access stavo realizzando un database strutturato in due parti: una parte con i dati, l'altra con l'applicazione di accesso ai dati.
Mantenere i dati separati consente di poter modificare separatamente l'applicazione che accede ai dati, mentre il cliente continua a lavorare sui dati.
Quando vado dal cliente installo solo la parte di gestione. I dati del cliente sono così salvi.
Con msAccess funziona, creando sulla parte gestione delle tabelle linkate alla parte dati. Unica limitazione, dall'applicazione non si può modificare la struttura delle tabelle linkate, ma si possono aggiungere e modificare i dati.
Con OpenOffice mi par di capire che la cosa non è così intuitiva. Non con Base. Se ho capito bene, Write e Calc possono accedere alle tabelle Base, ma un'applicazione Base non può accedere ai dati di un'altra applicazione Base.
Non c'è modo, che so, di usare un accesso ODBC, per accedere da una applicazione Base ai dati di un'altra applicazione Base?
Oppure, con Write, è possibile fare un'applicazione che acceda, con ampio utilizzo di script basic, ai dati contenuti in un file odb?
Dalle domande si capisce che non ho una grande esperienza, vero? :knock:

Re: dBase: Collegamento a dati esterni

Inviato: domenica 19 novembre 2017, 7:48
da charlie
No, con Base non si può fare. Inoltre, non hai la possibiltà di creare degli "eseguibili" ma gli utilizzatori devono sempre passare dal caricamento di Open Office che ovviamente deve essere installato.
C'è però il sistema di creare un database "standalone" dove l'utilizzatore lavora su una copia dei formulari del database, che può trovarsi in una cartella di non immediato accesso (per così dire, nascosto).

Re: dBase: Collegamento a dati esterni

Inviato: domenica 19 novembre 2017, 8:23
da salrandazzo
Buongiorno Charlie, grazie per la risposta.
Il motivo della mia richiesta è che vorrei liberarmi, per mille motivi, della portaerei di Ms. Soprattutto perché credo nella comunità openSource. E poi, più prosaicamente, per non dover impazzire con le licenze, le chiavi di attivazione e tutto il resto.
Sto banalmente cercando di dare una mano a mio figlio che deve gestire una micro attività commerciale. E, chiaramente, mi sono offerto di dargli una mano con la gestione dei dati.
Vorre tenere l'applicazione separata dai dati. Trovo comodo poter lavorare sull'applicazione mentre il figlio continua la sua attività da un'altra parte. E poi inviare semplicemente l'applicazione aggiornata in un file odb senza dover ogni volta trasferire i dati dal vecchio file odb al nuovo.
Lo so, sto parlando di un'applicazione di altro genere, con motore db separato. Forse farei prima ad installare mySQL lato client, e a fare attaccare l'applicazione Base al motore.
Questo penso che si possa fare, vero? E' che mi manca l'esperienza per installare e gestire un motore MySQL.
Restando in ambito OpenOffice, mi confermi che con una applicazione contenuta in un file Base "odb" non posso accedere ai dati contenuti in un altro file "odb". Però vedo che Base può appoggiarsi su dati esterni. Teoricamente potrei appoggiarmi al database access esterno. Ma avrei sempre bisogno di MsAccess per creare e modificare le tabelle contenute nel file "accdb", il che non mi consentirebbe di liberarmi di ms.
So di non poter fare una applicazione stand alone, di non poter fare un eseguibile (exe). L'idea è certamente quella di installare il pacchetto completo OpenOffice (in ambiente Windows). Devo solo capire, a questo punto, qual è la strategia migliore per tenere i dati separati dall'applicazione.
Una, l'abbiamo detto, è Base che si attacca a MySQL.
L'altra, che scartiamo, è Base che si attacca ai dati in un file "accdb" di Ms.
Altre idee?
L'ho fatta lunga, lo so. I miei riassunti sono solitamente più lunghi dell'originale....
Salvatore

Re: dBase: Collegamento a dati esterni

Inviato: domenica 19 novembre 2017, 8:57
da charlie
charlie ha scritto:C'è però il sistema di creare un database "standalone" dove l'utilizzatore lavora su una copia dei formulari del database, che può trovarsi in una cartella di non immediato accesso (per così dire, nascosto).
Hai provato a dare un'occhiata qui? viewtopic.php?f=29&t=7723.
Se non bastasse sul forum in inglese l'argomento è trattato dettagliatamente.

Re: dBase: Collegamento a dati esterni

Inviato: domenica 19 novembre 2017, 9:12
da salrandazzo
GRANDE! Mi pare proprio quello che mi serve. Mi studierò l'applicazione di esempio..
Grazie.

Re: dBase: Collegamento a dati esterni

Inviato: domenica 19 novembre 2017, 11:18
da vladboscaneanu
A dire il vero si può accedere al contenuto di un file .odb da un altro .odb , ma anche da Calc, Writer e tutta la suite.
Vi allego un esempio, scritto veloce, per dimostrarvi la cosa.
Ci sono due database, diciamo server, che contiene una tabella , con una colonna test, e un altro database(client),con
un formulario, dentro quale troverete solo un pulsante,che vi farà uscirà in una message_box tutti i valori presenti nella colonna test, della Tabella1 del server.
Aprite il server.odb, aggiungette dei valori casuali nella colonna test, chiudete il server.odb, quindi aprite il client.odb,premete il pulsante
presente nel formulario i vi usciranno i dati appena inseriti.
Indispensabile che entrambi i file siano nella stesa cartella.
Ovviamente , il discorso cambia se si tratta dei sorgenti registrati.

Re: dBase: Collegamento a dati esterni

Inviato: domenica 19 novembre 2017, 11:40
da charlie
vladboscaneanu ha scritto:Indispensabile che entrambi i file siano nella stesa cartella.
Ovviamente , il discorso cambia se si tratta dei sorgenti registrati.
Ciao Vlad, vuol dire che registrando in due database ed indicando i relativi percosi è possibile posizionarli in cartelle diverse?

Re: dBase: Collegamento a dati esterni

Inviato: domenica 19 novembre 2017, 14:03
da vladboscaneanu
Si Charlie, proprio cosi.In questo modo il codice andrà semplificato,anche se non tanto.
La cosa bella è che in questo modo si può agire anche su un database MySQL.
Ma questa è un'altra storia.
Ciao.

Re: dBase: Collegamento a dati esterni

Inviato: domenica 19 novembre 2017, 18:23
da salrandazzo
vladboscaneanu ha scritto:A dire il vero si può accedere al contenuto di un file .odb da un altro .odb , ma anche da Calc, Writer e tutta la suite.
.....
 Editato: citazione parzialmente soppressa (Admin) 
Eccellente! Proprio quel che avevo in mente. Vado a guardarmi i tuoi esempi.
Intanto grazie mille.
Anzi, di più.
Salvatore
:bravo:

Re: dBase: Collegamento a dati esterni

Inviato: domenica 19 novembre 2017, 19:08
da salrandazzo
 Editato: citazione soppressa (Admin) 
FUNZIONA! Fantastico. :super:

Quanto prima tornerò con altre domande, temo. Ma nel frattempo il punto di partenza è eccellente.

Salvatore

Re: dBase: Collegamento a dati esterni

Inviato: sabato 2 dicembre 2017, 18:20
da Rocky62
x Vlad

Bello! quello che non ho capito dal tuo esempio è come fare a scrivere, alterare o semplicemente visualizzare in un form il contenuto del dbase (evidentemente non sono un volpe...) :ugeek:

Re: dBase: Collegamento a dati esterni

Inviato: sabato 2 dicembre 2017, 21:02
da charlie
Ciao, sei pregato di fare un uso più moderato delle citazioni, soprattutto quando non sono indispensabili.

Re: dBase: Collegamento a dati esterni

Inviato: lunedì 4 dicembre 2017, 11:47
da vladboscaneanu
Per ogni caso va scritto il suo codice, essendo una situazione non prevista dagli sviluppatori.
La cosa più semplice è lavorare sui singoli record, ma con un po di pazienza e di tempo perso si può
lavorare anche con quantità più grandi dei dati.
Prima, pero, bisogna valutare se vale la pena agire dal interno di un database nativo OpenOffice sul altro database nativo.
Capisco diversi motori tipo MySQL, PostrgreSQL etc.., che supportino multiuser e sono più rapidi... ma i semplici file nativi di OpenOffice ???
Cordialmente.

Re: dBase: Collegamento a dati esterni

Inviato: lunedì 4 dicembre 2017, 11:59
da salrandazzo
Io sto risolvendo il mio problema installando mySQL. Funziona alla grande. Adesso devo scoprire come modificare da programma basic la connessione SQL ad una tabella in un form.
Tanto per chiarire, nel form ci sono una tabella e un campo di testo.
Man mano che l'utente digita qualcosa nel campo di testo voglio che venga automaticamente rifiltrata la tabella, ossia vorrei fare una requery.
Sto cercando nella documentazione delle API come modificare da basic la connessione dati della tabella.