Pagina 1 di 2
Form Detail
Inviato: 23 mar 2016, 09:20
da mhanu70
Salve.
Rilevo uno strano comportamento su una form Detail.
la relazione tra Master e detail è one-to-many.
Nelle proprietà della tabella Detail ho abilitato l'opzione "Attiva i tasti di "navigazione" nella applicazione finale"
Spesso nonostante nella tabella detail ci siano ad esempio 3 o 4 record associati ad un record padre della tabella Master, il navigatore della form detail (sia quello con le frecce <- -> sia Pagine di navigazione) me ne fa navigare soltanto 2.
Succede poi che se aggiungo un altro record nella tabella Detail, improvvisamente si sblocca, facendomeli navigare tutti. Salvo poi ripresentare il problema quando ad esempio faccio il reload della pagina.
Nota importante: La tabella Master è a sua volta Detail di un'atro form.
Re: Form Detail
Inviato: 23 mar 2016, 11:44
da rino
la butto li a naso. sembrerebbe che ci sia qualcosa di anomalo nella where generata.
prova a eseguire in debug verificando le query
Re: Form Detail
Inviato: 23 mar 2016, 12:40
da mhanu70
Intanto Grazie per la risposta.
Allora: La query funziona. Nel DB i record sono quelli che mi aspetto
La struttura è questa:
Form1>Form2>Form3
Form1 è master di Form2 e Form2 è master di Form3.
Quindi aprendo Form1 lo scopo è vedere in cascata i record di Form2 e Form3
Le relazioni sono One-to-many.
Il problema si verifica in Form3.
Se eseguo da sola la Form2 con la detail incriminata (Form3) tutto funziona come deve, cioè riesco a navigare tutti i record di Form3 che fanno riferimento ad uno specifico record master Form2.
Ma se eseguo la Form1 allora nella Form3 si vede quel problema. Alcuni Record di Form3 non sono navigabili, sebbene siano correttamente presenti e referenziati nel db.
Però, ho appena notato una cosa:
Quando ho generato le Fom1 e la Form2 la prima volta, lo schema differiva un pò da quello attuale (ho cambiato qualche nome tabella e ne ho aggiunte altre). Controllando nella sezione Dipendenze della Form1 e Form2 le dipendenze elencate sono quelle "vecchie" che ha generato in automatico quando le app vengono create per la prima volta. Pensavo che sincronizzando le Form con il db tramite la funzione nel menu "Applicazione" facesse anche questo, e non solo un check sulle colonne, ma evidentemente no.
Quindi, ora mi devo ricontrollare e riallineare tutte le dipendenze della Form1 e Form2 , aggiungere quelle che non esistevano all'atto della prima creazione delle form ed eliminare quelle orfane che puntano a tabelle non più esistenti o rinominate.
Credi sia questo il problema?
Grazie
Re: Form Detail
Inviato: 23 mar 2016, 15:10
da mhanu70
Niente da fare, ho riallineato tutte le dipendenze ma il problema persiste.
L'unica soluzione è eseguire il form2 che ha dentro il form3 in maniera isolata (non dentro il form1)
solo che in questo modo quando dal form2 mi creo un nuovo record come faccio a dirgli che deve essere riferito all'id di un altro form padre?
Re: Form Detail
Inviato: 23 mar 2016, 17:07
da mhanu70
La stessa cosa succede ogni volta che sono due livelli sotto.
cioè se ho una gerarchia di questo genere:
form1>form2>form3
la navigazione di quello che sta sotto di due livelli non corrisponde a quello che c' nel database.
Re: Form Detail
Inviato: 23 mar 2016, 17:16
da rino
onestamente mi pare strano, ho fatto una cosetta del genere e non ho avuto problemi, certo alcuni errori possono nascere dai nomi duplicati per esempio nei parametri.
Per questo di dicevo di leggere le query prodotte , l istruzione vera e prorpia , non il risultato. Magari con un copia e incolla eseguila in ambiente db per testare il risultato.
MI sconvolge la faccenda delle dipendenze , sento odor di db casinato.Ma io sono maniaco della semplicità . In effetti mi domando a cosa serva agire su piu tabelle in contemporanea , la primaria dovrebeb essere l'unica, le altre servono solo per trascodifiche e similari. ma questa è filosofia , forse....
Guarda bene i nomi delle variabili globali e i parametri di collegamento tra le varie form. SC crea un ciclo infinito che ti permette di scendere di livello sino al centro della terra.
Re: Form Detail
Inviato: 23 mar 2016, 17:31
da mhanu70
rispetto a quando ho iniziato ho dovuto per forza modificare un pò lo schema per fare fronte alle richieste, ma mantenendo sempre la stessa gerarchia tra tabelle.
Come le leggo le query prodotte, per poi ri proporle dentro workbench?
Grazie
Re: Form Detail
Inviato: 23 mar 2016, 18:01
da rino
Facile
in Applicazione - Impostazioni trovi la domanda per il debug e l errore sql.
attivale e goditi lo spettacolo .. prima di ogni qry la emette sullo schermo
Re: Form Detail
Inviato: 24 mar 2016, 08:49
da mhanu70
L'ho attivato, ma mi fa vedere solo la query relativa all tabella Master sulla quale l'opzione è attivata. e fin lì tutto bene. Il problema ce l'ho nelle form detail, due livelli sotto il livello Master.
Finchè eseguo le form solo su due livelli (Master/Detail) è tutto ok. Appena cerco di annidare sotto una master un form che ha a sua volta un altro detail, la navigazione dei record nel livello più basso non segue più quello che c'è nel db, che come detto, ha tutte le chiavi per referenziarsi ai livelli superiori
La ricerca continua
Grazie
Re: Form Detail
Inviato: 24 mar 2016, 10:50
da rino
ovviamente il debug vale solo nella app in cui è attivo , non si trasmette in catena