Fai la tua domanda
0

Riempimento automatico campi form

chiesto il 2020-03-15 17:32:05 +0200

Immagine gravatar per plb

Salve, ho necessità di valorizzare un campo di una form dipendentemente dal valore assunto da altro campo della stessa form. qualcosa del tipo: IF "campoA"='xxx' THEN "campoB"=='yyyyyy' else ..... Grazie per ogni suggerimento. Pier Luigi

modifica retag flag offensive close merge delete

1 Answer

0

risposto il 2020-03-15 20:31:31 +0200

updated 2020-03-16 08:50:41 +0200

In una query crea un campo calcolato "campoB" utilizzando la funzione CASEWHEN("campoA" = 'xxx','yyyyy',''). [le '' sono due apici semplici per indicare un campo vuoto]. Visualizza questo campo nel tuo Formulario.

Se la mia riposta ti ha aiutato, votala con ✔ (qui a sinistra)

[In linguaggio SQL: SELECT CASEWHEN("campoA" = 'xxx','yyyyy','') AS "campoB" FROM ....]

Edit: C:\fakepath\Esempio.odb

modifica flag offensive delete link more

Commenti

Ciao, grazie per la velocità, ho capito il senso generale ma ho bisogna di delucidazioni: campoA e campoB sono due campi appartenenti alla form e corrispondono ad altrettante colonne di una tabella. In una select come mi riferisco a campi di una form? La select la devo mettere come azione invocata all'uscita del campoA? Grazie

Immagine gravatar per plb plb ( 2020-03-15 21:30:55 +0200 )modifica

Il tuo form è soltanto una maschera che punta ad una tabella. Una tabella non può avere campi 'calcolati', pertanto devi usare una query (SELECT .... FROM "Tabella") che abbia il campo 'calcolato' "campoB". Alla fine il Form deve puntare alla query. Oppure, senza usare query, puoi inserire tutto tramite SQL all'interno del form. Più facile se fai riferimento all'esempio postato.

Immagine gravatar per charlie.it charlie.it ( 2020-03-16 08:49:26 +0200 )modifica

OK, ci sono quasi: creata la query - funziona modificata nella form la sorgente dati da tabella a query nella form ho aggiunto il campo calcolato ma come avviene il passaggio del valore calcolato nella query al campo della tabella? Posso anche chiederti dove trovo il manuale con la sintassi SQL di libreoffice? Grazie per la pazienza. Pier Luigi

Immagine gravatar per plb plb ( 2020-03-16 12:46:17 +0200 )modifica

Non è possibile aggiornare il campo nella tabella, salvo usare una macro. Un manuale HSQLDB 1.8 (la versione SQL di Base), in inglese, lo puoi trovare qui: - Guida completa HSQL 1.8: http://www.hsqldb.org/doc/1.8/guide/ - Sintassi SQL: http://www.hsqldb.org/doc/1.8/guide/c... - Funzioni database: http://www.hsqldb.org/doc/1.8/guide/c...

Immagine gravatar per charlie.it charlie.it ( 2020-03-16 13:42:56 +0200 )modifica

OK, proverò con una macro invocata all'uscita del campo campoA, Ho dato un'occhiata alla sintassi sql e funzioni DB, ho visto che è possibile utilizzare le stored procedure (potrei risolvere il problema in maniera sicura ed elegante) ma non capisco con quale strumento si creano. Certo che l'impossibilità di muovere un valore da un campo all'altro di una form in modo semplice mi pare una limitazione non banale, per cose come queste calc usato come db è più flessibile (avviamente con tutte le limitazioni del caso). Grazie ancora per i suggerimenti

Immagine gravatar per plb plb ( 2020-03-16 14:06:45 +0200 )modifica
Login/Signup to Answer

Question Tools

1 follower

Stats

Chieste: 2020-03-15 17:32:05 +0200

Seen: 19 times

Last updated: Mar 16