|
|
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
Как заставить ACCESS понимать в запросах даты не такого вида 23/04/2003 а как задано в системе 23.04.2003 и жедлательно без # в начале конце. Просто я с этой базо пытаюсь работать из Делфи через Адо и есть проблемы.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 14:05 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
Вот как я делал для BDE и Paradox. Компонент Query имеет запрос "select * from table where date between :s and :f;" Делаю так: Код: plaintext 1. 2. 3. Всё работало, а теперь не знаю как это перевести на ADOQuery. Я в курсе, что там к параметру обращаться надо через свойство Params. Но у этого свойства нет AsDate,AsString и т.д. и плюс к этому у Access формат даты в запросе такой: #04/23/2003#. Как это победить, как написаный выше код заставить работать и под Access и ADO или как его надо изменить для работы в этой связке?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 14:22 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
В ADO есть Parameter.Type При создании указываешь тип adDBDateTime и вперед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 14:33 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
если в Аксесе то надо так форматировать дату: Format(CDate([Forms]![F_RepSapak]![BeginPlanDTText]), "\#mm\/dd\/yy hh:mm:ss\#") [Forms]![F_RepSapak]![BeginPlanDTText]- откуда передаю дату подумай как это приспособить к дельфи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 14:33 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
Блин, я вообще никогда гемора не имею с форматированием дат при передаче в запрос Гораздо проще (имхо) сделать сохраненный запрос с параметром типа дата/время, ну или сотворить такой запрос на лету, и передать туда нужную дату (хоть как отформатированную) через этот параметр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 14:39 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
Как сказал Лох Позорный, действительно тип указываешь и работает, но есть большое но: если дата выглядет так 03.04.2003, где 03-число, 04-месяц, 2003-год, то в запрос ADO подставляет так как есть, и Access понимает дату так (у него формат другой mm/dd/yyyy):04-число, 03-месяц, то есть если я вибираю дату от 02.03.2003 до 04.03.2003, то мне выводятся значения от 03.02.2003 до 03.04.2003. Если дата выглядет так 23.04.2003, то Access понимает, что первым у меня указано число. Как заставить его думать, что первым я всегда число указываю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 15:09 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
И ещё, если я ему говорю вывести записи c 03.03.2003 до 03.03.2003, то вообще ничего не выводится... Что это за такое?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 15:12 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
TatianaT: Вот это sql запрос сам access пишет не верен, как его подредактировть, чтоб он верен был: select * from table where Date between Format(CDate('03.04.2003'), "\#mm\/dd\/yy\#") and Format(CDate('03.05.2003'), "\#mm\/dd\/yy\#"); То есть задача, вытащить записи с датой от 03 апреля по 03 мая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 15:24 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
Вопрос: >>>>И ещё, если я ему говорю вывести записи c 03.03.2003 до 03.03.2003, то вообще ничего не выводится... Что это за такое?? Отпадает, его я решил. Вопрос же о формировании даты остаётся в силе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 15:35 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
у меня получалось, если я делал примерно так "#mm-dd-yy#" хотя за точность не ручаюсь. в хелпе по моему я видел требование разделитель "-". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 20:39 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
Можно использовать функцию DateValue Например Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2003, 22:19 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
Запрос select * from table where Date between Format(CDate('03.04.2003'), "\#mm\/dd\/yy\#") and Format(CDate('03.05.2003'), "\#mm\/dd\/yy\#") по ходу неверный из-за того, что формат вернет строковое значение даты а не саму дату. к тому же такой подход по-моему не совсем правильный. Ведь системная дата может быть и dd.mm.yy и любой другой. А что, на delphi нельзя написать функцию для преобразовая даты, а затем передать преобразованную дату в запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2003, 01:51 |
|
||
|
Время/дата
|
|||
|---|---|---|---|
|
#18+
Есть в Дельфи такая замечательная функция FormatDateTime :-) При её использовании вопрос с форматированием даты решается сам-собой. Становится возможным передавать дату в запрос в виде строки формата #dd/mm/yy# или #dd/mm/yyyy# как больше по вкусу. Акцесс такое понимает и кушает с удовольствием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2003, 02:02 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32213081&tid=1680416]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
90ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 445ms |

| 0 / 0 |
