Alessandro Braga ha scritto: > 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... sinceramente uso MySql solo in applicazioni web, lì i clienti lo "accettano" mentre in applicazioni intranet sono "costretto" ad utilizzare MS SQL Server da alcuni clienti, altrimenti io propongo Interbase/Firebird. Quindi un'accoppiata OOoBase + MySQL non l'ho mai provata. Se la usi in in locale puoi fare una prova scaricando Interbase (dovrebbe essere ancora free per installazioni locali) o Firebird (free in ogni caso) hanno i loro driver odbc quindi non dovresti avere problemi, sono entrambi molto stabili e veloci. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
