Ciao a tutti. Invio la stessa mail sia in lista "utenti" sia in quella "qa", qualcuno riesce a confermare, please?
Ho provato a fare (WXP e OOo 2.0.3, MySQL 5.0, MySQL Admin 1.2.3rc e MyODBC 3.51) in 3 maniere differenti la stessa cosa. Lo scopo comune è creare 2 tabelle correlate e due formulari per l'immissione dei dati in entrambe. TAB1 IdTab1 INTEGER PK Autoincrement Nominativo varchar(45) Indirizzo varchar(45) Citta varchar(45) TAB2 IdTab2 INTEGER PK Autoincrement Telefono varchar(45) NomiId INTEGER E infine i formulari: uguali, uno creato con wizard e l'altro fatto "manualmente". TAB1 Primaria con sottoform TAB2 collegate rispettivamente tramite IdTab1 e NomiId. Per entrambi includo dapprima tutti i campi di entrambe le tabelle e poi edito il tutto eliminando nel sottoform (a tabella) i campi id e NomiId, che dovrebbero essere compilati in automatico, il primo perchè in autoincrement, il secondo perchè collegato a Tab1 e preso da lì. PROVA1 - Creazione con mySQL Admin di uno "schema" vuoto - Dichiarazione con myODBC - Collegamento con base di ooo - Creazione tabelle con base - Popolamento parziale tabelle - Creazione con wizard di form1 - Controllo e immissione di dati nuovi con form1 - Creazione manuale di form2 - Controllo e immissione di dati nuovi con form2 PROVA2 - Creazione con mySQL Admin di uno "schema" con le tabelle - Dichiarazione con myODBC - Collegamento con base di ooo - Popolamento parziale tabelle - Creazione con wizard di form1 - Controllo e immissione di dati nuovi con form1 - Creazione manuale di form2 - Controllo e immissione di dati nuovi con form2 PROVA3 - Creazione con mySQL Admin di uno "schema" con le tabelle con FK dichiarata, quindi con le relazioni tra le tabelle impostate - Dichiarazione con myODBC - Collegamento con base di ooo - Popolamento parziale tabelle - Creazione con wizard di form1 - Controllo e immissione di dati nuovi con form1 - Creazione manuale di form2 - Controllo e immissione di dati nuovi con form2 RISULTATI: Con Prova 1 e 2 ho gli stessi risultati: il campo di collegamento della tabella 2 viene compilato automaticamente, nn ho errori. Posso inserire tutte le informazioni senza problemi. Con la prova 3 (quella che in effetti dovrebbe rappresentare il modus operandi più "sicuro" e accreditato, a quanto si dice) nascono i problemi: 1) La prima volta che ho provato a creare il form col wizard, ooo è andato in crash. Poi ho chiuso tutti i processi, logout e login per dare una ripulita. 2) Riparto. Provo a creare il form di nuovo col wizard, approfittando del fatto che "sente" la FK impostata con mySQL, proseguo come da copione e (sorpresa!) il formulario e il sottoformulario nn sono collegati. 3) Riparto di nuovo con altro formulario con wizard, questa volta gli impongo io il collegamento tra sottoform e form principale, come per tutti gli altri elimino i due campi del sottoform, salvo e provo ad inserire i dati. Sorpresa n°2! Mi restituisce un bell'errore , in particolare " Stato SQL: HYT00 Codice di errore: 1452 [MySQL][ODBC 3.51 Driver][mysqld-5.0.18-nt]Cannot add or update a child row: a foreign key constraint fails (`prova_tab_fk/tab2`, CONSTRAINT `FK_NomiId` FOREIGN KEY (`NomiId`) REFERENCES `tab1` (`idtab1`)) " non permettendomi così di inserire i dati evitando di andare a cercare (a mano) a quale nominativo è associato il numero di telefono che sto inserendo. In poche parole nel sottoform dovrei imporre io (anche se già collegato) il vincolo col form principale perchè ooo, indipendentemente dal record primario selezionato, inserisce nel campo collegato sempre 1. Questo, a mio parere è veramente grave... ... :'( anche perchè mi costringe a reimpostare da capo un db (per me) immenso a cui sto lavorando da qche mese e nel quale nn capivo il perchè nn funzionasse tutto a dovere nonostante avessi seguito le istruzioni. (vedi raffiche di mail sull'uso dei form degli scorsi mesi...) b-buah! :'( -- Saluti. A-Lex OOo 2.0.3 su wXP | 2.0.2 su FedoraCore5 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
