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]

Rispondere a