|
|
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
в комбобоксе выбирается запись, и нужно чтобы она и те которые рядом с ней(предыдущая и следующая отобразились) как выбрать запись из комбобокс знаю, а вот чтобы еще и предыдущая и следующая вот вопрос.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 20:54 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
А зачем это? Предлагаю не мучать комбо, а рядом с ним дорисовать два текстовых поля read-only, куда и выводить предыдущее и последующее значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 22:09 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
и как это вывести? мне всеравно, лишь бы выводило гденибудь предыдущую,следующую и конкретную запись из таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 23:26 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
А в Grid отображать не пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 00:20 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
и как это там делать? просто запрос один не то сделал.. нужно переделывать с грид не думаю что это то.. нужно из таблицы с помощью стандартных операций... а грид вроде не проходили :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 11:39 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
Сорри, я думал не про записи, а про элементы списка. Если надо отобразить несколько полей, а не только значение в ключевом поле, то лучше всего юзать грид. Навскидку я вижу два варианта - фильтр или обновляемый курсор. Ну можно еще листбокс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 13:26 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
а можно поконкретнее? как сделать такой запрос? а то завтра уже будут говорить что неправильно сделал, а тут покажу исправленный вариант :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 19:03 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
никто незнает чтоли? select fams from stud where fams=thisform.combo1.value вот отображает конкретную запись.. а как сделать чтобы отобразилась еще следующая, предыдущая записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 23:07 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
А что Вы понимаете под термином следующая/предыдущая? Что определяет "порядок следования"? В принципе, достаточно встать на найденную запись (SEEK, LOCATE). По SKIP окажетесь на "следующей", по SKIP -1 - на "предыдущей". Значения из этих записей напрямую присвойте TextBox.Value двух дополнительных объектов на форме. Затем ThisForm.Refresh() и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 23:21 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
Что такое следующая и предыдущая (физически, либо с установленным индексом)? Если физически, по значению текущей записи взять prec=RECNO() или другой уникальный параметр SELE * from table WHERE 1=-1 INTO CURSOR cur READ (копия структуры таблицы) sele table loca for (по параметру) SKIP -1 SCATER TO memvar sele cur APPEND BLANK gather from memvar sele table skip и опять вставить skip вывести курсор в грид Не писал о проверках на первую, последнюю записи, если не LOCA и других возможных ситуациях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 23:28 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
положил грид.. и сделал 2 кнопки чтобы вперед и назад записи прокручивать(скип). однако с конкретной проблемы.. вот положил еще одну кнопку и какимто образом нужно сделать так, чтобы в этом грид курсор установился на запись в котором значение некоторой строки равно выбранном в комбобоксе, пробовал loсate но там постоянно какието ошибки возникают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2007, 14:00 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
ну так что? как сделать чтобы при выборе из комбо бокса записи, при нажатии кнопки в гриде курсор установился на запись соответсвующую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2007, 23:23 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, но какой вопрос такой ответ, какие-то ошибки возникают, может поимённо. Без это не разобраться кот не прав, вопрошающий или сочиняющий ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2007, 23:36 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
а какая разница какая ошибка? яж прошу не ошибку исправить а написать так чтоб было без ошибки. а ошибка такая возникает неизвесная команда, или неверный синтаксис или еще чтото, пишу например вот что:Look for thisform.grid1.value=thisform.combo1.value ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 16:49 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
команда пишется LOCA не LOOC, не важно какая ошибка? Ведь сообщают неизвестная команда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 17:02 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
написал locate for thisform.grid1.Value=thisform.combo1.value ошибок при запуске нет, однако при выполнении при нажатии на кнопку пишут: operator/operand type mismatch ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 20:53 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
thisform.grid1.Value - может указать и колонку в которой данные, а то что несоответствие типов данных, определите какие они у Вас. Мое мнение, лучше запись искать не на гриде, а в курсоре или таблице, не будет путаницы в каком месте грида указанные данные : myTable.MyField= и короче и понятней. НО, это только моё мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 21:01 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
как сделать с курсором то? вообще ничего не понимаю, можете всетаки написать эту 1 строчку чтобы работало ? :) а тип данных в гриде и в комбо одинаковый был,- текстовый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2007, 00:46 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
если Вы создали курсор, я уже показывал SELE * from ... into cursor myCursor readwrite то работа с ним аналогична работе с таблицей Работают: APPEND,LOCATE,REPLACE .. WITH ..., не очень понял какую строчку надо написать. Повторюсь: создаёте курсор,как уже говорил заполняете 3-мя записями и показываете в гриде на форме, но и грид и кнопку и комбо надо рисовать и программировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2007, 18:59 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
написал: SELECT fams from student WHERE student.fams=thisform.combo1.value into cursor Cur; locate grid1.fams FROM cur выдает ошибку мол не так написанно, а команда read тоже выдает ошибки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2007, 21:52 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
1. При таком построении курсора Вы получите только одну записть, я говорил о копии структуры таблицы в курсор и заполнении её записями. 2. Преже чем делать команду LOCATE в курсоре? необходимо сделать активной рабочую область с курсором : SELECT cur ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2007, 22:04 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
Цитата locate grid1.fams FROM cur выдает ошибку мол не так написанно, а команда read тоже выдает ошибки да, не так написано см/ подробнее Хелп ( locate for student.fams=' условие отбора') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2007, 22:11 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
BMJ1. При таком построении курсора Вы получите только одну записть, я говорил о копии структуры таблицы в курсор и заполнении её записями. 2. Преже чем делать команду LOCATE в курсоре? необходимо сделать активной рабочую область с курсором : SELECT cur 1) так в грид там есть много записей, причем так сократил высоту, чтобы было видно 3 записи вот нужно чтобы курсор перемещался на запись которая совпадает с выбранным в комбо 2) теперь такой код у кнопки? SELECT fams from student WHERE student.fams=thisform.combo1.value into cursor Cur select cur LOCATE FOR thisform.grid1.fams=cur но пишет что такое свойство не найдено.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2007, 23:23 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
Вы путаете GRID.fam не данные в гриде, данные grid.column.value, команда LOCA сработает если написать как у Вас, но не грид, а его источник данных table.fam и в правой части не просто cur (имя курсора), а указания поля в курсоре (напр. cur.fam). НО!!! Я говорил об одном алгоритме, ВЫ пошли своим путем, поэтому мои ответы рассматривайте только в качестве ликбеза (ликвидация безграмотности) по написанию отдельных команд. Смешение подходов не даст правильного результата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 07:34 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
убрал грид, изменил код получилось: SELECT fams from student WHERE student.fams=thisform.combo1.value into cursor Cur SELECT fams,kg,semestr,do,no,nd,ocen FROM student LOCATE FOR student.fams=cur.fams поидее должно работать(сначала копируется значение из комбо в курсор, потом открываетсыя таблица и в этой таблице курсор должен установится там где фамилия совпадает со значением курсора, так понял..), но ничего не ставится курсор, хотя ошибок нет. просто открывается:SELECT fams,kg,semestr,do,no,nd,ocen FROM student и все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 12:57 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
Select без указания направления вывода, напрмер, INTO cursor MyCursor, показывает результат запроса в окне Browse. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 13:08 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
SELECT RECNO() from bd WHERE условие INTO ARRAY tmp SELECT * from bd WHERE RECNO()=tmp(1) or RECNO()=tmp(1)+1 or RECNO()=tmp(1)-1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 13:35 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
q1w1e1SELECT RECNO() from bd WHERE условие INTO ARRAY tmp SELECT * from bd WHERE RECNO()=tmp(1) or RECNO()=tmp(1)+1 or RECNO()=tmp(1)-1 Благодарю! :) наконецно кто-то просто и ясно ответил, уже наверное неделю пытался добится как это сделать.. вопрос только что такое recno? что делает эта команда? а tpm это я так понимаю массив? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 19:17 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
1.Значение не копируется из комбо в курсор, а отбирается из курсора по условию равенства. 2. Чтобы не открывался "просто селект" селект должен быть "IN CURSOR namecur" потом SELE namecur и внём LOCATE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2007, 20:07 |
|
||
|
Как отобразить Конкретную,предыдущую, следующую записи?
|
|||
|---|---|---|---|
|
#18+
!! :) q1w1e1SELECT RECNO() from bd WHERE условие INTO ARRAY tmp SELECT * from bd WHERE RECNO()=tmp(1) or RECNO()=tmp(1)+1 or RECNO()=tmp(1)-1 Благодарю! :) наконецно кто-то просто и ясно ответил, уже наверное неделю пытался добится как это сделать.. вопрос только что такое recno? что делает эта команда? а tpm это я так понимаю массив? tmp -временный массив, куда передаются результаты запроса функция RECNO( ) Возвращает номер текущей записи в текущей или заданной таблице. Синтаксис RECNO([nWorkArea | cTableAlias]) Параметры nWorkArea Задает номер рабочей области для таблицы, открытой в другой рабочей области. Если в заданной рабочей области нет открытых таблиц, функция RECNO( ) возвращает 0. cTableAlias Задает псевдоним таблицы, открытой в другой рабочей области. Результат Числовой Комментарии Текущая запись ѕ это запись, на которой установлен указатель записи. Если указатель записи расположен за последней записью таблицы, функция RECNO( ) возвращает значение, на единицу большее числа записей в таблице. Если указатель записи установлен перед первой записью таблицы или если в таблице нет записей, RECNO( ) возвращает 1. Если в таблице нет записей, функция EOF( ) всегда возвращает значение "истина" (.T.). Функция RECNO( ), выданная без аргументов nWorkArea и cTableAlias, возвращает номер текущей записи для таблицы, находящейся в выбранной в данный момент рабочей области. Если вы безуспешно применили команду SEEK в индексированной таблице, то задав 0 в качестве nWorkArea, можно воспользоваться алгоритмом "мягкого поиска", возвращающим номер наиболее похожей записи. RECNO(0) возвращает 0, если такой похожей записи найти не удается. Если выдать GO RECNO(0), когда похожая запись не найдена, Visual FoxPro сгенерирует сообщение об ошибке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2007, 12:24 |
|
||
|
|

start [/forum/topic.php?all=1&fid=41&tid=1589737]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 357ms |

| 0 / 0 |
