Pannello di Controllo Moderatore ]

Formulario con Query con più ricerche

Discussioni sulle caratteristiche di database

Re: Formulario con Query con più ricerche

Messaggioda charlie » martedì 7 luglio 2020, 17:55

Non è il massimo, per le stampe ci sono i report.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » mercoledì 8 luglio 2020, 18:12

Sapevo di questa funzione, ma non so come crearli. Se io faccio una ricerca nel formulario come posso trasformarla in report?
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda charlie » mercoledì 8 luglio 2020, 18:42

Il tuo formulario di ricerca va a modificare la query, puoi usare quella facendo un report con la procedura guidata.
OO ha un report nativo, in alternativa puoi installare l'estensione Report Builder.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » giovedì 9 luglio 2020, 16:33

Va bene, sto scaricando report builder. Il problema del report normale è che non mi dava mai alcun valore. Lo aprivo e aveva valori predefiniti
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » giovedì 9 luglio 2020, 16:38

Esce così con report builder. Come mi muovo? Vorrei fare che esce in alto come il report di base. Nome azienda, data del giorno del report e sotto i dati
Allegati
Annotazione 2020-07-09 163718.png
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » giovedì 9 luglio 2020, 17:15

Ti faccio un'unica domanda. Allora ho creato questo rapporto. Adesso mi chiede se ci clicco i vari parametri (e già è poco funzionale dato che io dal formulario cambio i dati e vorrei far stampare il rapporto dal formulario stesso. Ho provato a fare stampa ma esce la stampa della pagina del formulario ed è poco professionale. Se clicco inserisco i parametri della query nel rapporto, si apre e non esce niente mentre se uso gli stessi parametri nel formulario funziona. E poi un'altra cosa. In questa query mi trova i valori di una colonna delle varie operazioni che sono valori numerici, non si possono sommare e mostrarli tipo in basso al report, come totale di giornata?
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » giovedì 9 luglio 2020, 17:29

In pratica la query da risultato vuoto sia se provo ad aprirla mettendo i parametri sulla query stessa, sia mettendo i parametri nel rapporto, mentre tramite formulario mi fa le varie ricerche.
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda charlie » giovedì 9 luglio 2020, 18:29

Ciao, dovrei non rispondere quando non posso fare delle verifiche a quanto scrivo :D e questo è uno di quei casi.
Per stampare un report (sarebbe meglio dire generare un PDF stampabile) da formulario bisogna ricorre ad una macro. Cercando sul forum si dovrebbe trovare qualcosa da adattare, per scriverla di sana pianta serve il file su cui stai lavorando tu.
Per quanto riguarda Report Builder, qualche anno fa l'ho studiato seguendo una guida in inglese ed ho raccolto il risultato in un tutorial ancora reperibile sul mio quasi dimenticato blog. Se credi ti possa essere utile vai al link sotto la mia firma. In alternativa trovi documentazione in inglese, ad esempio qui: https://wiki.documentfoundation.org/ima ... eGuide.pdf al capitolo 6. È per LO che ha report Builder incorporato, ma va bene anche per l'estensione di OO.

Attenzione Report Builder è un'estensione molto datata e piena di bug, per farla funzionare ci vuole buona volontà e salvare molto spesso il report ed il database. Specialmente in OO è soggetto a crash.
Ma non ci sono alternative.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » giovedì 9 luglio 2020, 20:26

posso mandartelo in privato senza tenerlo pubblico qui?
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda charlie » venerdì 10 luglio 2020, 14:48

Prova, vedo quello che posso fare.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » lunedì 27 luglio 2020, 11:14

Ciao, per quel famoso formulario, mi si visualizza una colonna numerica. Io dovrei aggiungere nel formulario una casella che mi visualizza il totale di quella colonna. Avevo pensato nella query di aggiungere semplicemente Sum (nomeColonna), ma non va... mi sapresti consigliare?
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda charlie » lunedì 27 luglio 2020, 11:40

Probabilmente non va perché devi contemporaneamente raggruppare gli altri campi.
Prova prima con solo quel campo:
Codice: Seleziona tutto   Espandi visualeStringi visuale
SELECT SUM("NomeCampo1") FROM "NomeTabella"


Poi aggiungi gli altri campi:
Codice: Seleziona tutto   Espandi visualeStringi visuale
SELECT SUM("NomeCampo1"),"NomeCampo2","NomeCampo3"  FROM "NomeTabella" GROUP BY "NomeCampo2","NomeCampo3"
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » lunedì 27 luglio 2020, 17:37

Mi da questo errore...
Allegati
Annotazione 2020-07-27 173726.png
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda charlie » lunedì 27 luglio 2020, 18:47

Non ho la possibilità di provare ma leggendo il messaggio di errore rilevo che il campo C.E.T.E. (N.) compare 2 volte, la prima con SUM va bene, la seconda no.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » lunedì 27 luglio 2020, 19:05

a me serve mostrare sia i singoli che il totale
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda charlie » martedì 28 luglio 2020, 8:04

Puoi fare una query a parte solo per la somma e visualizzarla nel formulario.
Se invece ti serve nel report, si può fare direttamente da la'.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » mercoledì 29 luglio 2020, 17:49

E come posso far visualizzare una query a parte. Comunque devo risolvere anche il fatto di poter stampare dal formulario. Tu mi dicesti con una macro
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda charlie » giovedì 30 luglio 2020, 7:51

Fai una query
Codice: Seleziona tutto   Espandi visualeStringi visuale
SELECT SUM("NomeCampo") As "Totale" FROM "NomeTabella"

poi la aggiungi a parte nel formulario. È probabile che ti serva un pulsante per aggiornarla se apporti modifiche ai dati dal formulario, in caso contrario no.

Nel report puoi adoperare direttamente la funzione Accumulo.

Per stampare (in PDF) il report dal formulario sì, serve una macro.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » giovedì 30 luglio 2020, 12:11

per domani mi serve urgente il conteggio. Ti ricordo che il formulario contiene una query dove tu mettendo un periodo, un giorno o il reparto mi da i vari valori. Il totale lo deve fare in base a quei valori del formulario
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » venerdì 31 luglio 2020, 8:15

SELECT "Storico"."Reparto " AS "Reparto", "Storico"."Pattuglia" AS "Pattuglia", SUM( "Storico"."C.E.T.E. (N.)" ) AS "Totale CETE", SUM( "Storico"."MINI C.E.T.E. (N.)" ) AS "Totale MINI CETE", SUM( "Storico"."C.O.P.E (N.)" ) AS "Totale COPE" FROM "Storico" WHERE "Storico"."Giorno" >= "12/07/2020" AND "Storico"."Giorno" <= "31/07/2020" GROUP BY "Reparto", "Pattuglia"

Come errore mi dice che non trova la colonna 12/07/2020... non so proprio cosa può essere.
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » venerdì 31 luglio 2020, 9:58

Ho risolto per quanto riguarda la query dei conteggi con la somma. L'unica cosa che mi servirebbe, è nel formulario inserimento, un bottone che duplica un record, così da modificarlo e aggiungerlo
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda charlie » domenica 2 agosto 2020, 16:34

Pubblico una versione priva di riferimenti reali.
Nel formulario 'Inserimento' ho inserito una macro associata ad un pulsante che duplica il record corrente e lo rende disponibile per la modifica.
Ho dovuto apportare alcune modifiche:
  • Il formulario 'Inserimento' è stato abilitato alla modifica dei record
  • Nella tabella 'Storico' sono stati modificati alcuni tipi di campo perché errati (es. testo per numeri) o per esigenze di esecuzione dalla macro ('Termine turno' è ora tipo testo, ma per indicare l'ora dovrebbe andare bene lo stesso).
  • È stata eliminata la 'Digitazione necessaria' di tutti i campi
  • Sono state eliminate le relazioni fisse fra tabelle

Problema importante non ancora risolto:
  • Se il campo 'Risultati servizio' contiene il carattere ' (apostrofo o accento per le maiuscole), la macro va in errore.
Allegati
Nuovo database1.odb
(61.08 KiB) Scaricato 1 volta
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda charlie » lunedì 3 agosto 2020, 8:03

Risolto problema errore macro in presenza di apostrofo o apice semplice (accento) nel testo del campo 'Risultati servizio'.
Allegati
Nuovo database2.odb
(63.12 KiB) Scaricato 1 volta
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » lunedì 3 agosto 2020, 15:54

Ciao, vorrei sapere, come funziona adesso l'inserimento, cioè come è la procedura per copiare
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda mirabellomusic » lunedì 3 agosto 2020, 15:57

e un'altra cosa, è possibile adesso inserire i dati da un altro db in modo tale da usare questo da te modificato oppure come posso copiare la macro nel db originale?
Open Office 4.1.7
mirabellomusic
 
Messaggi: 48
Iscritto il: venerdì 12 giugno 2020, 12:26

Re: Formulario con Query con più ricerche

Messaggioda charlie » lunedì 3 agosto 2020, 18:54

Ci si posiziona sul record da copiare e si preme il pulsante una volta (non c'è messaggio di avviso) e il record viene duplicato. Il formulario presenta subito il nuovo record per le modifiche.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Re: Formulario con Query con più ricerche

Messaggioda charlie » lunedì 3 agosto 2020, 19:14

La macro è questa:
Codice: Seleziona tutto   Espandi visualeStringi visuale
REM  *****  BASIC  *****

Sub Copia
   Dim oForm As Object
   Dim i As Integer
   Dim semplice AS String
   Dim doppio As String
   
   oForm=thisComponent.drawpage.forms.getByName("MainForm")
   
   ' cicli per acquisire i valori dei campi nel Record Corrente
   for i = 1 to 7
      oForm.GetString(i)   
   next i
   
   for i = 8 to 9
      oForm.GetLong(i)   
   next i
   
    for i = 10 to 10
      oForm.GetString(i)   
   next i

   for i = 11 to 11
      oForm.GetLong(i)   
   next i
   
   for i = 12 to 12
      oForm.GetString(i)   
   next i
   
   for i = 13 to 13
      oForm.GetLong(i)   
   next i
   
   for i = 14 to 15
      oForm.GetString(i)   
   next i
   
   for i = 16 to 16
      oForm.GetLong(i)   
   next i
   
   for i = 17 to 19
      oForm.GetString(i)   
   next i
   
   for i = 20 to 22
      oForm.GetLong(i)   
   next i
   
   semplice = oForm.GetString(18) ' assegna a semplice il contenuto dell'array 18
   
   doppio = EscapeQuotes(semplice)' Chiama la funzione per duplicare il carattere ' (apice semplice) contenuto nel testo e assegna a doppio il testo modificato
   
   
   oStatement = oForm.ActiveConnection.createStatement()' Crea istruzione da eseguire
   'SQL di scrittura nuovo record 
    sSQL = "INSERT INTO ""Storico"" (""Giorno"",""Reparto "",""Pattuglia"",""Capo Pattuglia"",""Turno"",""Termine Turno"",""Automezzi"",""Soggetti"",""Verbale"",""N. Verbali"",""Sequestri"",""N. Sequestri"",""Violazione"",""Tipologia"",""Quantitativo"",""Localita"",""Risultati Servizio"",""Tipo Servizio"",""C.O.P.E (N.)"",""C.E.T.E. (N.)"",""MINI C.E.T.E. (N.)"") VALUES  ('" & oForm.GetString(2) & "','" & oForm.GetString(3) & "','" & oForm.GetString(4) & "','" & oForm.GetString(5) & "','" & oForm.GetString(6) & "','" & oForm.GetString(7) & "','" & oForm.GetLong(8) & "','" & oForm.GetLong(9) & "','" & oForm.GetString(10) & "' ,'" & oForm.GetLong(11) & "','" & oForm.GetString(12) & "' ,'" & oForm.GetLong(13) & "','" & oForm.GetString(14) & "','" & oForm.GetString(15) & "' ,'" & oForm.GetLong(16) & "','" & oForm.GetString(17) & "',' " & doppio & " ','" & oForm.GetString(19) & "' ,'" & oForm.GetLong(20) & "' ,'" & oForm.GetLong(21) & "' ,'" & oForm.GetLong(22) & "')"
    oStatement.executeUpdate(sSQL)' Esegue l'struzione SQL
   oForm.reload
   oForm.last()
   
End Sub

Function EscapeQuotes(s) ' Duplica il carattere ' (apice semplice) contenuto nel testo per evitare errore di scrittura SQL
   srv = createUnoService("com.sun.star.sheet.FunctionAccess")
   s1 = srv.callFunction("SUBSTITUTE", Array(s, "'", string(2, "'")))
   EscapeQuotes = srv.callFunction("SUBSTITUTE", Array(s1,"""" , string(2,"""" )))
End Function

Si può copiare ed incollare nell'apposito modulo di un altro database.
Ma devono coincidere alla perfezione i nomi campo e i tipi campo.
charlie
macOS 10.12 Sierra: Open Office 4.1.7 - LibreOffice 6.2.8.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
 
Messaggi: 6840
Iscritto il: mercoledì 19 dicembre 2012, 11:50

Precedente

Torna a Base

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti