[Risolto] Macro aggiornare campo di controllo

Discussioni sulle caratteristiche di database
Rispondi
marcelotero
Messaggi: 28
Iscritto il: venerdì 8 aprile 2011, 14:00

[Risolto] Macro aggiornare campo di controllo

Messaggio da marcelotero »

Ciao a tutti,

sono quasi riuscito a progettare un semplice database
Ora sono bloccato da giorni su questo:

vorrei utilizzare una macro per aggiornare un campo di controllo,senza dover usare il pulsante della barra degli strumenti
Ho cercato nel forum ma non ho trovato quello che cerco,ho trovato solo come aggiornare l'intero formulario,ma se uso questa funzione mi cancella i dati già inseriti
Mi serve perchè ho un form dove inserisco vari dati,scelti da combobox abbinate a tabelle.Tramite pulsanti accedo a vari form per inserire eventuali valori mancanti nelle combobox,e quando torno indietro devo aggiornare la combobox per vedere il nuovo valore inserito

Spero di essermi spiegato bene,e che qualcuno possa aiutarmi
grazie

SO Windows XP
OpenOfficeOrg 3.2.1
Ultima modifica di charlie il lunedì 17 febbraio 2014, 7:42, modificato 2 volte in totale.
Motivazione: Inserito segno di spunta verde
OpenOffice.Org 3.2.1 su Windows XP
codicem
Messaggi: 57
Iscritto il: venerdì 30 aprile 2010, 14:30

Re: Macro aggiornare campo di controllo

Messaggio da codicem »

Spero di aver capito, questo è il codice:

Codice: Seleziona tutto

Sub Update
ThisComponent.DrawPage.Forms.NomeTuoFormulario.getByName("NomeCampoDiControllo").refresh
end sub
OpenOffice 3.3 su Winxp / Libreoffice 3.3.2 su Mandriva 2010.2
marcelotero
Messaggi: 28
Iscritto il: venerdì 8 aprile 2011, 14:00

Re: Macro aggiornare campo di controllo

Messaggio da marcelotero »

Hai capito giusto,però il codice non mi funziona
E' come se l'indirizzo fosse sbagliato
Ho sostituito "NomeTuoFormulario" con il nome del form,giusto?

Errore di run time basic.Proprietà o metodo non trovati: *nome mio form*
OpenOffice.Org 3.2.1 su Windows XP
codicem
Messaggi: 57
Iscritto il: venerdì 30 aprile 2010, 14:30

Re: Macro aggiornare campo di controllo

Messaggio da codicem »

La macro deve essere lanciata all'interno del formulario, non puoi lanciarla da un'altra finestra.
Quindi potresti collegarla ad un pulsante messo vicino al campo di controllo che vuoi aggiornare.
OpenOffice 3.3 su Winxp / Libreoffice 3.3.2 su Mandriva 2010.2
marcelotero
Messaggi: 28
Iscritto il: venerdì 8 aprile 2011, 14:00

Re: Macro aggiornare campo di controllo

Messaggio da marcelotero »

codicem ha scritto:La macro deve essere lanciata all'interno del formulario, non puoi lanciarla da un'altra finestra.
Quindi potresti collegarla ad un pulsante messo vicino al campo di controllo che vuoi aggiornare.
è quello che ho fatto,ma mi da l'errore che ho scritto prima.E' come se fosse scritto sbagliato l'indirizzo di riferimento al form
io ho copiato e incollato il tuo codice e sostituito solamente nome del form e della combo da aggiornare

avevo provato anche a collegare una macro registrandola,ma all'inizio funzionava ora non so perchè se la uso mi cancella i dati già inseriti!
OpenOffice.Org 3.2.1 su Windows XP
marcelotero
Messaggi: 28
Iscritto il: venerdì 8 aprile 2011, 14:00

Re: Macro aggiornare campo di controllo

Messaggio da marcelotero »

allora,registrando la macro sono riuscito ad ottenere il risultato
ma c'è un problema: ogni volta che la eseguo mi salva il record,e questo non va bene

La macro è questa:

Codice: Seleziona tutto

sub AggiornaCombobox
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:RefreshFormControl", "", 0, Array())


end sub
Per quale motivo mi salva?
OpenOffice.Org 3.2.1 su Windows XP
codicem
Messaggi: 57
Iscritto il: venerdì 30 aprile 2010, 14:30

Re: Macro aggiornare campo di controllo

Messaggio da codicem »

marcelotero ha scritto:
codicem ha scritto:La macro deve essere lanciata all'interno del formulario, non puoi lanciarla da un'altra finestra.
Quindi potresti collegarla ad un pulsante messo vicino al campo di controllo che vuoi aggiornare.
è quello che ho fatto,ma mi da l'errore che ho scritto prima.E' come se fosse scritto sbagliato l'indirizzo di riferimento al form
io ho copiato e incollato il tuo codice e sostituito solamente nome del form e della combo da aggiornare

avevo provato anche a collegare una macro registrandola,ma all'inizio funzionava ora non so perchè se la uso mi cancella i dati già inseriti!
Vediamo, non è che sei in una subForm? o sbagliato il nome della combo?
Eventualmente puoi allegarmi il file così vedo un po cosa fare.
OpenOffice 3.3 su Winxp / Libreoffice 3.3.2 su Mandriva 2010.2
marcelotero
Messaggi: 28
Iscritto il: venerdì 8 aprile 2011, 14:00

Re: Macro aggiornare campo di controllo

Messaggio da marcelotero »

Mi faresti un gran favore

Questo è il link del file http://dl.dropbox.com/u/5387488/Costi_Trasporti.odb

la prova la trovi nel form "Inserisci_Prezzo_Hoyer_Import"
pulsante "provamacroupdate" collegato a macro "update" che dovrebbe aggiornare la combobox sotto "Ritiro pieno"
OpenOffice.Org 3.2.1 su Windows XP
codicem
Messaggi: 57
Iscritto il: venerdì 30 aprile 2010, 14:30

Re: Macro aggiornare campo di controllo

Messaggio da codicem »

marcelotero ha scritto:Mi faresti un gran favore

Questo è il link del file http://dl.dropbox.com/u/5387488/Costi_Trasporti.odb

la prova la trovi nel form "Inserisci_Prezzo_Hoyer_Import"
pulsante "provamacroupdate" collegato a macro "update" che dovrebbe aggiornare la combobox sotto "Ritiro pieno"
Scaricato ma non trovo ne la macro ne il pulsante.
OpenOffice 3.3 su Winxp / Libreoffice 3.3.2 su Mandriva 2010.2
marcelotero
Messaggi: 28
Iscritto il: venerdì 8 aprile 2011, 14:00

Re: Macro aggiornare campo di controllo

Messaggio da marcelotero »

OpenOffice.Org 3.2.1 su Windows XP
codicem
Messaggi: 57
Iscritto il: venerdì 30 aprile 2010, 14:30

Re: Macro aggiornare campo di controllo

Messaggio da codicem »

Hai sbagliato ad inserire il nome del Formulario che nel tuo caso è "MainForm".
Puoi tranquillamente vederlo, durante la modifica del formulario, cliccando sull'icona Navigatore Formulario ed eventualmente cambiargli nome.
Cambia la macro con questo codice:

Codice: Seleziona tutto

Sub Update
ThisComponent.DrawPage.Forms.MainForm.getByName("provaupdate").refresh
end sub
OpenOffice 3.3 su Winxp / Libreoffice 3.3.2 su Mandriva 2010.2
marcelotero
Messaggi: 28
Iscritto il: venerdì 8 aprile 2011, 14:00

Re: Macro aggiornare campo di controllo

Messaggio da marcelotero »

fantastico,grazie mille ora ho capito
pensavo che bastasse rinominarli nella pagina principale

grazie ancora
OpenOffice.Org 3.2.1 su Windows XP
magno1972
Messaggi: 8
Iscritto il: mercoledì 22 gennaio 2014, 4:08

Re: Macro aggiornare campo di controllo

Messaggio da magno1972 »

Ciao so che è passato un po di tempo da quando avete risolto il problema dell'aggiornamento controllo..
ora io mi trovo nella stessa situazione ma mi da errore di runtime basic 423 utilizzando il seguente comando

ThisComponent.DrawPage.forms.Mainform.getByName("TabellaImmissione").getByName("Prezzo Calcolato").refresh

avete tolto il file di esempio che mi sarebbe stato utile poter visionare ...lo potete rimettere

grazie
windows xp libreoffice 4.1
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8954
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro aggiornare campo di controllo

Messaggio da charlie »

Ciao, purtroppo il file era stato probabilmente tolto per problemi tecnici del sito e solo chi lo aveva allegato potrebbe rimetterlo.
Essendo passato del tempo ti conviene impostare un nuovo argomento.
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
magno1972
Messaggi: 8
Iscritto il: mercoledì 22 gennaio 2014, 4:08

Re: [RISOLTO] Macro aggiornare campo di controllo

Messaggio da magno1972 »

grazie
windows xp libreoffice 4.1
Rispondi