|
|
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
Подключаюсь из 1с к дбф-базе, через ВФП драйвер, подключение проходит нормально. Но, при выполнении такого запроса, выдает ошибку синтаксиса... В чем она может заключаться? Или ВФП еще чем-то кроме CASE отличается от стандартного SQL. SELECT Дата, Документ As [Документ $Документ], SUM (СуммаРасход) As СуммаРасход, SUM (СуммаВозврат) As СуммаВозврат FROM ( SELECT Ж.DATE AS Дата, Ж.iddocdef AS Вид, Ж.iddocdef+Ж.IDDOC As Документ, Д.SP7989 AS [Склад $Справочник.МестаХранения], ТЧ.SP8003 AS [Товар $Справочник.ТМЦ], ТЧ.SP8009 AS Сумма, IIF (Д.SP7998 = 0,ТЧ.SP8009,0) As СуммаРасход, IIF (Д.SP7998 = 1,ТЧ.SP8009,0) As СуммаВозврат FROM 1sjourn AS Ж LEFT OUTER JOIN $Документ.Т_ЧекКА AS Д ON Д.IDDOC = Ж.IDDOC LEFT OUTER JOIN $ДокументСтроки.Т_ЧекКА AS ТЧ ON ТЧ.IDDOC = Ж.IDDOC WHERE (IDDOCDEF LIKE '%66K%') AND (Ж.DATE >= '01.04.2005') AND (Ж.DATE < '01.05.2005') ) TMP GROUP BY Дата,Документ ORDER BY Дата,Документ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 17:48 |
|
||
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
Запустите VFP , вставте в командную строку запрос и выполните. Сообщение об ошибке будет будет подробно говорить об ошибке. Если, ошибки не будет, то возможно в строке подключения неправильный путь к таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 18:21 |
|
||
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
Проблема в том что самого ФП нету, подключаюсь то через ОДБС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 18:29 |
|
||
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
Покажите строку подключения, и структуры таблиц с заполнением по 1 строке. Я проверю у себя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 18:55 |
|
||
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
Путь = КаталогИБ(); Рез = db.Соединение("DRIVER=Microsoft Visual FoxPro Driver; Deleted=No;Null=Yes;Collate=RUSSIAN; Exclusive=No;SourceType=DBF;SourceDB=" + Путь); Журнал, структура ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 19:16 |
|
||
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
$Документ.Т_ЧекКА AS Д Структура: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 19:18 |
|
||
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
$ДокументСтроки.Т_ЧекКА AS ТЧ Структура ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 19:19 |
|
||
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
Данные из Журнал: 580,LE002,66K,5,12.12.2004,C0MMQ8,80122004,Киев-00001,1,8,6,1,0,1 Из Д: LE002,AMRK,0,0,1,1.00000,12.12.2004,1002,1,0.00,0.00,0,0,0.00,4MRK,<ПустаяСтрока> Из ТЧ: LE002,1,0066-01,1602510-010,1E2WMRK,B1,5B,0,1,14U6MRK,1.000,1.000,28.49,28.49, 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 19:25 |
|
||
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
В VFP вложенные запросы вида SELECT tmp.Field FROM (SELECT * FROM tab) tmp поддерживаются только с 9 версии. В ранних версиях вложенные запросы были допустимы только в директиве WHERE вроде SELECT * FROM tab WHERE id IN (SELECT id FROM tab) В данном случае придется делать 2 последовательных запроса. ================= Кроме того, константа даты записывается в фигурных скобках Ж.DATE >= {01.04.2005} Причем формат этой даты (где день, где месяц, а где год) зависит от настройки FoxPro SET DATE SET STRICTDATE - это с 6 версии Начиная с 6 версии FoxPro введен универсальный формат констант даты не зависящий от настроек FoxPro вида: Ж.DATE >= {^2005-04-01} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2005, 20:06 |
|
||
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
Hi Jarad! Поскольку ODBC драйвер по сути основан на 6-й версии фокса (и с тех пор не обновлялся и вряд-ли когда будет обновляться), то такие запросы он не способен выполнять (как справедливо заметил Владимир). Однако VFP OLE DB провайдер есть и версии 9 (причём доступен он совершенно бесплатно с сайта MS) - там запрос такого типа допустим. Про формат даты Владимир тоже упомянул - не забудь. Кроме того меня сильно смущают такие имена таблиц (начинающиеся с $) - никогда так не делал и не удивлюсь если где-то это выйдет боком. Также учти, что конструкции типа IIF(условие, поле, 0) - теоретически могут привести к тому, что фокс решит сделать это поле типа N(1) и в него потом естественно не влезут нормальные данные - в старых версиях это лечилось через замену 0 на нечто типа 0000.00 - по нужному формату, а в VFP9 (и провайдере в том числе) появилась функция CAST(). Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 03:06 |
|
||
|
Запрос в FoxPro
|
|||
|---|---|---|---|
|
#18+
Спасибо, советы помогли. Решил еще попробовать с 9,0 версией драйвера. Скачал, установил, но в остастке ODBC, новый драйвер отсутсвует (ни одной строчки с указанием что 9-я версия, есть старая 6-я). Почему так происходит, и как можно обратиться к VFP OLE DB Provider, из строки подключения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2005, 12:18 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=322&tid=1594260]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 297ms |
| total: | 458ms |

| 0 / 0 |
