Ho un database composto da due formulari, uno si chiama "f-Immissione" dove vengono inseriti i dati relativi a ciascun trovatello ( ) che sono Nome e Cognome, Sesso, Età al momento del ritrovamento, espressa in Anni, Mesi e Giorni e Data di Nascita. Naturalmente ogni soggetto ha un ID univoco. Poi c'e un altro formulario chiamato "f_ricerca" dove, inserendo determinati parametri, tipo "Anno Nascita" il db mi restituisce, in una tabella, nell'esempio dell' "Anno di Nascita", tutti i trovatelli nati in un dato anno.
Mi piacerebbe che cliccando su uno dei record di un dato risultato di una ricerca contenuto in questa tabella che, ripeto, è nel formulario "f_ricerca", si aprisse il formulario "f_Immissione" alla schermata che contiene i dati del trovatello corrispondente.
dunque avevo trovato questa macro che ho inserito in Eventi > "Ricevimento del punto focale", nelle proprietà della tabella di ricerca contenuta nel formulario "f_ricerca"
Codice: Seleziona tutto
Sub ApriFormCompilazioneDaTabella ()
Dim prop(1) as New com.sun.star.beans.PropertyValue
forms=ThisComponent.Parent.getFormDocuments()
conn=ThisComponent.Parent.DataSource.getConnection("","")
prop(0).Name="ActiveConnection"
prop(0).Value=conn
prop(1).Name="OpenMode"
prop(1).Value="open"
oStartDoc = ThisComponent
oStartForm = oStartDoc.drawpage.forms.MainForm
i = oStartForm.columns.InventoryID.getInt
oNewDoc = forms.loadComponentFromURL("FORM_NC_PR","_blank",0,prop())
oNewDocForm = oNewDoc.drawpage.forms.MainForm
wait 100
oNewDocForm.Filter = "ID_NC_PR ='" & i & "'"
oNewDocForm.ApplyFilter = True
oNewDocForm.Reload
End Sub
si dice che non era funzionante anche nell'argomento da dove l'ho presa [Macro apertura di un form BASE da risultato tabellare] e si dice che la soluzione era nel forum in inglese, che consisterebbe essenzialmente nel sostituire la riga "oStartForm = oStartDoc.drawpage.forms.MainForm" con "oStartForm = oStartDoc.drawpage.forms.MainForm.SubForm", cosa che ho fatto nel db che allego, ma in ogni caso la macro non funziona (Errore di runtime BASIC.
Proprietà o metodo non trovato: MainForm) .
Avrei trovato anche un'altra macro nell'argomento [ viewtopic.php?f=26&t=6792 ]
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 '
Grazie se qualcuno potra darmi una mano...