ho trovato in rete questa macro che, partendo da una tabella contenente i risultati (record) di una ricerca/query di BASE, apre il relativo form associato in quel record.
Per intenderci: immaginate di aver filtrato i record secondo certi parametri e questi siano presentati su un form a struttura tabellare (ogni riga = un record, la cui chiave primaria è "ID_NC_PR").
Ne volete aprire uno per vederne i dettagli attraverso un altro form ("FORM_NC_PR").
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
E se io la avessi in un Subform come devo modificarla?
Al momento avviando la macro dal subform mi segnala "Errore di runtime BASIC. Variabile non definita." e si ferma sulla riga
forms=ThisComponent.Parent.getFormDocuments()
Purtroppo sono un pivello in fatto di programmazione con Basic per cui chiedo il vostro aiuto. Grazie!