[Risolto] da casella di controllo a variabile di memoria

Discussioni sulle caratteristiche di database
Rispondi
r.vanoni
Messaggi: 35
Iscritto il: lunedì 29 novembre 2010, 15:40

[Risolto] da casella di controllo a variabile di memoria

Messaggio da r.vanoni »

ciao a tutti. qualcuno sa come associare una casella di controllo in modo che se la seleziono mi carica un valore su una variabile di memoria all'interno di una macro?
In altre parole: esiste il modo di leggere il valore di riferimento (se on) di una casella di controllo?
Ho trovato questa istruzione:

Codice: Seleziona tutto

otipo = oEv.Source.getAccessibleContext.Text

Ma mi ha caricato in otipo la didascalia del pulsante che attiva la macro.
Allegati
check.png
check.png (10.44 KiB) Visto 3188 volte
Ultima modifica di r.vanoni il sabato 22 gennaio 2011, 16:06, modificato 1 volta in totale.
Windows 10 - Apache OpenOffice 4.1.8
Avatar utente
xergio
Messaggi: 315
Iscritto il: lunedì 15 marzo 2010, 21:54
Località: Arzignano (Vicenza)
Contatta:

Re: da casella di controllo a variabile di memoria

Messaggio da xergio »

Codice: Seleziona tutto

otipo = oEv.Source.State
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto.
---
Sergio Corato
LibO 6.x su Ubuntu 18.04 / OOo 4.x su Windows XP/10 (VirtualBox)
https://efatto.it
r.vanoni
Messaggi: 35
Iscritto il: lunedì 29 novembre 2010, 15:40

Re: da casella di controllo a variabile di memoria

Messaggio da r.vanoni »

grazie dell'indicazione ma non ci capisco nulla. Non riesco a capire come si legge il valore di un campo di controllo (es checkbox1) attraverso una macro. Dove posso studiare queste cose? Sto provando e riprovando ma chi la dura la vince (spero). Che sia meglio utilizzare le dialog box?
Windows 10 - Apache OpenOffice 4.1.8
Akrobaticone
Messaggi: 93
Iscritto il: mercoledì 31 marzo 2010, 9:09

Re: da casella di controllo a variabile di memoria

Messaggio da Akrobaticone »

Se ti può essere utile potresti dare un occhio al database che ho inserito in questa discussione
http://user.services.openoffice.org/it/ ... ?f=4&t=391
si chiama Disegni e lì utilizzo il valore di alcune caselle di riepilogo per generare una query
il codice lo trovi nelle macro
diversi pezzi li ho copiati senza averli completamente compresi, ma funziona

i
LibreOffice 3.3.2
Ubuntu 10.10
Akrobaticone
Messaggi: 93
Iscritto il: mercoledì 31 marzo 2010, 9:09

Re: da casella di controllo a variabile di memoria

Messaggio da Akrobaticone »

Scusa dimenticavo che per usare il DB devi registrarlo

Dal menu principale selezionare:

Strumenti-> Opzioni-> Sicurezza -> Sicurezza delle macro -> Livello di sicurezza
impostare: Medio

Strumenti ->Opzioni ->OpenOffice.org Base -Database -> Nuovo
Selezionare il percorso del file del database (Disegni.odb)

Il database è ora pronto per l'utilizzo
LibreOffice 3.3.2
Ubuntu 10.10
r.vanoni
Messaggi: 35
Iscritto il: lunedì 29 novembre 2010, 15:40

Re: [RISOLTO] da casella di controllo a variabile di memoria

Messaggio da r.vanoni »

Ottimo.
con la seguente macro associata all'evento Stato modificato, quando seleziono la check box si attiva la seguente macro:

Codice: Seleziona tutto

REM prova check box
Sub c_box(oEv)
Dim otipo as Integer
otipo = oEv.Source.State
if otipo = 1 then 
m_aziende  'lancia una macro che apre un formulario
end if
End sub

Se invece vogliamo una macro che va a verificare lo stato di una checkbox possiamo usare questa:

Codice: Seleziona tutto

REM macro  che controlla lo stato di una checkbox presente nella MainForm del formulario
REM la macro funziona se attivata da un pulsante presente sul formulario
Sub c_box_trova(oEv)
Dim otipo as Integer
oModel = oEv.Source.getModel
oForm = oModel.getParent
otipo = oForm.getByName("Cas1").State    'Cas1 è il nome della checkbox 
if otipo = 1 then               '1 è il valore assunto dalla checkbox selezionata
m_aziende     'attiva la macro m_aziende
end if
end sub
Grazie XSergio e Akrobaticone per i preziosi e utili suggerimenti. Ciao
Windows 10 - Apache OpenOffice 4.1.8
Rispondi