Scrittura campi concatenati

Discussioni sulle caratteristiche di database
Rispondi
Kiwi
Messaggi: 8
Iscritto il: giovedì 6 giugno 2013, 16:27

Scrittura campi concatenati

Messaggio da Kiwi »

Ciao a tutti,
Ho provato a cercare la risposta nel forum ma tutto ciò che ho trovato è relativo a query.

Quello di cui ho bisogno è leggermente diverso.
Ho una tabella (TABELLA 1) con diversi campi, tra cui "codice azienda" e "nome azienda" e "data ultima modifica".
L'utente va ad inserire i valori per entrambi i campi tramite formulario, ed io necessito una funzione che mi concateni i campi, ovvero che mi vada a scrivere in una terza colonna in automatico "101010 - 20130830 - Azienda Agricola Il Mulino", o qualcosa del genere.
La data differente (è una data di "ultima modifica dati aziendali") farà sì che questo valore concatenato sia univoco, e quindi chiave della suddetta tabella.
Non mi è sufficiente una query perchè questa combinazione di "codice_azienda + data_ult_mod + nome_azienda" sarà quella che l'utilizzatore andrà a selezionare da menù a tendina in altro formulario di inserimento (l'utente inizia a scrivere il numero ed in automatico nel menù a tendina può verificare di non aver premuto nessun tasto sbagliato perchè vedrà anche il nome dell'azienda e potrà scegliere la data "adeguata" ) .
In altre parole mi serve che qualcosa in automatico "scriva" questa stringa in un campo della tabella (che conterrà "n" altri campi compilati dall'utente)

E' possibile ottenere qualcosa del genere? :crazy:

Grazie... sono speranzoso e fiducioso! ;)
Open Office 3.1
Windows XP
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Scrittura campi concatenati

Messaggio da Gaetanopr »

Ciao, in questi casi è sempre meglio allegare un file di esempio, vedrai che qualcuno saprà darti qualche dritta :super:

Saluti
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Kiwi
Messaggi: 8
Iscritto il: giovedì 6 giugno 2013, 16:27

Re: Scrittura campi concatenati

Messaggio da Kiwi »

Giustamente...

Metto in allegato una versione semplificata e leggera (dove non ho inserito il Formulario).
Il concetto base è comunque quello che il campo "Concatena" della tabella "Aziende" mi viene compilato in automatico dal sistema.

Se necessario aggiungo il formulario in ulteriore file esempio.
Grazie e buona Domenica 8-)
Allegati
DB - Esempio.odb
(4.55 KiB) Scaricato 302 volte
Open Office 3.1
Windows XP
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Scrittura campi concatenati

Messaggio da Gaetanopr »

Ciao Kiwi, dovresti aggiungere versione con formulario in quanto bisogna creare una macro indicando i nomi dei vari controlli, almeno posso provarci :D
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Scrittura campi concatenati

Messaggio da Gaetanopr »

Ciao Kiwi, ho fatto da me :mrgreen: ho inserito un formulario, ho modificato il campo "Concatena" nella tabella mettendo "AA" di default in quanto essendo chiave primaria e quindi obbligatoria si è costretti a digitare un valore qualunque prima di confermare con il pulsante salva.
La stringa esce in questo modo "CODICEAZ-2013/09/01-TOPOLINO" ma se vuoi possiamo modificarla togliendo "/" dalla data quindi in questo modo
"CODICEAZ-20130901-TOPOLINO" come nel tuo esempio


Saluti
Allegati
DB - Esempio.odb
(15.88 KiB) Scaricato 255 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8954
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Scrittura campi concatenati

Messaggio da charlie »

Ciao Gaetano, a me esce questo errore.
Allegati
Schermata 09-2456537 alle 20.15.23.png
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Scrittura campi concatenati

Messaggio da Gaetanopr »

Ciao charlie quest'errore esce se tenti di inserire lo stesso record, cioè se clicchi due volte su salva
Premi nuovo record inserisci i dati e poi fai salva ma solo una volta
Questo è normale in quanto tenti di inserire due record con stessa chiave primaria

Fai sapere
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Scrittura campi concatenati

Messaggio da Gaetanopr »

Ho modificato il db, in modo da visualizzare un messaggio quando si tenta di inserire lo stesso record, causando quindi un errore

Ciao
Allegati
DB - Esempio.odb
(15.97 KiB) Scaricato 241 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Kiwi
Messaggi: 8
Iscritto il: giovedì 6 giugno 2013, 16:27

Re: Scrittura campi concatenati

Messaggio da Kiwi »

Buongiorno,
innanzitutto graziep er le risposte e la pazienza (sono proprio un utente base...)

Ho provato a far girare l'esempio, ma prima di addentrarmi nella scrittura di macro ed altri oggetti da riportare nel mio DB originale, ho riscontrato un paio di problemi.
Ho dapprima cambiato le impostazioni di sicurezza - normale, sennò non posso utilizzare macro.
Successivamente mi sono messo ad inserire aziende nel formulario ma quando inserisco i dati (codice azienda, nome, date, ecc.) la parte "concatena" non mi si compila da sola.
Se provo con i pulsanti "nuovo record" o "salva" mi mette "AA" come concatena - chiaramente la prima volta solo, poichè dalla seconda non rispetterebbe il vincolo di unicità.

Devo prima attivare qualcosa? Ho provato a lanciare le macro dal menù, ma mi viene fuori l'errore in allegato. :knock:
Allegati
Errore OO.JPG
Open Office 3.1
Windows XP
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Scrittura campi concatenati

Messaggio da Gaetanopr »

Kiwi ha scritto:Buongiorno,
innanzitutto graziep er le risposte e la pazienza (sono proprio un utente base...)

Ho provato a far girare l'esempio, ma prima di addentrarmi nella scrittura di macro ed altri oggetti da riportare nel mio DB originale, ho riscontrato un paio di problemi.
Ho dapprima cambiato le impostazioni di sicurezza - normale, sennò non posso utilizzare macro.
Successivamente mi sono messo ad inserire aziende nel formulario ma quando inserisco i dati (codice azienda, nome, date, ecc.) la parte "concatena" non mi si compila da sola.


Devo prima attivare qualcosa? Ho provato a lanciare le macro dal menù, ma mi viene fuori l'errore in allegato. :knock:
Ciao Kiwi, non puoi lanciare la macro dal menù, ovvio che ti esce fuori quest'errore, la macro deve essere lanciata dal formulario dove si trova il pulsante cioè dal form da dove preleva i dati dai campi per l'inserimento del record.
La macro non esegue soltanto il concatenamento dei campi, ma inserisce tutto il record nella tabella, cioè sostituisce il pulsante "salva record di dati"che si trova nella barra in fondo al formulario.
Kiwi ha scritto: Se provo con i pulsanti "nuovo record" o "salva" mi mette "AA" come concatena - chiaramente la prima volta solo, poichè dalla seconda non rispetterebbe il vincolo di unicità.
l'uso non è opzionale, ma il primo serve a farti inserire un nuovo record, volendo puoi continuare ad utilizzare quello che si trova nella barra in fondo al formulario, il secondo invece, solo dopo aver compilato i campi, serve a salvare il record appena compilato con conseguente inserimento in tabella.

Io ho provato il file in 3 pc diversi e funziona.

Quindi ricapitolando, apri il formulario, premi il pulsante "Nuovo Record" in modo da passare in modalità inserimento, compili i vari campi e premi il pulsante "Salva"

Saluti

Ciao
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Kiwi
Messaggi: 8
Iscritto il: giovedì 6 giugno 2013, 16:27

Re: Scrittura campi concatenati

Messaggio da Kiwi »

Gaetanopr ha scritto: Ciao Kiwi, non puoi lanciare la macro dal menù, ovvio che ti esce fuori quest'errore, la macro deve essere lanciata dal formulario dove si trova il pulsante cioè dal form da dove preleva i dati dai campi per l'inserimento del record.
La macro non esegue soltanto il concatenamento dei campi, ma inserisce tutto il record nella tabella, cioè sostituisce il pulsante "salva record di dati"che si trova nella barra in fondo al formulario.
Ok, la prima parte mi è chiara.
Tuttavia quando vado a fare "salva record", sul campo "concatena" mi trovo comunque "AA" - mentre compilo gli altri campi o al momento di premere "salva record", non avviene la compilazione automatica di questo campo sul mio pc - forse ho qualche impostazione non corretta? :?:
Gaetanopr ha scritto: l'uso non è opzionale, ma il primo serve a farti inserire un nuovo record, volendo puoi continuare ad utilizzare quello che si trova nella barra in fondo al formulario, il secondo invece, solo dopo aver compilato i campi, serve a salvare il record appena compilato con conseguente inserimento in tabella.

Io ho provato il file in 3 pc diversi e funziona.

Quindi ricapitolando, apri il formulario, premi il pulsante "Nuovo Record" in modo da passare in modalità inserimento, compili i vari campi e premi il pulsante "Salva"

Saluti
Ok, questo mi è tutto chiaro, ed è in effetti quello che faccio normalmente, con il problema però sopra descritto (v.allegato)

Grazie per la pazienza! ;)
Allegati
Errore OO 2.JPG
Open Office 3.1
Windows XP
Gaetanopr
Volontario
Volontario
Messaggi: 3316
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Scrittura campi concatenati

Messaggio da Gaetanopr »

Fai la seguente prova, cambia AA con qualsiasi altra cosa, forse avrai un record già inserito con AA

Saluti


PS:
Ciao charlie a te invece funziona oppure riscontri gli stessi errori?? perchè a me funziona regolarmente
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Kiwi
Messaggi: 8
Iscritto il: giovedì 6 giugno 2013, 16:27

Re: Scrittura campi concatenati

Messaggio da Kiwi »

Gaetano, perdona il ritardo, ho provato come mi hai detto ma non sono riuscito a risolvere.
Forse un problema della mia versione, forse del mio sistema operativo... non saprei.

Ho comunque rinunciato all'idea di proporre una macro (problemi di sicurezza per cui bisogna contattare l'amministratore di rete, avere autorizzazione... e ripetere in caso si cambi una virgola nel DB) ... per questa volta l'utente dovrà metterci del suo ;)

Non metto quindi "risolto" perché personalmente non ho potuto fare la controprova, ringrazio comunque chi ha partecipato e dato consigli. 8-)
(Magari quando sistemo il pc... faccio anche la controprova)
Open Office 3.1
Windows XP
balapao
Messaggi: 50
Iscritto il: venerdì 11 ottobre 2013, 11:00

Re: Scrittura campi concatenati

Messaggio da balapao »

mi intrometto in questo forum xkè sembra faccia al caso mio ma ho bisogno di una semplificazione. Ho due tabelle, per l'inserimento dei dati di una (tab 1) ho creato un formulario. Nel formulario ho una casella di riepilogo che elenca una serie di nomi ai quali ho associato un codice nella seconda tabella, vorrei che inserendo il nome dall'elenco nel formulario, in automatico mi comparisse in un'altra casella il codice corrispondente e poi insieme ad altri dati tutto venisse salvato in un record.
Grazie
libre office 4 su windows xp
Rispondi