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. 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 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). > > 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? > > 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? > > 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 fatte precedentemente e che visualizza correttamente. > 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). > > > 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". > > > qUALCUNO MI SA DIRE COME COSA DOVE SBATTERE LA TESTA????? gRAZZIE > INFINITE > > --------------------------------------------------------------------- > 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]