Pagina 1 di 1

[Risolto] Macro aggiornare campo di controllo

Inviato: martedì 24 maggio 2011, 11:18
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

Re: Macro aggiornare campo di controllo

Inviato: martedì 24 maggio 2011, 21:55
da codicem
Spero di aver capito, questo è il codice:

Codice: Seleziona tutto

Sub Update
ThisComponent.DrawPage.Forms.NomeTuoFormulario.getByName("NomeCampoDiControllo").refresh
end sub

Re: Macro aggiornare campo di controllo

Inviato: mercoledì 25 maggio 2011, 9:42
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*

Re: Macro aggiornare campo di controllo

Inviato: venerdì 27 maggio 2011, 10:16
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.

Re: Macro aggiornare campo di controllo

Inviato: venerdì 27 maggio 2011, 14:35
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!

Re: Macro aggiornare campo di controllo

Inviato: venerdì 27 maggio 2011, 16:17
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?

Re: Macro aggiornare campo di controllo

Inviato: venerdì 27 maggio 2011, 18:53
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.

Re: Macro aggiornare campo di controllo

Inviato: lunedì 30 maggio 2011, 11:35
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"

Re: Macro aggiornare campo di controllo

Inviato: lunedì 30 maggio 2011, 20:54
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.

Re: Macro aggiornare campo di controllo

Inviato: martedì 31 maggio 2011, 10:33
da marcelotero

Re: Macro aggiornare campo di controllo

Inviato: martedì 31 maggio 2011, 12:48
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

Re: Macro aggiornare campo di controllo

Inviato: martedì 31 maggio 2011, 13:48
da marcelotero
fantastico,grazie mille ora ho capito
pensavo che bastasse rinominarli nella pagina principale

grazie ancora

Re: Macro aggiornare campo di controllo

Inviato: martedì 11 febbraio 2014, 2:04
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

Re: Macro aggiornare campo di controllo

Inviato: venerdì 14 febbraio 2014, 18:24
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.

Re: [RISOLTO] Macro aggiornare campo di controllo

Inviato: domenica 16 febbraio 2014, 2:34
da magno1972
grazie