Ciao
Zago_87!
Grazie per la paziente assistenza che mi state assicurando in questi giorni!
Quando hai detto macro ho tremato ... parliamo di un mondo a me ignoto.
Volevo però a tutti i costi provare la tua soluzione, consapevole ad ogni modo che stavo scrivendo qualcosa in una lingua a me familiare quanto il persiano antico.
Voglio dire, non considerarla una scortesia, ma volevo e dovevo capire e poi venirne fuori, sì con un aiuto, ma per quanto possibile con le mie gambe.
Mi hai parlato di macro, così mi sono messo a trafficare con la funzionalità Macro di AOO e ... ad un certo punto è spuntato fuori il mitico "
Registra macro".
Allora, del tutto artigianalmente, ho aperto il mio formulario, con i soliti 40 record visualizzabili, poi sono andato in "Registra macro" e ho iniziato le operazioni:
- vai all'ultimo record,
- torna al primo record,
- arresta la registrazione.
Cerca che ti ricerca ho scovato che il codice automaticamente prodotto e registrato è il seguente:
Codice: Seleziona tutto
sub FineInizio
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:LastRecord", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:FirstRecord", "", 0, Array())
end sub
Ho infine associato questa macro all'evento "Durante il caricamento" nella scheda "Eventi" della "Proprietà modulo" del formulario e sono arrivato in goal!
Il bug è stato aggirato!
Certo, chissà cosa può accadere con tabelle contenenti molti record ...
Adesso che ho scoperto questa strada, immagino che devo fare in modo che tale codice segua sempre il mio dbase e, quindi, collocare dove è opportuno il modulo/codice.
Ma, prima di ogni altra cosa, tenterò di inserire il codice da te scritto, creando una macro da associare al suddetto evento.
Ci sto prendendo gusto!
Almeno fino al prossimo imminente intoppo che già vedo profilarsi al prossimo orizzonte ...
--- EDIT ---
Zago_87 ho inserito il tuo codice e l'ho provato sul formulario:
funziona perfettamente!!!
Il bug è sconfitto!!!
G-R-A-Z-I-E ! ! !