LibreOffice Base: precisa da data de hoje como valor padrão em um campo de formulário

0

Novo no libreoffice Base. Eu encontrei como definir o valor padrão em uma tabela para a data atual. Agora preciso que a data atual apareça no campo correspondente em um formulário. Eu tentei inserir em "valor padrão" TODAY() e CURRENT_DATE . Ambos me deram 18 de novembro de 1899 por algum motivo. E ideias como fazer isso?

    
por bob.sacamento 01.02.2017 / 23:16

2 respostas

1

Esta macro grava a data de hoje no campo de data myDateField :

Sub writeDate
    Dim today As New com.sun.star.util.Date
    today.Month = Month( Now )
    today.Day = Day( Now )
    today.Year = Year( Now )
    form = ThisComponent.DrawPage.Forms(0)  ' first form
    form.myDateField.BoundField.UpdateDate( today )
End Sub

Para atribuir a ação: Navegador de formulário > myForm > Propriedades do formulário > Eventos > por exemplo. Ao carregar

    
por 03.11.2017 / 21:15
0

Use o seguinte código de macro. Aqui, a coluna da tabela (não o nome do controle) é chamada "MyDate".

Sub DefaultDateInForm (oEvent As Object)
    oForm = oEvent.Source
    lDateCol = oForm.findColumn("MyDate")
    If oForm.getString(lDateCol) = "" Then
        dateStamp = Format(Now, "YYYY-MM-DD")
        oForm.updateString(lDateCol, dateStamp)
    End If
End Sub

Edite o formulário e, nas propriedades do formulário, atribua a macro ao evento "after record change".

Agora,semprequeadatadeumregistroestávazia,comoquandoumnovoregistroéiniciado,ocampodedatadeveseropadrãoparaadataatual.

Existemváriasdiscussõessobreestetópiconofórumdoopenoffice:

  • link
  • link
  • link
  • link
por 02.02.2017 / 10:00