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().
è qualche giorno che ci sto su ma non ne vengo a capo.Sono nuovo di Base
Grazie a tutti!
[Risolto]Macro Base data default
Re: Macro Base data default
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!
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!
Open Office 4 beta
windows 7
windows 7