Micron Engineering ha scritto:
Alessandro Braga ha scritto:
> Ho fatto un piccolo database
costituito da tre tabelle uno anagrafica
> un'altra da contratti e una di Stato.
La definizione è un po vaga, immagino che ci siano delle relazioni tra
le tabelle; la via più comune fatta direttamente a livello database è
usare le foreign key.
esatto su Mysql ho fatto questa legando anagrafica e contratto
attraverso Codice fiscale ed a sua volta legando tabella stato con
tabella contratto mediante una chiave
Se poi vuoi realizzare dei formulari (diciamo maschere) puoi anche
stabilire un rapporto master-detail tra alcune tabelle così poi la
maschera master-dettaglio ti viene quasi gratis. Vorrei poi ricordarti
che l'uso delle griglie nelle maschere, indipendentemente dal sistema
di sviluppo utilizzato, richiede che l'accesso al database sia fatto
utilizzando i
bookmark
(?) attualmente uso unicamete sul mio notebook la cosa , non si tratta
di un grande dbase è soprattutto per una gestione privata del lavoro, un
controllo diciamo. Da Mysql a Base di Openoffice 2.2 funziona bene a
parte qualche inciampo con i numeri decimali che mi avevi accennato era
dovuto alla compilazione del connector ODBC che però non saprei come
fare (sono ancora un lattante... per tante cose oltre a queste)
?da qui
e questo molto spesso obbliga ad utilizzare soluzioni con cursore lato
client. Se la tua applicazione richiede un db locale non c'è problema
ma se ti devi collegare ad un server su cui risiede il db, le griglie
potrebbero essere collegate a tabelle con decine di migliaia di record
ed in questo caso bisogna pensarci un po su e trovare delle soluzioni
cached. Un modo per realizzare i db con poco sforzo e documentandoli
automaticamente è usare dbdesigner4 di fabforce. Funziona bene con
MySQL e con altri db; ti crea anche il db, al limite con alcuni db
devi modificare a mano qualche direttiva proprietaria ma è molto
pratico, puoi anche fare il reverse engineering di un db semplicemente
collegandoti al db dall'interno di dbdesigner (funziona su Linux e su
Win).
a qui ? in effetti avevo scelto Base perchè ho poca esperienza di Dbase
qualcosa fatto con Access, ma Base mi piaceva intanto per impararlo bene
e poi perchè con un database riesco ad integrarlo anche per la gestione
dell'ufficio con Writer e CALC... e mi pareva semplice da utilizzare
anche dal punto grafico.
> Ho fatto il database in mysql e vi lavoro sopra con Base, per
> problemi con Mysql ho provato a fare la stessa cosa direttamente
con
> Base a sè stante ed ho notato due differenze abbastanza grandi:
che cosa intendi con Base a se stante, hai usato HSQL?
Praticamente ho fatto un dbase con MYSQL e ci lavoro sopra con Base di
openoffice attraverso ODBC CONNECTOR praticamente Base vede le tabelle
legate tra loro e con quelle poi faccio tutto , ricerche, formulari etc
con Base. Però avevo trovato con questo sistema dei problemi nel
lavorare sui formulari con i numeri decimali che vengono visualizzati,
ma nel momento in cui li modifico mi spariscono...
Per questo motivo ho provato a rifare il tutto solo con Base e tutto
funziona bene anche i numeri decimali.
> Ho fatto in entrambi un formulario primario con anagrafica e poi un
> formulario secondario tabellare inserito nel primo che raccoglieva
> tutti i contratti distinti per cliente... e relativi dati dei
> contratti.
in sostanza una maschera master-dettaglio?
>
penso di si ;)
> Entrambe i lavori sono fatti allo stesso modo però:
> Quello con Mysql:
Il secondo formulario nella costruzione
prelevando i dati dalle tabelle, non vede i campi numerici, che invece
vede
nelle Ricerche (Query) e nelle tabelle ma nella costruzione del
formulario guidato mancano tutti i campi con i numeri decimali.
> Nel Formulario secondario è possibile modificare i record in modo
> molto semplice ed efficace ed inoltre è possibile trasformare una
> colonna in una casella di riepilogo relazionandola con un altra
> tabella Stato
se per campi numerici intendi i numeric o i decimal ed hai definito un
numero di decimali >0 c'è un bug noto di MySQL dovuto alla
localizzazione, noi italiani usiamo la , per separare i decimali dalla
parte intera mentre nel mondo anglosassone si usa il . (punto).
>
Si per questo avevo trasformato in Mysql tutto in sistema anglosassone
usando il . idem in Base OOo e per vederli nelle tabelle e nelle query
tutto bene il problema è solo nella creazione formulari che tali campi
scompaiono
>
> Quello con Base solo: Il secondo formulario nella costruzione
> prelevando i dati dalle tabelle, vede i campi numerici in modo
> corretto. Ma nel Formulario secondario non è possibile modificare i
> record come in mysql ed inoltre non è possibile trasformare una
> colonna in una casella di riepilogo relazionandola con un altra
> tabella Stato.
Dipende da come l'hai fatto tu ed anche come l'ha fatto Base. In
generale, se il contenuto della griglia di dettaglio è ottenuto con
una query di selezione non è possibile modificare i record. Per questa
ragione all'inizio ti ho segnalato il metodo con le foreign key o con
la relazione master-detail imposta a livello di database. Ti ricordo
anche che esiste un problema di integrità referenziale nel caso in
questione (eliminazione e modifica di record). Per quanto riguarda il
discorso della colonna-casella di riepilogo, a livello db questo
consiste nel creare un field lookup che è una "colonna virtuale" che
devi aggiungere alla tabella del db e poi collegare una casella di
riepilogo al field lookup. Nei db "seri" questa cosa si realizza in
fase di creazione delle tabelle, in quelli come MS Access e similari
si fa in seguito, stabilendo una "relazione".
>
Posizionandomi sulla colonna ho sostituito premendo tasto destro sulla
colonna con una casella di riepilogo collegata alla tabella Stato
inserendo come valore da visualizzare il contenuto della colonna
stato.testo e non quella dell'stato.IDStato che compariva come default,
e ci sono quasi riuscito
Il problema è che mi piacerebbe possa funzionare con mysql e base
insieme perchè è molto più rapido e mi pare più sicuro ed aperto al
futuro, solo con base è un pò meno versatile mi pare.
Ma con il problema dei decimali sono fregato. Hai qualche dritta ho
dubbi che sia il procedimento di creazione guidata dei formulari cheva
in panne in questo caso... ma non ho abbastanza conoscenza in merito...
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]