Salve a tutti,
vorrei verificare con voi se il problema che riscontro è solo mio oppure è qualcosa di noto. Per ora in rete non ho trovato nulla. Sono su QGis 2.6.1 e un DB spatialite.
Sto provando a usare le relazioni tra tabelle a livello di progetto.
Diciamo che ho un layer puntuale che fa da padre e una tabella alfanumerica figlio che riceve la PK_ID dal padre.
Ora, quando aggiungo un punto Qgis mi presenta la finestrina di dialogo per mettere in modifica anche la tabella alfanumerica, da lì aggiungo un record, ma se vado a salvare mi dice che la FK_ID della tabella alfanumerica è rimasta vuota.
Per poter fare l’operazione, tocca…chiudere la finestra di dialogo di immissione dati, salvare la tabella padre, riaprire la finetra di dialogo, riaprire la figlia, riscriversi tutti i dati e a questo punto salvare la figlia che riceve in FK l’id dalla tabella padre…un filo macchinoso.
Perchè succeda ciò mi è chiaro, dato che sto salvando prima la tabella figlio di quella padre.
La cosa che non mi torna è la procedura che è stata scelta in QGis. Sarebbe più logico forse che nel momento in cui si chiude la modifica sulla tabella figlio, o si faccia un salvataggio automatico sulla tabella padre, oppure almeno un messaggio che mentre stai per mandare in modifica la tabella figlio ti chieda di salvare quella padre.
Ciao Luca e Buon Anno a te 
···
Sono su QGis 2.6.1 e un DB spatialite.
Sto provando a usare le relazioni tra tabelle a livello di progetto.
Diciamo che ho un layer puntuale che fa da padre e una tabella alfanumerica figlio che riceve la PK_ID dal padre.
Ora, quando aggiungo un punto Qgis mi presenta la finestrina di dialogo per mettere in modifica anche la tabella alfanumerica, da lì aggiungo un record, ma se vado a salvare mi dice che la FK_ID della tabella alfanumerica è rimasta vuota.
Domanda 1: si tratta di due layer grafici ?
Domanda 2: uno dei due layer è una view ?
Domanda 3: sono entrambe le tabelle su SpatiaLite ?
Domanda 4: hai salvato la tabella padre ?
Se chiudi entrambe le tabelle alfanumeriche e le riapri, cosa vedi nella tabella figlia ? Tutti NULL ?
Roberto
Il giorno 3 gennaio 2015 11:04, Geo DrinX <geodrinx@gmail.com> ha scritto:
Ciao Luca e Buon Anno a te 
Sono su QGis 2.6.1 e un DB spatialite.
Sto provando a usare le relazioni tra tabelle a livello di progetto.
Diciamo che ho un layer puntuale che fa da padre e una tabella
alfanumerica figlio che riceve la PK_ID dal padre.
Ora, quando aggiungo un punto Qgis mi presenta la finestrina di dialogo
per mettere in modifica anche la tabella alfanumerica, da lì aggiungo un
record, ma se vado a salvare mi dice che la FK_ID della tabella
alfanumerica è rimasta vuota.
Domanda 1: si tratta di due layer grafici ?
Un puntuale (tabella: indirizzi) e un alfanumerico (tabella: domicili)
Domanda 2: uno dei due layer è una view ?
No
Domanda 3: sono entrambe le tabelle su SpatiaLite ?
Si
Domanda 4: hai salvato la tabella padre ?
No, sta qui il problema. Quando inserisci i dati nel padre, qgis ti
permette di mettere in modifica il figlio, e inserirvi i dati. A quel
punto se salvi la modifica, viene chiusa prima la modifica del figlio, che
non potrà ricevere dal padre la PK ancora non salvata.
Se chiudi entrambe le tabelle alfanumeriche e le riapri, cosa vedi nella
tabella figlia ? Tutti NULL ?
La tabella figlia non permette la chiusura in quanto c'è una relazione a
livello di progetto e senza che nella FK vi arrivi la PK del padre la
modifica non può essere applicata.
Roberto
Siccome sto scrivendo un mini manualino per dummies faccio le screenshoot e
scrivo le procedure e ridivulgo il progettino, così vediamo se sono io che
non ci ho capito na mazza (altamente probabile
), oppure la procedura
può essere migliorata.
Ciao e grazie
Luca
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Il 03/01/2015 11:11, Luca Mandolesi ha scritto:
Siccome sto scrivendo un mini manualino per dummies faccio le
screenshoot e scrivo le procedure e ridivulgo il progettino, così
vediamo se sono io che non ci ho capito na mazza (altamente
probabile
), oppure la procedura può essere migliorata.
credo sia il caso di parlarne in lista qgis-dev.
grazie.
- --
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEARECAAYFAlSn2M8ACgkQ/NedwLUzIr7mJQCfbpqBKxdk9/L/7FKO5QOtbEJX
xK8An2Fi0o2kKalzxd+VoAxbUpg6m5Gu
=2XSD
-----END PGP SIGNATURE-----
Allora, intanto mi sono accorto che c’è un problema di interfaccia/traduzione probabilmente guardando la versione inglese:
Se ci fate caso i nomi layer figlio e padre risultano invertiti tra la maschera di creazione della relazione
https://www.dropbox.com/s/q7qg031rhvj8qrd/figura_56.PNG?dl=0
e l’interfaccia in cui ci sono le relazioni elencate
https://www.dropbox.com/s/vvh19i6msl24x6a/figura_56a.PNG?dl=0
Quindi occhio quando li usate… ho incluso matteo ghetta così magari da un occhio su transifex.
Ora passo a collaudare il resto.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Il 04/01/2015 20:13, Luca Mandolesi ha scritto:
Allora, intanto mi sono accorto che c'è un problema di
interfaccia/traduzione probabilmente guardando la versione
inglese:
Se ci fate caso i nomi layer figlio e padre risultano invertiti tra
la maschera di creazione della relazione
https://www.dropbox.com/s/q7qg031rhvj8qrd/figura_56.PNG?dl=0
e l'interfaccia in cui ci sono le relazioni elencate
https://www.dropbox.com/s/vvh19i6msl24x6a/figura_56a.PNG?dl=0
Quindi occhio quando li usate... ho incluso matteo ghetta così
magari da un occhio su transifex.
Grazie.
Potresti verificare l'originale in inglese, e magari darci una mano a
sistemare quel paio di stringhe? Devi solo iscriverti a Transifex e
aderire al gruppo di traduzione.
Se non puoi, apri per favore un ticket.
Saluti.
- --
Paolo Cavallini - www.faunalia.eu
QGIS & PostGIS courses: http://www.faunalia.eu/training.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEARECAAYFAlSqQMEACgkQ/NedwLUzIr5W2QCcC9IchV7JaTAyUtCleLuEGJ2P
1UQAoIsrLLAY/dRE31Z1L/N/S1XvueNs
=CefD
-----END PGP SIGNATURE-----
Ok! Se non vado errato sono già abilitato a transifex. In inglese è un pelo
diverso (non si parla di padre e figlio ma solo di referencing e referenced
layer).
Proverò a fare la modifica su transifex. Se ho dubbi scrivo in lista
traduzioni.

E cmq quella era la prima cosa che mi dava dubbi mentre provavo a sueguire
l'articolo di andrea borruso:
http://blog.spaziogis.it/2014/04/28/qgis-relazioni-e-widget-illustrati-con-un-semplice-caso-duso/comment-page-1/#comment-8650
(Grazie Andrea
)
A dopo.
Luca