|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
Здравствуйте! На одном из компьютеров стала зависать программа при вычислении DCount("полис", "пересеч", "полис='" & polis & "' and timport.dspc=datevalue('" & DSPC & "') and timport.dfpc=datevalue('" & DFPC & "')") пересеч - запрос, в котором участвует связанная через ODBC таблица VFP Причем ранее все работало, сейчас может для одной записи вычислить, а на другой зависнуть так, что приходится аварийно закрывать access, Ctrl+Break не помогает. На другом компьютере программа работает. У меня через odbcad32 создан пользовательский DNS, использующий Microsoft Visual FoxPro Driver. Со вчерашнего дня на одной из машин он стал глючить, причем связанная через этот DNS таблица, открывается, запрос "пересеч" - открывается, а вот когда в запрос вставляешь условия из Dcount, начинает зависать. Пробовала заменять файл vfpodbc.dll, пробовала удалять и создавать заново DNS - не помогает. Если заменить связанную таблицу на локальную, все начинает работать. Но мне нужна именно связанная таблица, поскольку я не только считываю оттуда данные, но и редактирую, добавляю, использую эту таблицу во многих запросах. Всё же работало! Теперь на одном компьютере (основном) работа встала!!! Помогите мне, пожалуйста, разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 12:32 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
zenanaDCount("полис", "пересеч", "полис='" & polis & "' and timport.dspc=datevalue('" & DSPC & "') and timport.dfpc=datevalue('" & DFPC & "')") В условии функции должны использоваться поля, возвращаемые указанной таблицей/запросом. Если запрос возвращает поля dspc и dfpc, то зачем вы указываете timport, а если не возвращает (т.е. прямое обращение к полям таблицы, входящей в запрос), то если функция и работает - такое поведение не документировано. Кроме того рекомендую вместо datevalue использовать дату в формате MM.DD.YY с помощью функции Format. Где используется функция и что такое DFPC и DSPC? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 13:19 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), запрос пересеч: Код: sql 1. 2. 3.
В запросе DFPC и DSPC - поля, которые присутствуют в обеих таблицах, поэтому указываю timport.dfpc В функции DCount DFPC и DSPC - это даты Вообще у меня создана пользовательская функция, которая выводит какие имеются ошибки для записи таблицы Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 13:33 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
zenana, А что это за дичь, простите))) Код: sql 1.
? Может быть, так Код: sql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 13:53 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
Какой смысл вычислять в запросе Выражение1, если это идентично одному из условий условию отбора WHERE со значением True, то есть заведомо всегда будет только True? Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:11 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
__Michelle, это не принципиально )) Просто сначала был создан запрос, который выводил все записи с отметкой есть пересечение или нет, а потом в процессе работы был использован этот старый запрос для вывода только тех, для которых есть пересечение. Согласитесь в моем случае проблема не в этом ) А я соглашусь, что по-Вашему выглядит красивее )) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:12 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
Кошмар... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:14 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), попробовала не выводить в запросе "пересеч" DFPC и DSPC для одной из таблиц и убрать timport. (оставила просто dfpc и dspc ) из Dcount. Не помогло. Сейчас вообще стал зависать на выполнении запроса "пересеч", причем иногда срабатывает, но чем больше выполняешь, тем реже срабатывает. Вчера на выполнении запроса "пересеч" ни разу не завис. Вместо datevalue пробовала format тоже не помогло. Какая-то ерунда со связанной таблицей. Жаль нет возможности откатить систему. Я полагаю, что-то с пользовательским DSN происходит или с VFP Driver ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:22 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
Уберите, хотя бы, помеченное красным Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:24 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
__Michelle, запрос "пересеч" возвращает поля dfpc,dspc из таблиц timport и gapu, поэтому требуется указать к каким именно dfpc,dspc обращаться. Я убирала уже из запроса "пересеч" dfpc,dspc одной из таблиц и убирала выделенное Вами красным, это не помогло для решения моей проблемы ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:34 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
У меня vfpodbc.dll версии 6.01.8629.1. Может имеет смысл попробывать заменить на более раннюю версию, например, имеется еще версия 6.0.8167.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:42 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
zenana, Из самого запроса убирать детализирующие имена таблиц не надо, а вот из DCount надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:53 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
Вот Ваш запрос в "облегченном" виде Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 14:58 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
__Michelle, но ведь запрос возвращает два поля dfpc и два поля dspc (из разных таблиц), Dcount не понимает на какое поле ставить условие и выдает ошибку. Это тогда надо переименовывать поля, чтоб не было одинаковых имен. Но сейчас моя проблема не в этом ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 16:26 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
zenana, Да, точно, одинаковые имена как-то ускользнули. Я понимаю, что проблема в другом, но с этим помочь не могу, к сожалению. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 16:49 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
А таблицы-то какие? Почему вы такой драйвер используете? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2016, 18:16 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
F, таблицы .dbf от программы, написанной на VFP. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 10:21 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
Пока справилась с проблемой заменой библиотеки vfpodbc.dll версии 6.01.8629.1 на более раннюю версию 6.0.8167.0 и избавлением от запроса "пересчет" (дописала в DCount побольше условий и вместо запроса взяла таблицу). Что именно помогло, нет времени разбираться (компьютер, на котором возникли проблемы, постоянно занят, работают в авральном режиме ). Говорю "пока справилась", поскольку проблема была плавающей, то работало, то нет, сейчас ПОКА (тьфу-тьфу-тьфу) стабильно работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 10:26 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
zenanaF, таблицы .dbf от программы, написанной на VFP. Тогда надо использовать VFP Oledbprovider, поскольку VFP odbc-driver корректно работает только с таблицами dbf, созданными в версии не старше FoxPro 6. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 12:24 |
|
Проблемы при связывании таблиц через VFP Driver
|
|||
---|---|---|---|
#18+
F, да, я частенько пользуюсь OLE DB Provider for Visual FoxPro, но только когда удобно работать с таблицей как рекордсетом. А когда нужна связанная таблица, которая участвует во многих запросах, мне удобнее использовать драйвер. Наверное не хватает знаний )) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 09:03 |
|
|
start [/forum/topic.php?desktop=1&fid=45&tid=1613352]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
44ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 169ms |
0 / 0 |