Ancora Listbox......(criteri SQL)

Discussioni sulle caratteristiche di database
Rispondi
lino.codeluppi
Messaggi: 22
Iscritto il: venerdì 5 novembre 2021, 16:24

Ancora Listbox......(criteri SQL)

Messaggio da lino.codeluppi »

Ciao a tutti....
Ho provato a spulciare i vari argomenti, ma non ho trovato quel che mi serve (sperando di aver cercato correttamente.. :roll: )
il quesito di oggi è:
Ho un fomulario collegato a tabella A
in un sottoformulario collegato alla tabella B, ho inserito una listbox che prende valori da tabella C
vorrei poter visualizzare (durante la scelta) solo i record che si riferiscono al valore selezionato nella tabella A....
E' possibile? E soprattutto, come?
Esempio
Formulario da Tabella A
id ciclo allevamento
Sottoformulario da Tabella B
Decessi (N°, Causa, ID ciclo etc...)
Listbox da Tabella C con codice suino (ne ho più di uno per ciclo e può ripetersi in più cicli)
vorrei visualizzare e scegliere solo i codici suino che si riferiscono al ciclo selezionato nel Formulario principale, ma non conosco criteri o funzioni adatte alla SQL in questione (potrei trovarmi con centinaia di dati nella listbox :ucrazy: )
Grazie mille in anticipo
e buon weekend a tutti
LibreOffice 7.1.2.2
Windows 10.0
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Ancora Listbox......(criteri SQL)

Messaggio da charlie »

Ciao, mi ripeto:
charlie ha scritto:... questa volta non si può proprio fare a meno di un file database di esempio, popolato con pochi fati fittizi al posto di quelli veri.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
lino.codeluppi
Messaggi: 22
Iscritto il: venerdì 5 novembre 2021, 16:24

Re: Ancora Listbox......(criteri SQL)

Messaggio da lino.codeluppi »

Hai Ragione .....
Ho copiato una parte del file, ma rimane comunque enorme...
ci riprovo.....
rifacendo da capo
Dunque:
dovrei poter visualizzare nella Listbox "Dettagli AT" solo i record relativi al ciclo selezionato
Spero di essermi spiegato meglio....
Grazie dell'aiuto :)
Allegati
Prova SQL.odb
(18.94 KiB) Scaricato 93 volte
LibreOffice 7.1.2.2
Windows 10.0
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Ancora Listbox......(criteri SQL)

Messaggio da charlie »

Ciao, faccio fatica ad orientarmi :roll: .
  • All'apertura è richiesto il consenso alle macro, ma non ce ne sono.
  • La struttura è complessa con tutti quei form e sub form in cascata, sevono tutti? Ce ne sono anche di vuoti.
    Schermata 2021-11-15 alle 15.31.53.png
  • Nella griglia in basso c'è la list box Causa il cui codice SQL sembra corretto per inserire dati dalla tabella Cause decessi.
  • C'è anche la list box ID Dett.AT il cui codice SQL è incomprensibile:

    Codice: Seleziona tutto

    SELECT "Tatuaggio" || "Riferimento Coscia", "Dettagli AT"."IDDettaglioAT", "Cicli Allevamento"."IDCiclo", "Dettagli AT"."ID_AT", "Dettagli AT"."Tatuaggio", "Mesi"."Riferimento Coscia", "Attestazioni AT"."ID_AT", "Entrata Suinetti"."ID DDT" FROM "Dettagli AT", "Mesi", "Attestazioni AT", "Entrata Suinetti", "Cicli Allevamento" WHERE "Dettagli AT"."Mese" = "Mesi"."ID_Mese" AND "Dettagli AT"."ID_AT" = "Attestazioni AT"."ID_AT" AND "Attestazioni AT"."ID DDT" = "Entrata Suinetti"."ID DDT" AND "Entrata Suinetti"."ID Ciclo" = "Cicli Allevamento"."IDCiclo"
    deve inserire il contenuto di 12 campi in uno solo? :knock:
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
lino.codeluppi
Messaggi: 22
Iscritto il: venerdì 5 novembre 2021, 16:24

Re: Ancora Listbox......(criteri SQL)

Messaggio da lino.codeluppi »

Ciao
Per semplificare ho copiato solo ciò che serviva.....
ho evitato macro e subform inutili al momento....
Vedi i commenti agli screenshot
Allegati
La Listbox visualizza tutti i record presenti...
La Listbox visualizza tutti i record presenti...
Quando seleziono il Ciclo "0" vorrei poter visualizzare nella listbox "ID Dett. AT", solo i record inerenti il ciclo "0"
Quando seleziono il Ciclo "0" vorrei poter visualizzare nella listbox "ID Dett. AT", solo i record inerenti il ciclo "0"
LibreOffice 7.1.2.2
Windows 10.0
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Ancora Listbox......(criteri SQL)

Messaggio da charlie »

lino.codeluppi ha scritto:Quando seleziono il Ciclo "0" vorrei poter visualizzare nella listbox "ID Dett. AT", solo i record inerenti il ciclo "0"
La selezione del ciclo all'interno del formulario, non si trasmette al contenuto SQL della List Box.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
lino.codeluppi
Messaggi: 22
Iscritto il: venerdì 5 novembre 2021, 16:24

Re: Ancora Listbox......(criteri SQL)

Messaggio da lino.codeluppi »

Ciao...
Questo mi è chiaro.....
speravo esistesse una modalità semplice, dovrò escogitare qualcosa..... :roll:
LibreOffice 7.1.2.2
Windows 10.0
lino.codeluppi
Messaggi: 22
Iscritto il: venerdì 5 novembre 2021, 16:24

Re: Ancora Listbox......(criteri SQL)

Messaggio da lino.codeluppi »

Ciao Charlie, buon pomeriggio
Ho trovato questa discussione......
E' utilizzabile nel mio caso?

sendykey ha scritto:Mi rispondo da solo ...

Codice: Seleziona tutto

Sub listProv (oEv as object)

oForm = oEv.source.model.parent
oListBox = oForm.GetByName("nomeListBox")
oListBox.ListSourceType = com.sun.star.form.ListSourceType.SQL
sSQL =  "SELECT ""Campo1"", ""Campo1" FROM ""Tabella"" WHERE ""Campo2"" = '"MioDato"'"
oListBox.ListSource = Array(sSQL)
'oListBox.BoundColumn = 1
oForm.Reload()

End sub


Con questo codice potete assegnare il codice SQL alla vostra Listbox
... e se si potresti metterci mano tu? Che io di macro ed SQL non ho tutta sta gran dimestichezza.....
Grazie mille...
LibreOffice 7.1.2.2
Windows 10.0
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Ancora Listbox......(criteri SQL)

Messaggio da charlie »

Quella macro sfrutta sempre un codice SQL che, se non fa quello che desideri, non risolve il problema.
lino.codeluppi ha scritto:... e se si potresti metterci mano tu?
Ci hi gà provato ma non ho capito ancora a fondo lo schema del database :roll: .
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi