[Risolto] Macro già pronte per base
[Risolto] Macro già pronte per base
Ciao ragazzi,
chiedo se per cortesia, qualcuno mi può dare indicazioni, perchè sto cercando una macro per:
aprire un formulario filtrato in base all'ID (record) selezionato in un altro formulario, per es:
sono in un formulario in cui sto scorrendo l'elenco tabella delle fatture emesse, clicco a fianco un bottone e relativamente al record corrente mi si apre la scheda (formulario) completa.
Grazie
chiedo se per cortesia, qualcuno mi può dare indicazioni, perchè sto cercando una macro per:
aprire un formulario filtrato in base all'ID (record) selezionato in un altro formulario, per es:
sono in un formulario in cui sto scorrendo l'elenco tabella delle fatture emesse, clicco a fianco un bottone e relativamente al record corrente mi si apre la scheda (formulario) completa.
Grazie
Ultima modifica di steaz il mercoledì 22 aprile 2015, 6:38, modificato 1 volta in totale.
LibreOffice 6.1.6.3 - Windows 10
Re: Macro già pronte per base
Ciao
La macro che segue dovrebbe fare al caso tuo, ovviamente va adattata
Prova
La macro che segue dovrebbe fare al caso tuo, ovviamente va adattata
Codice: Seleziona tutto
private sub F_CnTe_Persone(oEvent) ' ByMizio - F_CntTes: PERSONE
dim sNameDB, sNameFm, NBFATT as string
dim oForm as object
'---------------------------------------------'
sNameFm = "F_AnaPer" ' MASCHERA DA APRIRE (Il nome del tuo formulario contenente la singola fattura)
sNameDB = thisComponent.title ' NOME FILE BASE SU CUI SI OPERA
sNameDB = MID$(sNameDB,1,instr(sNameDB, ":")-1)
NBFATT = oEvent.Source.Model.Parent.getByName("NBFATT ").text ' ACQUISISCI IL TUO NUMERO DI FATTURA (NBFATT E' FITTIZIO, DEVI METTERE IL NOME DEL TUO CAMPO TABELLARE)
oForm = FormOpenDB(sNameDB, sNameFm) ' APRI FORMULARIO IN DB
oForm.filter = "T_ANAPER.AZIENDA = '" & NBFATT & "'" ' FILTRO PER NUMERO FATTURA DA PERSONALIZZARE CON TUO NOME_TABELLA.NOMECAMPO = NUMFATTURA
oForm.reload '
end sub '
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto.
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto.
Re: Macro già pronte per base
Sto sbagliando qualcosa
restituisce il seguente errore:
Errore di runtime basic
Proprietà o metono non trovati.text
Codice: Seleziona tutto
private sub apriformcorrisp(oEvent) ' ByMizio - F_CntTes: PERSONE
dim sNameDB, sNameFm, NBFATT as string
dim oForm as object
'---------------------------------------------'
sNameFm = "Pannello eventi" ' maschera che si deve aprire
sNameDB = gesmenu ' file odb su cui sto lavorando
sNameDB = MID$(sNameDB,1,instr(sNameDB, ":")-1)
NBFATT = oEvent.Source.Model.Parent.getByName("tabella").text ' QUI NON HO CAPITO COSA METTERCI e ci ho messo il nome della tabella
oForm = FormOpenDB(sNameDB, sNameFm) ' APRI FORMULARIO IN DB
oForm.filter = "id_nominativo = '" & NBFATT & "'" ' nome del campo di riferimento per individuare la 'Fattura' da vedere
oForm.reload '
end sub
Errore di runtime basic
Proprietà o metono non trovati.text
LibreOffice 6.1.6.3 - Windows 10
Re: Macro già pronte per base
ho risolto in questo modo:
prima faccio una macro per la selezione in base all' ID
Poi all'apertura del formulario con dentro il dettaglio che cerco, imposto questa macro che filtra in base all'ID che avevo selezionato e funziona bene.
prima faccio una macro per la selezione in base all' ID
Codice: Seleziona tutto
Option Explicit
Global id_nominativo As Integer
Sub FormularioEvento(Event As Object)
Dim oForm As Object
oForm = Event.Source.Model.Parent
If oForm.IsNew Or oForm.IsAfterLast Then Exit Sub
id_nominativo = oForm.Columns.GetByName("id_nominativo").GetInt
With ThisDatabaseDocument.FormDocuments.GetByName("Pannello eventi")
.Close
.Open
End With
End Sub
Codice: Seleziona tutto
Sub FiltraEvento(Event As Object)
Dim oForm As Object
oForm = Event.Source
oForm.ApplyFilter=True
oForm.Filter="""id_nominativo""=" & id_nominativo
oForm.Reload
End Sub
LibreOffice 6.1.6.3 - Windows 10
Re: Macro già pronte per base
Comunque sNameDB = "gesmenu" (Mancavano le doppie virgolette)
Ciao
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto.
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto.
Re: Macro già pronte per base
Auch!!! non ci avevo fatto caso!
Grazie, provo la macro.
Grazie, provo la macro.
LibreOffice 6.1.6.3 - Windows 10