|
|
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Ну вопрос как и тема... С помощью sql могу только результаты вывести в таблицу или курсор(ну в общем туда,куда предлагают стандартные средства).Как вывести данные в ту же форму которая в данный момент активна(она у меня одна form1,в её textbox'ы) и перелистывать то ,что он там нашёл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 22:05 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Вот именно в курсор и надо вывести и уже этот курсор "перелистывать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 09:16 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
В этом вся фишка!В эти же box'ы я кинуть могу,а вот перелистывать-нет.И ещё одно:когда запрос выполнен,первоначальную информацию я вернуть не могу.А если засовываю результаты в другие box'ы специально для этих целей помещённые на форму,то основные box и кнопки передистывания виснут на обдной записи,и как бы я не нажимал так всё на месте и остаётся. Вот такой код на кнопке поиска: SELECT Table1.name; FROM ; data1!table1; WHERE UPPER(Table1.name) = UPPER((ALLTRIM(Thisform.Texer.value))); ORDER BY Table1.name; INTO CURSOR Qursor thisform.tex.value=qursor.name ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 12:37 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
кнопки перелистывания у тебя кажется привязаны к таблице table1, естественно они перестанут работать. Привяжи кнопки и текстбоксы к курсору сразу в дизайнере. И первую выборку в Inite формы дай такую SELECT Table1.name; FROM ; data1!table1; ORDER BY Table1.name; INTO CURSOR Qursor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 12:46 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
На форме у меня pageframe,на Page1 показываются данные table1,на page 2 данные таблицы table2. Кнопки я стырил из галереи,и при нажатии записи перелистываются как для таблицы 1,так и для таблицы2.Из этого следует,что кнопки привязаны к 2-м таблицам... Вопрос:как прописать для textbox'а сразу и показание значения table1 и курсора?Ну,и как привязать кнопки к курсору и основным тадлицам сразу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 19:21 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Это зачем делать??? Dag И первую выборку в Inite формы дай такую SELECT Table1.name; FROM ; data1!table1; ORDER BY Table1.name; INTO CURSOR Qursor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 20:11 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Чтобы разобраться с кодом кнопок из галереи надо очень долго и вдумчиво ковырятся в куче классов. Твои выводы, как минимум, сомнительны. Коды из галереи никак не рассчитаны на несколько таблиц. То, что произошло перемещение по нескольким таблицам - это следствие каких-то других настроек. Каких? Надо ковырять твой код. Поэтому, лучше "забей" на готовые классы и делай свои собственные. По крайней мере, тебя сразу "ткнут носом" в проблемные места. То, что является источником данных для TextBox определяется значением свойства TetxBox.ControlSource. В данном случае, надо сделать настройку Код: plaintext Если настройка делается в дизайнере формы, то кавычки не нужны. Перемещение по записям готового курсора выполняется командой SKIP. Код: plaintext 1. 2. Чтобы после перемещения по записям обновились картинки в TextBox надо дать вызвать метод для обновления Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 22:50 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Какое своиство отвечает за запись информации в textbox я знаю....(это про controlsource). Так проблема в том,что у меня там уже стоят значения:Table1.name,Table1.Tel.... И как задать им сразу два значения?В событиях кнопки поиска?А если да,то как потом вернуться в обычный режим,который был до выборки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 20:17 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Для перелистывания table1 попробывал сделать такую кнопку. IF !EOF() SKIP 1 IN table1 endif thisform.Refresh() Так вот она работает для обоих page и для всех таблиц(table1 и table2),хотя как видите,задана только table1,ну т.е она одновременно перещёлкивает записи....странно,да???Может потому что таблицы связаны?Не знаю.... Какие сведения мне нужно предоствавить,чтобы все поняли почему так происходит?(в том числе и я) А вопрос вот в чём:когда записи кончаются,остаются пустые боксы,как же сделать так,чтоб перелистывание просто упиралось в последнюю запись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 22:10 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Хотя я наверное догнал...Нужно делать эту кнопку не активной... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 22:20 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Но опять же,как?Делал : и thisform.pageframe1.page1.nexus.disabled, и thisform.pageframe1.page1.nexus.hide. Не работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 22:29 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
авторthisform.pageframe1.page1.nexus.disabled И где в фоксе было найдено свойство disabled? Может все таки enabled = .f. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 09:38 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Премите глубочайшие извенения...до этого занимался программированием на Delphi,и автоматом написал.На самом деле просто не знал как делается скрытие кнопки,ну я и попробовал пример оттуда. Потом поразмыслил,и как осенило,в чем проблема!Конечно thisform.pageframe1.page1.enabled=.f.(простите за орфографию) А цель моего появления такова...Вот код кнопки "Следующая запись": IF !EOF() SKIP 1 IN table1 thisform.Refresh() ELSE thisform.pageframe1.page1.nexus.Enabled= .F. endif и код кнопки следующая запись в курсоре IF !EOF() SKIP 1 IN Qursor thisform.Refresh() ELSE thisform.command1.Enabled= .F. endif Так вот почему,например,у меня в таблице1 4 записи,он их,конечно перелистывает,но как будто их пять и в строке состояния Table1:record5,и после перелистывания этой не существующей записи кнопка только исчезает. Конечно можно подумать,что у меня в таблице есть пустые записи в таблице,но их там нет,я проверял. Так вот и с курсором такая же проблема...типа он находит 2 записи,а перелистывает их как 3. Может что не так в коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 14:38 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Потому что ты конец файла проверяешь до SKIP Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 14:42 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Все так. Это особенность позиционирования указателя записи в таблицах. Смысл в том, что каждая таблица как бы имеет на одну запись больше, чем у нее реально есть. Дополнительную фиктивную запись. Необходимость ее существования чисто техническая для решения ряда вопросов при адресации к записям. Т.е. перемещаясь по команде SKIP Вы всегда сможете передвинуться на запись, следующую за последней записью. В этот момент функция EOF() вернет значение .T. - достигнут конец таблицы. Эта фиктивная запись доступна только и исключительно на чтение (хотя команда Delete пройдет на ней без ошибок), а все ее поля имеют пустое (именно пустое, а не NULL) значение. Собственно, по значению EOF("Qursor")=.T. и можно сделать вывод о том, что попали на эту фиктивную запись: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 14:52 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Ох,прямо даже не знаю как благодарить ВладимираМ! Всегда б были такие ответы...с полным пояснением теории,да ещё подкреплёные практикой! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 15:11 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Ну и в этой тебе остался только не разобранным вопрос: Как нужно выходить из режима выборки? Значит я выбрал,посмотрел,хочу вернуться туда,где были все записи.... Буду просто прыгать до потолка,если мне кто-нибудь с этим поможет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 15:18 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Ну если все данные у тебя так и остались лежать в таблице table1, тогда запусти выборку SELECT Table1.name; FROM ; data1!table1; ORDER BY Table1.name; INTO CURSOR Qursor Все данные перезальешь в курсор. Для этого она в Inite формы и дается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2007, 23:12 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
У меня всего одна кнопка для поиска.И там уже есть запрос: SELECT osnown.marka; FROM ; steelsdata!osnown; WHERE UPPER(alltrim((Thisform.text1.value)))$UPPER(osnown.marka); ORDER BY osnown.marka; INTO CURSOR Qursor thisform.text2.ControlSource ="qursor.marka" Как я туда ещё один закину? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 17:58 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Можно попробовать привязаться к значению текстбокса- т.е. если он пуст-то по нажатию кнопку поиска отображать все данные, тет. в Click кнопки прописать что-то вроде. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 20:24 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Отлично!Молодчинка!Спасибо за помощь. Блин,обидно,что сам не доехал...хотя был близок.Думал как объединить 2 запроса SELECT osnown.marka; FROM ; steelsdata!osnown; WHERE UPPER(alltrim((Thisform.text1.value)))#UPPER(osnown.marka); OR alltrim((Thisform.text1.value))=""; ORDER BY osnown.marka; INTO CURSOR Qur thisform.text2.ControlSource ="qur.marka" SELECT osnown.marka; FROM ; steelsdata!osnown; WHERE UPPER(alltrim((Thisform.text1.value)))$UPPER(osnown.marka); ORDER BY osnown.marka; INTO CURSOR Qursor thisform.text2.ControlSource ="qursor.marka" и тут допустил пару провальных ошибок...где refresh'ы забыл,где чего...:-((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 20:51 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
хотя и тут есть свои недостатки...каждый раз очищать бокс и нажимать кнопку...как-то не удобно. Да и ввод значений не подходящих под условие не продуман:допустим мы ввели какую нибудь "xfgmlg" ,а он на это должен показать все записи,а не скрывать бокс... Вот сижу,думаю как сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 20:59 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
сделал вот так,вроде работает... IF EMPTY(Thisform.text1.value) OR UPPER(alltrim((Thisform.text1.value)))#UPPER(osnown.marka) SELECT osnown.marka; FROM ; steelsdata!osnown; ORDER BY osnown.marka; INTO CURSOR Qursor thisform.text2.ControlSource ="qursor.marka" Thisform.Refresh() ELSE SELECT osnown.marka; FROM ; steelsdata!osnown; WHERE UPPER(alltrim((Thisform.text1.value)))$UPPER(osnown.marka); ORDER BY osnown.marka; INTO CURSOR Qursor thisform.text2.ControlSource ="qursor.marka" Thisform.Refresh() ENDIF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 21:07 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
наврал....не работает... видать тестировал через ж... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 21:09 |
|
||
|
Запись результатов запроса в textbox's и их перелистывание
|
|||
|---|---|---|---|
|
#18+
Добавляешь форме свойство, например, usl. В text2 на interactivechange: Код: plaintext 1. Клик кнопки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2008, 09:32 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35017287&tid=1588323]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 403ms |

| 0 / 0 |
