Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
dimachus
Зарегистрирован: 07.10.2011 Сообщения: 108
|
Добавлено: Пн Ноя 07, 2011 17:46 Заголовок сообщения: Вывод формата даты |
|
|
Добрый день, кто подскажет, почему в Word не получается вывсети дату с правильным форматом?
Надо сформировать строку "Кадидат наук, 07.10.2009"
Вот мой код:
Код: |
- перехожу на нужную закладку
wordApp.Selection.GoTo(-1,0,0, "poslobraz");
-- организовываю цикл по нахождению степени, если 22 - то у меня
-- в базе кандидат, если иначае (21) - то доктор
scan @sel9
select (case when e1.Doc_grad=22 then 'Кандидат наук' else 'Доктор наук' end),
e1.Doc_grad_dt
from PR_EDUC e1 _hintbrowser
where (e1.Auto_Card=@$Glob:Auto_Card) and (e1.Doc_grad <> 0)
order by e1.Doc_grad_dt
execute
{
Let newstr;
Let dat as date;
Let dat = @sel9:2 as date;
Let newstr = @sel9:1[''];
-- собираю строку из Кадидат наук и Дата
Let assa = newstr[''] + ', ' + @sel9:2[dd.mm.yyyy];
wordApp.Selection.Font.Bold = 1;
wordApp.Selection.Font.Size = 12;
wordApp.Selection.TypeText(assa['']); -- здесь вывожу...
wordApp.Selection.MoveRight(12);
};
|
у меня не работает... Пишет Incorrect Syntax near ".2009", то есть ругается не на 07.10.2009 а только на .2009
Не подскажите как мне так сформировать строку "Кандидат наук, 07.10.2009", что бы всё нормально было. |
|
Вернуться к началу |
|
 |
olya_gran
Зарегистрирован: 01.10.2008 Сообщения: 70
|
Добавлено: Вт Ноя 08, 2011 08:21 Заголовок сообщения: |
|
|
вместо части кода:
execute
{
Let newstr;
Let dat as date;
Let dat = @sel9:2 as date;
Let newstr = @sel9:1[''];
-- собираю строку из Кадидат наук и Дата
Let assa = newstr[''] + ', ' + @sel9:2[dd.mm.yyyy];
wordApp.Selection.Font.Bold = 1;
wordApp.Selection.Font.Size = 12;
wordApp.Selection.TypeText(assa['']); -- здесь вывожу...
wordApp.Selection.MoveRight(12);
};
предлагаю следующий:
execute
{
wordApp.Selection.Font.Bold = 1;
wordApp.Selection.Font.Size = 12;
wordApp.Selection.TypeText('@sel9:1[''] , @sel9:2[dd.mm.yyyy]'); -- здесь вывод...
wordApp.Selection.MoveRight(12);
}; |
|
Вернуться к началу |
|
 |
zhenya17
Зарегистрирован: 04.02.2009 Сообщения: 190 Откуда: Кемерово
|
Добавлено: Чт Ноя 10, 2011 06:23 Заголовок сообщения: |
|
|
Я делаю проще: задаю форматы сразу в sql-запросе, т.е. вместо e1.Doc_grad_dt нужно вписать convert(varchar(10), e1.Doc_grad_dt, 104). |
|
Вернуться к началу |
|
 |
olya_gran
Зарегистрирован: 01.10.2008 Сообщения: 70
|
Добавлено: Чт Ноя 10, 2011 10:41 Заголовок сообщения: |
|
|
Я тоже пользуюсь convert для перевода даты в строку, но почему то он не всегда выводит дату в нужном формате (dd.mm.yyyy), хотя при конвертировании указываю формат - 104. |
|
Вернуться к началу |
|
 |
zhenya17
Зарегистрирован: 04.02.2009 Сообщения: 190 Откуда: Кемерово
|
Добавлено: Чт Ноя 10, 2011 19:39 Заголовок сообщения: |
|
|
olya_gran писал(а): | Я тоже пользуюсь convert для перевода даты в строку, но почему то он не всегда выводит дату в нужном формате (dd.mm.yyyy), хотя при конвертировании указываю формат - 104. | Не знаю... по мне так sql - штука надёжная. Крайне редко натыкалась на необъяснимое. |
|
Вернуться к началу |
|
 |
|