[Risolto] Aggiornamento campo
[Risolto] Aggiornamento campo
Ciao Sempre nel database magazzino erboristico, ho creato una vista per il magazzino, e vorrei che ogni volta che acquisto un ingrediente, mi si aggiorni la sua quantità in un campo di suddetta vista.
Per esempio, ogni volta che acquisto del miele, Il campo "Q" della vista "VMagazzino" si incrementi della nuova quantità di miele che ho inserito nella tabella "MateriePrime".
Non riesco a farlo, perchè per ora riesco solo a creare nuovi campi ma non aggiornarne uno esistente.
graize dell'aiuto. allego db.
Per esempio, ogni volta che acquisto del miele, Il campo "Q" della vista "VMagazzino" si incrementi della nuova quantità di miele che ho inserito nella tabella "MateriePrime".
Non riesco a farlo, perchè per ora riesco solo a creare nuovi campi ma non aggiornarne uno esistente.
graize dell'aiuto. allego db.
- Allegati
-
- strulgone_b.odb
- (45.92 KiB) Scaricato 154 volte
Ultima modifica di strulga il domenica 30 luglio 2017, 23:03, modificato 2 volte in totale.
LibreOffice 5.3.0.3 su Windows 7
Re: Aggiornamento campo
Comincia a sistemare Q da campo stringa a numerico viewtopic.php?f=13&t=8425, poi ne riparliamo.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Aggiornamento campo
ECCO Fatto!
Adesso Q è Numeric, ma ho ancora un blocco nel capire come fare ad aggiornare un campo senza crearne uno nuovo.
SELECT "VMagazzino".*,
"VMagazzino"."Quantità" + "VMagazzino"."Q" AS "NQ"
FROM "VMagazzino"
l'ho chiamatoNQ, per differenziarlo da Q, perchè se dico AS "Q", mi crea una nuova colonna Q.
Adesso Q è Numeric, ma ho ancora un blocco nel capire come fare ad aggiornare un campo senza crearne uno nuovo.
SELECT "VMagazzino".*,
"VMagazzino"."Quantità" + "VMagazzino"."Q" AS "NQ"
FROM "VMagazzino"
l'ho chiamatoNQ, per differenziarlo da Q, perchè se dico AS "Q", mi crea una nuova colonna Q.
- Allegati
-
- strulgone.odb
- (45.69 KiB) Scaricato 148 volte
LibreOffice 5.3.0.3 su Windows 7
Re: Aggiornamento campo
Fai la somma per gruppo ID in una query:
Codice: Seleziona tutto
SELECT SUM( "Quantità" ) AS "Totale", "ID_MateriePrime" FROM "MateriePrime" GROUP BY "ID_MateriePrime"
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Aggiornamento campo
Mi sfugge la logica.
Perchè dovrei fare quella somma in ogni tabella (MateriePrime, Estratti; Imballaggi, Erbe)?
e perchè poi dovrei raggrupparli per categoria (es. FROM "Materie prime")?
io vorrei che in VMagazzino mi rimanga un campo (per es.Totale) in cui si sommano di volta in volta i nuovi acquisti di materiale
Es. In "MateriePrime" a Marzo segno 2 nel campo "Quantità" riferite all'ID_MateriePrime (MIEL), E la query aggiunge 2 al campo "Q" di VMagazzino. Poi ad Aprile Sostituisco " con 3 in MateriePrime Quantità MIEL, e la query aggiunge 3 al valore precedente del campo "Q" di VMagazzino che ora riporterà il valore 5 (3+2).
Non capisco come procedere.
Perchè dovrei fare quella somma in ogni tabella (MateriePrime, Estratti; Imballaggi, Erbe)?
e perchè poi dovrei raggrupparli per categoria (es. FROM "Materie prime")?
io vorrei che in VMagazzino mi rimanga un campo (per es.Totale) in cui si sommano di volta in volta i nuovi acquisti di materiale
Es. In "MateriePrime" a Marzo segno 2 nel campo "Quantità" riferite all'ID_MateriePrime (MIEL), E la query aggiunge 2 al campo "Q" di VMagazzino. Poi ad Aprile Sostituisco " con 3 in MateriePrime Quantità MIEL, e la query aggiunge 3 al valore precedente del campo "Q" di VMagazzino che ora riporterà il valore 5 (3+2).
Non capisco come procedere.
LibreOffice 5.3.0.3 su Windows 7
Re: Aggiornamento campo
Io non ho capito l'operazione di aggiungere Q che metti sempre =1.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Aggiornamento campo
Q = 1 è un numero a caso che ho messo per vedere se funzionava l'addizione, al massimo dovrei farlo incominciare da Q=0. Poi dovrebbero sommarsi (o sottrarsi) le quantità di materiale ogni volta che ne acquisto (o uso) una. es miele: marzo Q=0 Aprile + 2 kg di miele Q=2, Giugno +5 Kg Q=7, Settembre -3 Kg Q=4, Dicembre +2 Kg Q=6.
E' solo un esempio questi dati relativi al miele non sono inseriti nel database.
Spero si capisca questa spiegazione.
E' solo un esempio questi dati relativi al miele non sono inseriti nel database.
Spero si capisca questa spiegazione.
LibreOffice 5.3.0.3 su Windows 7
Re: Aggiornamento campo
Forse inizio a capire la logica, ma ancora sono in alto mare. dovrei seguire però una strategia diversa.
è possibile che ogni acquisto venga registrato in una tabella autocompilante, come nuova colonna?
ES:
Vmagazzino raccoglie i dati di tutte le tabelle (Chiamiamole "TabelleProdotti") che hanno a che fare con i miei acquisti: Erbe, Estratti, Imballaggi, MateriePrime, Ortofrutta...Creando un ID univoco per tutte queste categorie
Ogni volta che in una di queste TabelleProdotti cambio il valore data e quantità, una query registra questi valori in una tabella tipo VMagazzino ordinata per ID, e che presenterà tutti gli inserimenti che io ho fatto.
Per cui nel Caso della TabellaProdotti "MateriePrime" e della riga relativa a "Nome"= 'Miele' : Ad Aprile digito in "Quantità"=2 ,a Giugno "Quantità"=5, a Settembre "Quantità"=3, a Dicembre "Quantità"=2.
In modo che si crei una tabella con l'ID del prodotto (MIEL), e i campi "Data1"=Aprile, "Quantità1"= 2, "Data2"=Giugno, "Quantità2"=5, "Data3"="Settembre", "Quantità3"=3, "Data4"=Dicembre, "Quantità4"= 2 e così via. E alla fine della riga un campo "Totale" in cui mi si sommano tutte le "Quantità".
E' possibile farlo?
è possibile generare una tabella che automaticamente mi crei questi campi?
è possibile che ogni acquisto venga registrato in una tabella autocompilante, come nuova colonna?
ES:
Vmagazzino raccoglie i dati di tutte le tabelle (Chiamiamole "TabelleProdotti") che hanno a che fare con i miei acquisti: Erbe, Estratti, Imballaggi, MateriePrime, Ortofrutta...Creando un ID univoco per tutte queste categorie
Ogni volta che in una di queste TabelleProdotti cambio il valore data e quantità, una query registra questi valori in una tabella tipo VMagazzino ordinata per ID, e che presenterà tutti gli inserimenti che io ho fatto.
Per cui nel Caso della TabellaProdotti "MateriePrime" e della riga relativa a "Nome"= 'Miele' : Ad Aprile digito in "Quantità"=2 ,a Giugno "Quantità"=5, a Settembre "Quantità"=3, a Dicembre "Quantità"=2.
In modo che si crei una tabella con l'ID del prodotto (MIEL), e i campi "Data1"=Aprile, "Quantità1"= 2, "Data2"=Giugno, "Quantità2"=5, "Data3"="Settembre", "Quantità3"=3, "Data4"=Dicembre, "Quantità4"= 2 e così via. E alla fine della riga un campo "Totale" in cui mi si sommano tutte le "Quantità".
E' possibile farlo?
è possibile generare una tabella che automaticamente mi crei questi campi?
LibreOffice 5.3.0.3 su Windows 7
Re: Aggiornamento campo
No, non è possibile, non ci sono bacchette magiche che generano campi .
Funziona più o meno così: puoi avere una tabella Acquisti in cui ad ogni acquisto generi un record (riga) con data, quantità, ingrediente. In una query calcoli i totali per ingrediente. Analogamente avrai una tabella dove registri il "consumo" di ogni ingrediente, un record per ognuno oppure un record unico con tutti gli ingredienti. Un'altra query calcola i totali consumati per ingrediente. Facendo la differenza fra i due totali ottieni quanto ti rimane a disposizione.
Sempre che abbia interpretato bene le tue esigenze ...
Funziona più o meno così: puoi avere una tabella Acquisti in cui ad ogni acquisto generi un record (riga) con data, quantità, ingrediente. In una query calcoli i totali per ingrediente. Analogamente avrai una tabella dove registri il "consumo" di ogni ingrediente, un record per ognuno oppure un record unico con tutti gli ingredienti. Un'altra query calcola i totali consumati per ingrediente. Facendo la differenza fra i due totali ottieni quanto ti rimane a disposizione.
Sempre che abbia interpretato bene le tue esigenze ...
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Aggiornamento campo
Ci sto lavorando e pian piano i pezzi vanno a posto.
DOMANDA:
E' possibile con una query, invertire Tutti i valori di un campo numerico da positivi a negativi?
Per esempio, ho realizzato una tabella unica con tutti gli ingredienti prelevati e le loro quantità. vorrei cambiare il valore delle quantità da + a -, in modo da diversificarli dai valori quantità rispetto a quelli positivi della tabella acquisto.
DOMANDA:
E' possibile con una query, invertire Tutti i valori di un campo numerico da positivi a negativi?
Per esempio, ho realizzato una tabella unica con tutti gli ingredienti prelevati e le loro quantità. vorrei cambiare il valore delle quantità da + a -, in modo da diversificarli dai valori quantità rispetto a quelli positivi della tabella acquisto.
LibreOffice 5.3.0.3 su Windows 7
Re: Aggiornamento campo
Codice: Seleziona tutto
NomeCampo * -1
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Aggiornamento campo
Finalmente ce l'ho fatta! grazie mille Charlie!
Ho lavorato creando una query
"acquisti" ed una "prelievi",
in acquisti ho inserito tutti i record ordinati per "data" e "id", relativi ai prodotti acquistati, raccolti e preparati,
mentre in prelievi tutti gli ingredienti parziali e la vetreria usati nelle ricette
Le due query presentano i seguenti campi:
"ID", "Data", "Quantità" .
Nella query "Prelievi", ho attribuito un valore negativo ai record "quantità", poi ho creato una terza query (TrafficoMagazzino), in cui compaiono i dati di acquisti e prelievi, ordinati per data e ID. Si riesce a capire se sono acquisti o prelievi dal valore negativo o positivo nella tabella quantità.
E il gioco è fatto!
allego database con il lavoro fatto.
grazie mille ancora!
Ho lavorato creando una query
"acquisti" ed una "prelievi",
in acquisti ho inserito tutti i record ordinati per "data" e "id", relativi ai prodotti acquistati, raccolti e preparati,
mentre in prelievi tutti gli ingredienti parziali e la vetreria usati nelle ricette
Le due query presentano i seguenti campi:
"ID", "Data", "Quantità" .
Nella query "Prelievi", ho attribuito un valore negativo ai record "quantità", poi ho creato una terza query (TrafficoMagazzino), in cui compaiono i dati di acquisti e prelievi, ordinati per data e ID. Si riesce a capire se sono acquisti o prelievi dal valore negativo o positivo nella tabella quantità.
E il gioco è fatto!
allego database con il lavoro fatto.
grazie mille ancora!
- Allegati
-
- strulgone.odb
- (75.19 KiB) Scaricato 167 volte
LibreOffice 5.3.0.3 su Windows 7