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]

Rispondere a