Получение данных из Access в 1С Предприятие #14748


#0 by Константин
Всех приветствую!   Помогите пожалуйста. Данная обработка делает запрос из 1С на поиск в базе ACCESS по заданному реквизиту, причем   обработка находит в базе ACCESS только точное соответствие заданного и искомого элемента. Подскажите, какие изменения   необходимо произвести в тексте модуля, если мне необходимо производить поиск по первым набранным символам и получать   список возможных значений. Например, в базе ACCESS у нас есть значения "программа", "программист", "книга", "программный".   В форме обработке мы вводим  "програм"; результат поиска должен быть в виде  списка значений:
#1 by Guk
Кошмар. Откуда я только данные только не таскал...
#2 by Константин
Приветствую Guk! Так может поможешь разобраться?
#3 by vS
побалуйся с запросами в самом Аццесе, тебе нужна комманда Like а потом просто скопируй текст запроса в 1С, там чуть чуть подправишь, сам увидишь где
#4 by Константин
Приветствую ! Я уже пробовал ...WHERE PLDATA.PTNRDRU LIKE'"+СокрЛП(Num)+"'"; не получается, результат такой же как =, также я пробовал ...WHERE PLDATA.PTNRDRU >='"+СокрЛП(Num)+"'"; находит значение но первое, а если добавить ЦИКЛ то тоже неверно - находит первое верное значение, а потом цикл доходит до конца списка выбирая все значения подряд нужные и ненужные
#5 by Константин
При команде LIKE пишет ошибку: Обломись еще раз:ADODB.Recordset: BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции требуется текущая запись.
#7 by Константин
Спасибо vS! Попробую.
#8 by Константин
Что то не получается. Пишет Обломись еще раз:ADODB.Recordset: BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции требуется текущая запись.
#9 by МачуПичи
В самом Access выборка для поиска всех похожих работает, когда указываешь так Like " & "'" & StringFilter & "'" ,т.е.  LIKE "'"+СокрЛП(пвФильтр))+"'" ORDER BY Descr";
#10 by vS
ты попробуй сначала на полуавтомате, т.е. ЛайК "прог" вот с этим поиграй а данные то точно есть? нескромный вопрос, да?
#11 by Константин
Спасибо всем за помощь, все заработало, правильная команда "SELECT PLDATA.PTNRDRU,PLDATA.Deutsch,PLDATA.Englisch,PLDATA.Euro,PLDATA.RABATTGRUPPE,PLDATA.RWEuro FROM PLDATA WHERE PLDATA.PTNRDRU like '%"+СокрЛП(Нрег(Num))+"%'";
#12 by Константин
Я дописал обработку для получения списка значений, однако после получения списка искомых значений у меня зависает обработка примерно секунд на 30-40. Не подскажите в чем проблемы и как это исправить? Пока НаборЗаписей.EOF=0 Цикл
#13 by HanProg
При выходе из процедуры? если да то компьютер восвобождает Access тут ничего не поделаешь и похоже не коректно поскольку долго, а какой компьютер? какой Office Про синтаксис SQL в инете есть несколько книг, адреса не помню но поисковиком найдешь без проблем, эта частая ошибка.
#14 by Константин
При получении искомых значений зависает "НаборЗаписей.MoveNext;", а компьютер Cel 433, 80 ОЗУ; 2 системы 98 и XP; 2 офиса 2003 под XP и 2000 под 98
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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