Существует два способа, которые вы можете использовать для достижения ваших потребностей. Один из них - использовать непосредственно буфер таблицы, а другой - использовать дескриптор QUERY
.
Первый пример с использованием буфера непосредственно из таблицы (или TEMP-TABLE, не имеет значения):
DEF VAR dateVar AS DATE NO-UNDO.
FIND FIRST job NO-LOCK.
dateVar = DATE(BUFFER job:BUFFER-FIELD('dt-job'):BUFFER-VALUE).
MESSAGE dateVar
VIEW-AS ALERT-BOX INFO BUTTONS OK.
Второй пример, используя дескриптор запроса:
DEF VAR dateVar AS DATE NO-UNDO.
DEF QUERY qrJob FOR job.
OPEN QUERY qrJob FOR EACH job.
QUERY qrJob:GET-FIRST().
dateVar = DATE(QUERY qrJob:GET-BUFFER-HANDLE(1):BUFFER-FIELD('dt-job'):BUFFER-VALUE).
MESSAGE dateVar
VIEW-AS ALERT-BOX INFO BUTTONS OK.
Как Tim Kuehn сказал, что вы можете заменить 'dt-job'
на # поля в запросе, если вы знаете его позицию внутри запроса. Я мог бы использовать BUFFER-FIELD(2)
в замене BUFFER-FIELD('dt-job')
, потому что dt-job
- это поле №2 в моем запросе. Имейте в виду, что использование предложения FIELDS
в FOR EACH
или в операторе OPEN QUERY
изменяет порядок полей в запросе. Как правило, для браузеров доступны только поля столбцов, указанные в разделе FIELDS
, в порядке.
Это может сработать для вас. Важно сказать, что BUFFER-VALUE
всегда возвращает тип данных CHARACTER
, и из-за этого вам нужно использовать оператор DATE
для преобразования данных.
Надеюсь, это поможет.
Вам нужно показать более полный фрагмент кода. Это не дает достаточной информации, чтобы помочь. –