[Risolto] 2 caselle combinate una dipendente dall'altra

Discussioni sulle caratteristiche di database
Rispondi
luchino
Messaggi: 5
Iscritto il: venerdì 10 febbraio 2017, 9:06

[Risolto] 2 caselle combinate una dipendente dall'altra

Messaggio da luchino »

Buongiorno,
E' un po' di tempo che sto impostanto un data base per la gestione dei conti familiari ma al momento che vado a creare il formulario principale mi scontro con le caselle combinate.
nel mio file sono presenti 3 tabelle per il momento:
tb_categoria, tb_voce di spesa e tb_dati di spesa, le prime due le ho relazionate tra loro creando un formulario per l'immissione di nuove voci ed ogni categoria ha le sue voci di spesa, ora al momento in cui io vado a creare il formulario per i dati di spesa vorrei legare anche la tb_categoria e la tb_voce di spesa con due caselle combinate per non star li ogni volta ad inserire e cercare in particolar modo la voce di spesa corretta per quella categoria, e magari se fosse possibile anche inserirne di nuove direttamente da formulario principale che e' dati di spesa evitando di duplicare le categorie e le voci di spesa. grazie per la pazienza, cerco di allegare il file di quello che sto cercando di fare :D .
Per questo progetto sto usando libreoffice su windows 7
p.s. sono ben accetti tutti i suggerimenti per poter rendere piu' efficente il mio db
luchino
Allegati
LOgestione familiare.odb
(34.63 KiB) Scaricato 160 volte
Ultima modifica di luchino il lunedì 20 febbraio 2017, 19:17, modificato 1 volta in totale.
Libreoffice 4.1.3 windows 7
Openoffice 5.2
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: 2 caselle combinate una dipendente dall'altra

Messaggio da charlie »

Ciao, dai un'occhiata qui: viewtopic.php?f=13&t=6495&start=30#p33408.
Si parla di listBox ma può servire come spunto.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
luchino
Messaggi: 5
Iscritto il: venerdì 10 febbraio 2017, 9:06

Re: 2 caselle combinate una dipendente dall'altra

Messaggio da luchino »

Ciao, grazie mille per la risposta.
Lo pensavo meno complicato :) , comunque la mia idea era qualla di creare un formulario dove le voci id dati spesa, data, importo, sono combinati con categorie e voci di spesa che vorrei fossero due caselle combinate, nella quale per esempio al momento in cui nella casella categoria richiamo trasporti nell'altra casella combinata al momento che apro la tendina appaiono solo le voci di spesa inerenti a quella categoria in questo caso (pedaggi, carburante, multe), per questo avevo creato un formulario dove categorie e voci di spesa interaggivano tra loro, quindi una volta che nel formulario dati spesa registravo ogni avvenimento, il tutto si salvava nella tabella dati spesa, per questo avevo inserito le colonne id categoria e id voce di spesa.
Scusa se sono stato poco chiaro, magari e' troppo articolato? e non me ne rendo conto? lo so sono un novizio magari non mi accorgo della cmplessita'.
p.s. spero che l'allegato si veda perche' se devo fare qualcosa di diverso e' meglio saperlo.
grazie mille per la pazienza.
Libreoffice 4.1.3 windows 7
Openoffice 5.2
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: 2 caselle combinate una dipendente dall'altra

Messaggio da charlie »

Ciao, prova a vedere il lavoro che ti allego.
Per le spiegazioni sono a disposizione.
Allegati
LOgestionefamiliare-2.odb
(43.81 KiB) Scaricato 173 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
luchino
Messaggi: 5
Iscritto il: venerdì 10 febbraio 2017, 9:06

Re: 2 caselle combinate una dipendente dall'altra

Messaggio da luchino »

Ciao, innanzitutto mi scuso per averti risposto con ritardo e poi grazie grazie mille per la tua pazienza e per il tuo tempo, complimenti per il lavoro secondo me e' perfetto penso che lo devo solo affinare, ho cercato di capire cosa hai fatto, e penso di aver preso dal lato sbagliato il progetto,sono alle prime armi e pensavo di risolvere tutto con le relazioni ma questo mi da modo di vedere le cose da un altra prospettiva, ho visto che non hai usato relazioni per lo meno cosi' mi sembra tranne che nella query, e poi non ho capito, la tabella filtro che pero' nel formulario e' richiamata nella csella di riepilogo della voce di spesa, scusa la mia ignoranza, con che logica?, quindi anche le caselle combinate le hai cambiate con caselle di riepilogo?,ti ringrazio tantissimo mi piacerebbe che mi aiutassi a capirlo ora sempre se non sono troppo stressante, e poi pensi che sia il caso di cambiare titolo all'argomento? spero un giorno di avere almeno un po' piu' di conoscenza per divertirmi con un programma del genere, deve essere proprio una gran soddisfazione.
ultime due domande secondo te poteva essere impostato piu' semplicemente il progetto ?
e le relazioni allora quando possono essere usate?
scusa di nuovo complimenti e grazie mille, credo che comunque stressero ancora il forum.
:bravo: :bravo: :bravo:
Libreoffice 4.1.3 windows 7
Openoffice 5.2
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: 2 caselle combinate una dipendente dall'altra

Messaggio da charlie »

Ciao, provo a darti delle risposte.
Non ho usato le Relazioni (anzi ho cancellato quella che c'era). Io trovo più pratico avvalermi delle Relazioni solo all'interno delle Query o del codice SQL dei Formulari. In pratica le uso quando mi servono.
Ho fatto uso di ListBox (Caselle di Riepilogo) perché con le Caselle combinate il mio lavoro non funziona (è necessario aggiornare le voci nelle rispettive tabelle prima di usare una nuova voce).
Le ListBox lavorano sul campo ID delle tabelle, ma facendo vedere il nome campo corrispondente (Categoria, Voce di spesa).
La tabella Filtro mi serve per la scelta della Categoria. Poiché la scrittura dei dati avviene dopo la scelta della Voce di spesa e poiché la ListBox deve scrivere da qualche parte per funzionare, ho fatto uso di questa tabella di appoggio che ho chiamato Filtro.
Per far funzionare le ListBox ho usato il codice SQL invece che adoperare delle Query di appoggio.

Codice: Seleziona tutto

SELECT "Categorie", "IDCategorie" FROM "TBCategorie" AS "TBCategorie"

Codice: Seleziona tutto

SELECT "Vocedispesa", "IDVocedispesa" FROM "TBVocedispesa" AS "Vocedispesa" WHERE "IDCategoria" = ( SELECT "ID_P" FROM "Filtro" )
Una volta scelta la Categoria, per passare l'informazione al Formulario successivo, ho bisogno del pulsante Aggiorna categoria. (Se ne potrebbe fare a meno solo con una macro, ma non è il caso di complicare).
A questo punto bisogna tenere presente che ci si trova posizionati sul primo record della tabella TBDatispesa, se si prosegue si va a modificare il primo record.
Per passare ad un nuovo record, serve il pulsante Nuova voce per poi completare l'inserimento/scelta della Voce di Spesa e dei campi mancanti (che non è più obbligatorio come era nella tua versione).
La tabella di Riepilogo, aggiornabile con il pulsante Aggiorna è stata inserita solo per un controllo. Se non serve si può eliminare.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
luchino
Messaggi: 5
Iscritto il: venerdì 10 febbraio 2017, 9:06

Re: 2 caselle combinate una dipendente dall'altra

Messaggio da luchino »

Ciao,
scusa per il ritardo tutto molto chiaro, e lineare, siccome e' la prima volta per me, cosa faccio lo definisco risolto ? ed in caso per altre domande apro altri argomenti?
nuovamente grazie.
Libreoffice 4.1.3 windows 7
Openoffice 5.2
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: 2 caselle combinate una dipendente dall'altra

Messaggio da charlie »

Ciao, se l'argomento è chiuso e lo consideri risolto, qui trovi come fare: viewtopic.php?f=2&t=5661.
Per altre richieste è preferibile aprire nuovi argomenti, eventualmente con un link a questo.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi