|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Как узнать нахождится ли значение Edit между значениями столбца таблицы
Здравствуйте!
Подскажите ,пожалуйста, как так сделать! Я пробовала запросом, но там можно только вписать, что значение с таблицы равно значению Edit/ Есть таблица и в ней столбец значений. Мне нужно узнать между какими двумя значениями столбца находится значение Edit. в таблице 140 записей, если Edit>первого знаечения, но Edit<второго значения, тогда выбрать первое значение пишу так Код:
for i:=1 to 140 do if Table7.Locate('KodD', i, []) then if (edit6.Text>Table7.FieldByName('Dispt').Value) and (edit6.Text<Table7.FieldByName('Dispt').Value[i+1]) then edit8.Text:=Table7.FieldByName('DRAFT').Value else raise Exception.Create('Не найдена нужная запись'); но выбивает что запись не найдена! Последний раз редактировалось YuliyaKar, 20.11.2013 в 11:31. |
#2
|
||||
|
||||
Цитата:
почему же? можно использовать > = < <> <= >= Я за здоровый экстрим! Спасибо за "спасибо") |
#3
|
||||
|
||||
Можно так попробовать:
Код:
Q.SQL.Text := 'select (select max(KodD) from Table1 where KodD < :Value1) Min, (select min(KodD) from Table1 where KodD > :Value2) Max'; Q.Parameters.ParamValues['Value1'] := StrToInt(Edit1.Text); Q.Parameters.ParamValues['Value2'] := StrToInt(Edit1.Text); Q.Open; результат будет лежать в Q['Min'] и Q['Max'] Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 20.11.2013 в 15:13. |
#4
|
|||
|
|||
Странно, я тоже вроде знаю, что можно, но он мне пишет, что неправильный оператор!
|
#5
|
||||
|
||||
Цитата:
Т.е. Access'у нужно указывать фиктивную непустую таблицу в этом запросе: Код:
Q.SQL.Text := 'select (select max(KodD) from Table1 where KodD < :Value1) Min, (select min(KodD) from Table1 where KodD > :Value2) Max'; Например из той же самой таблицы вот так: Код:
Q.SQL.Text := 'select TOP 1 (select max(KodD) from Table1 where KodD < :Value1) Min, (select min(KodD) from Table1 where KodD > :Value2) Max FROM Table1'; |
#6
|
||||
|
||||
а как делаешь?
Я за здоровый экстрим! Спасибо за "спасибо") |
#7
|
|||
|
|||
Пишу так:
Код:
Query3.Active:=false; query3.SQL.Clear; query3.SQl.Text:='select *FROM Stab.DB where Dispt <= ''' + Edit6.Text + ''''; query3.ExecSQL; Edit8.Text:=Query3.Fields[1].AsString; |
#8
|
||||
|
||||
Цитата:
|
#9
|
||||
|
||||
Poli-smen опередил))
и от строки query3.SQL.Clear; нет толку Я за здоровый экстрим! Спасибо за "спасибо") |