1c запрос к dbf чере FoxPro: подскажите как сделать фильтр по дате?.. #719933


#0 by Zhuravlik
Здравствуйте. Такой вот код: Также пробовал: СтрокаЗапроса = "Select * from [MyDBF] WHERE [DAT] BETWEEN #01/08/2014# AND #31/08/2014#"; - выкидывает ошибку синтаксиса Выдает пустоту, записи есть точно.
#1 by 1Сергей
ctod(strdata)
#2 by КонецЦикла
dtos навреное, но мог забыть
#3 by КонецЦикла
еще какие варианты? :)
#4 by Zhuravlik
В смысле   ? Вот сюда вчитался "; - есть у объекта ADO коллекция Parameters... Никто не пользовался ею?
#5 by Zhuravlik
"ctod('20140801') AND ctod('20140831')" - не катит, и с "/" - тоже
#6 by Zhuravlik
Нашел замечтательную статью по ADO: , мот там найду ответы на свои вопросы...
#7 by SSSSS_AAAAA
А где здесь "чере FoxPro"? Microsoft Visual FoxPro Driver? Более древнего не нашли? ctod(strdata) -  функция фокса, а не стороннего драйвера. Функции фокса поддерживает родной VFP OLEDB Provider с сайта мелкомягких. При этом для задания даты функция ctod не нужна. Ибо есть формат {^yyyy-mm-dd}
#8 by Zhuravlik
"Более древнего не нашли? " - все делалось по наитию, опыта в матчасти не имею, если знаете где взять посвежее, подскадите пожалуйста. "родной VFP OLEDB Provider " - это Microsoft FoxPro VFP Driver (*.dbf) ? "Ибо есть формат {^yyyy-mm-dd}" - в смысле "'^2014-08-01' AND '^2014-08-31'" - так?
#9 by 1Сергей
гугли foxpro ctod
#10 by Zhuravlik
Гуглил. Не катит "ctod('1/8/2014') AND ctod('31/8/2014')"
#11 by SSSSS_AAAAA
"родной VFP OLEDB Provider" - это родной драйвер доступа к dbf-файлам, использующий синтаксис и возможности Microsoft Visual FoxPro. {^2014-08-01} AND {^2014-08-31}
#12 by SSSSS_AAAAA
Функция Ctod зависит от региональных настроек.
#13 by Zhuravlik
"родной драйвер доступа к dbf-файлам," - а где его взять не скажете? На этот фильтр ошибку выдает.
#14 by Zhuravlik
это ?
#15 by Zhuravlik
Я его качал, в списке источников данных появился "Microsoft Visual FoxPro Driver" - я его и использую.
#16 by SSSSS_AAAAA
Это не он и используете не его.
#17 by Zhuravlik
А кто "он"-то?
#18 by SSSSS_AAAAA
Это не VFP OLEDB Provider
#19 by SSSSS_AAAAA
Качал может и его, но используешь не его.
#20 by Zhuravlik
Я пробовал в строке подключения указывать - DRIVER={Microsoft Visual FoxPro Driver} - DRIVER={Microsoft FoxPro VFP Driver (*.dbf)} Все не то. Чисто "VFP OLEDB Provider" - такой строки в источниках данных я не нашел. Что еще мне указывать?..
#21 by Zhuravlik
+ Да, кстати винда 8 x64, может что завязано на этом...
#22 by SSSSS_AAAAA
Ну наконец-то... Очень даже завязано. Ищи в системных папках odbcadm32.exe и запускай.
#23 by Zhuravlik
Чей-то нет такого... Это что-то вроде конвертера?
#24 by Zhuravlik
odbcad32.exe есть, мот оно?
#25 by Zhuravlik
А, это сама консоль
#26 by Zhuravlik
В общем отказался от ADO, использую xBase, время не ждет. Долго(
#27 by Zhuravlik
Спасибо за беспокойство
#28 by Garykom
через XBase можно облом получить с длинными полями или не читаемыми символами с кодами до в строковом поле или с новыми форматами чисел
#29 by Zhuravlik
Слишком долго через xBase, придется как-то дожать... Пересел на машину с xp, установил прова из , не взлетело... Дошел вот до чего: Валится на Execute: "Wrong number of parameters"
#30 by Zhuravlik
Я вообще засасывал таблицы в внешний источник, но 1С отказывалась запрос выполнять, тогда решил связаться с ADO. А тут проблема с фильтром по периоду. Непосредственно при переборе по дате исключать - не хочу, мне кажется скорость не намного повысится в таком случае.
#31 by Zhuravlik
При указании параметров как ":nData" или "@kData" тоже облом... p.s. как все было в клюшках просто =)
#32 by Garykom
Эта может не страдать и сделать шлюз на FoxPro? Что хоть за прога то на фоксе и какие данные нужно и как часто сливать?
#33 by Zhuravlik
Однократно считать с DBF. Про шлюз на FoxPro не понял.
#34 by Garykom
Шлюз = прога на языке FoxPro или Visual FoxPro которая данные перекинет к примеру в текстовый-csv или еще какой нужный формат с нужным фильтром
#35 by Garykom
Кстати да я про FoxPro забыл как про страшный сон про работу на станции переливания крови )) тама такая древность стояла
#36 by Zhuravlik
Не получиться шлюз(( Мне дали DBF-ы, структура описана, тз готово, что загружать все знаю, одна проблема - в скорости, решаемая (имхо), только б этот фильтр победить...
#37 by Zhuravlik
Я б с удовольствием  что-нить другое заюзал, если бы оно существовало. Ведь проблема-то не в FoxPro, а в ADO. Я ведь правильно понимаю, что текст ADO запроса - это в принципе универсальная такая вещь должна быть, работающая в разных ИБ? Там в частностях должны быть грабли, но уж отбор-то по периоду - какая это частность?..
#38 by oleg_km
Если ты параметр создаешь типа дата, то вроде не нужно делать формат. Просто присваиваешь дату
#39 by Zhuravlik
Вот так получилось: Счастья полные штаны =) Спасибо всем за комментарии.
#40 by Zhuravlik
Да, уже понял, так и есть, спасибо)
#41 by oleg_km
А ну действительно, квадратные скобки в фокспре вроде не используются
#42 by Zhuravlik
Блин... Как теперь в параметры массив засунуть?..
#43 by Zhuravlik
Сохраню свой итоговый запрос для себя, на будущее...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С