![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте! Есть небольшая проблема. Создала бд, использую dbgrideh. adoquery datasourse Поставила dblookopcombobox в нем будет список дат (поле date_pro) - для этого использовала adoquery с запросом и datasourse. Выборка должна просиходить по кнопке Обновить.
Вот код: Код HTML:
Пишет ошибку неопределенного типа, как я поняла то ли он индекс трубует то ли что. Когда делала такую же выборку, но для полей "исполнение " и "цвет" ничего такого не было, но для них я поставила adotable а не adoquery. но с датой мне именно adoquery нужно использовать, таблица очень большая, а мне нужно выбрать в ней все числа сентября 2010 г. Вот. Помогите пожалуйста разобраться!!!!! ![]() |
|
#2
|
|||
|
|||
|
Помогите пожалуйста!!!!! Хотя бы немножко!
|
|
#3
|
||||
|
||||
|
В какой строчке-то хоть ошибка происходит? Трудно однозначно сказать, что не так. Надо отлаживать по шагам с проверкой значений.
Например посмотреть что находится в каждой из пременных тут: Код:
f=fdate+fcolor+fispol Код:
not like ("53%") Здесь вообще непонятен смысл Like: Код:
not like ("65") и т.д. |
|
#4
|
|||
|
|||
|
f=fcolor+fispol срабатывает если не плюсовать туда fdate, так что с like все порядке, на отладке там все срабатывает и на форме тоже. с ним нет проблем потому что я ихние комбобоксы связываю с datasourse и adotable. а вот с датой проблема, наверное потому что тип данных другой и еще использую adoquery.
ошибку как раз показывает что невозможно строковую операцию связать с датой, примерно так. Код HTML:
|
|
#5
|
||||
|
||||
|
Если я правильно понял, то в DB_date.KeyValue у вас лежит дата, тогда для сцепления строк ее надо преобразовать в строку DateToStr(DB_date.KeyValue) или DateTimeToStr(DB_date.KeyValue) если надо учитывать и время.
|
|
#6
|
|||
|
|||
|
да там дата. я и так уже пробовала, но потом он выдает ошибку о несовместимости в строке где выполняется запрос sql_khp ((((((
|
|
#7
|
|||
|
|||
|
ни у кого никак мыслей? может там параметры задать? datetostr не помогает, может он на само поле таблицы date_pro ругается? ((((((((((
|
|
#8
|
|||
|
|||
|
DB_date.KeyValue точно Дата?
строка : Код:
fdate:=' AND (date_pro = '''+DB_date.KeyValue+''')'
elseКод:
fdate:=' AND (date_pro = '''+datetostr(DB_date.KeyValue)+''')' попробуйте так: Код:
if DB_date.KeyValue<>'--' then
fdate:=' AND (date_pro = :dateWhere)'
else
fdate:='';
f=fdate+fcolor+fispol // отрывок кода, сюда суммируются другие выборки
sql_khp.SQL.Text:='SELECT kod_map, podrotpr, podrpol, name, map, nzah,
zmf, kol, date_pro, num_pro, zstate, kod_op, color, zispol, zdateinput ' +
' from dd092010 where podrotpr not like ("53%") and kod_op not like ("65") and podrpol like ("53%") ' +
' '+f+
' ORDER BY podrotpr, podrpol ' + sort;
if sql_khp.Active then sql_khp.Active:=False;
if DB_date.KeyValue<>'--' then sql_khp.parametrs.ParamByName('dateWhere').value:=DB_date.KeyValue;
sql_khp.Active:=True; |
|
#9
|
|||
|
|||
|
да там дата. то есть сначала нужно в свойствах sql_khp приписать параметр а затем использовать ваш код да?
|
|
#10
|
|||
|
|||
|
нет просто попробовать вставить мой код. кверик сам зацепит параметр.
|
|
#11
|
|||
|
|||
|
нет так не работает, там дело в другом было - нужно было date_pro первести в строковый тип
|