Pagina 1 di 1

[Risolto]Macro Base data default

Inviato: martedì 21 marzo 2017, 11:50
da maxrome84
Salve a tutti, allego il mio database perchè ho un paio di problemi con una macro.In pratica all'apertura del formulario(Nuova fattura) la mia macro imposta il numero progressivo fattura (funziona) e poi anche la data odierna nel campo data fattura.
Il problema è che anche eseguendo il commit come per il progressivo, la data non viene salvata.La visualizza nel campo ma poi non salva.
Secondo problemino , quando apro il formulario nuova fattura in modalità modifica esce l'errore variabile ogetto non impostata alla riga ""oStatement = fattura.ActiveConnection.createStatement().
:crazy:
è qualche giorno che ci sto su ma non ne vengo a capo.Sono nuovo di Base
Grazie a tutti!

Re: Macro Base data default

Inviato: martedì 21 marzo 2017, 17:20
da maxrome84
Per chi fosse interessato ho risolto cosi.
Per l'errore oggetto variabile non impostato ho sostituito quella riga con questa : oStatement=ThisDatabaseDocument.CurrentController.ActiveConnection.CreateStatement

Mentre per la data odierna di default via macro bisogna copiare questa funzione:

Function FunctionData(Fecha As Date) As com.sun.star.util rem.Date
Dim FechaBD As New com.sun.star.util.Date
FechaBD.Year=Year(Fecha)
FechaBD.Month=Month(Fecha)
FechaBD.Day=Day(Fecha)
FunctionData=FechaBD
End Function

e poi per impostare la il campo data :

data = fattura.getByName("DataFattura")
data.BoundField.UpdateDate(FunctionData(Now))

Trovato la soluzione sul forum inglese.Questo mi sembra di aver capito va fatto perchè il database e il linguaggio basic gestiscono le date in modo differente.
Spero sia utile a qualcuno!