|
Поиск по гриду
|
|||
---|---|---|---|
#18+
Помогите пожалуйста осуществить поиск по гриду. Вот каким способом я пытаюсь сделать LOCATE FOR upper(книги.раздел)=UPPER(ALLTRIM(thisform.text1.Value)) do while FOUND() CONTINUE enddo IF !FOUND() MESSAGEBOX('Запись не найдена') ENDIF thisform.Refresh не понимаю почему не работает данный код, при любом исходе он выдаёт что запись не найдена, ещё мне нужно что бы он как то хотя бы выделял что надёт в гриде.... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 15:41 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
А если убрать цикл вообще? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 15:54 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
Работает все так как ты написал. Проанализируй свой код и исправь чтоб работало как тебе нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 15:55 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
MrIgorOKПомогите пожалуйста осуществить поиск по гриду. Вот каким способом я пытаюсь сделать LOCATE FOR upper(книги.раздел)=UPPER(ALLTRIM(thisform.text1.Value)) do while FOUND() CONTINUE enddo IF !FOUND() MESSAGEBOX('Запись не найдена') ENDIF thisform.Refresh не понимаю почему не работает данный код, при любом исходе он выдаёт что запись не найдена, ещё мне нужно что бы он как то хотя бы выделял что надёт в гриде.... А так: SELECT Книги LOCATE FOR UPPER(ALLTRIM(раздел))=UPPER(ALLTRIM(thisform.text1.Value)) DO WHILE NOT FOUND() CONTINUE ENDDO IF !FOUND() MESSAGEBOX('Запись не найдена') ENDIF THISFORM.Refresh ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 15:58 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
AndreTM, без цикла он переведёт курсор на второй найденый результат, а до 3, 4, 5 и т.д не дойдёт ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:00 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
IgorNG, проверил, работает как будто команды continue нет, курсор стоит на первом результате( ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:03 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
MrIgorOKAndreTM, без цикла он переведёт курсор на второй найденый результат, а до 3, 4, 5 и т.д не дойдёт А что, нужна последняя найденная запись? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:03 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
Dima T, я тоже думаю что должно работать, пересматривал код не один раз, да и не один день уже, вот решил обратиться за помощью ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:04 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
MrIgorOKAndreTM, без цикла он переведёт курсор на второй найденый результат, а до 3, 4, 5 и т.д не дойдётА смысл? Надо найти последнюю подходящую запись? Ну и с ALLTRIM() правильно посоветовали... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:06 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
IgorNG, не совсем в результате когда допишу поиск я хочу что бы в гриде он все совпадения например выделил, а если CONTINUE написать не в цикле он продолжает поиск до седующего совпадения а не до последнего, по этому без цикла я думаю ни как нельзя ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:08 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
MrIgorOKя хочу что бы в гриде он все совпадения например выделилА так можно? И смысл? Где, по вашему, при этом будет находиться указатель текущей записи? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:12 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
MrIgorOKIgorNG, не совсем в результате когда допишу поиск я хочу что бы в гриде он все совпадения например выделил, а если CONTINUE написать не в цикле он продолжает поиск до седующего совпадения а не до последнего, по этому без цикла я думаю ни как нельзя Без цикла можно SELECTом выбрать все записи по заданному условию и показывать только их. Все зависит от решаемой задачи. Если в Grid много строк, то искать подкрашенные непросто, да и красить геморно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:16 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
AndreTM, смысл в том что мне нужен нормальный поиск а не тот который находит только одну запись, выделение в гриде хочу зделать с помощью такого выражения thisform.Grid1.SetAll("BackColor", "IIF("не знаю что же написать здесь",RGB(255, 0, 0), rgb(0,0,0))","Column") которою помещю в цикл вместе с CONTINUE, но что то как то не получается((( ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:18 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
IgorNG, знаю, что не просто... Ну а что тогда сделать что бы он выводил все найденые результаты??? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:20 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
SELECT INTO CURSOR -> Grid.RecordSource ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:28 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
AndreTMSELECT INTO CURSOR -> Grid.RecordSource не понял что это ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 16:45 |
|
Поиск по гриду
|
|||
---|---|---|---|
#18+
MrIgorOKвыделение в гриде хочу зделать с помощью такого выражения thisform.Grid1.SetAll("BackColor", "IIF("не знаю что же написать здесь",RGB(255, 0, 0), rgb(0,0,0))","Column") надо написать Код: sql 1.
и писать надо при открытии формы. В приведенном тобой коде оставь только Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2013, 17:13 |
|
|
start [/forum/topic.php?fid=41&gotonew=1&tid=1583205]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
10ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 427ms |
0 / 0 |