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
Ultima modifica di steaz il mercoledì 22 aprile 2015, 6:38, modificato 1 volta in totale.
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 '
Prova
OpenOffice Windows - Libre su Ubuntu Desktop e Notebook WiFi
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto.
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
restituisce il seguente errore:
Errore di runtime basic
Proprietà o metono non trovati.text
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
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.
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