Libreoffice Base: требуется сегодняшняя дата в качестве значения по умолчанию в поле формы

создать в базе libreoffice. Я нашел, как задать значение по умолчанию в таблице на текущую дату. Теперь мне нужно, чтобы текущая дата отображается в соответствующем поле в форме. Я попытался вставить в" значение по умолчанию"TODAY() и CURRENT_DATE. Они оба дали мне ноябрь. 18, 1899 по какой-то причине. И идеи как это сделать?

21
задан bob.sacamento
22.11.2022 17:16 Количество просмотров материала 3337
Распечатать страницу

2 ответа

этот макрос записывает дату сегодня в поле Дата 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

назначить действие: навигатор форм > myForm > свойства форм > события > например, при загрузке

1
отвечен Salvador 2022-11-24 01:04

использовать следующий код. Здесь столбец таблицы (не имя элемента управления) называется "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

отредактируйте форму и в свойствах формы присвойте макрос событию "после изменения записи".

form properties

теперь, когда дата записи пуста, например, при запуске новой записи, поле даты должно по умолчанию иметь текущую дату.

существует несколько дискуссий на эту тему форум openoffice:

0
отвечен Jim K 2022-11-24 03:21

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх