Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
Есть у меня значение поля в таблице (ID - Integer), как найти запись и встать на нее? LOCATE почему-то не прокатывает - не могу понять почему.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 12:18 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
Возможные причины: -) Поврежден индексный файл -) на таблицу наложен фильтр (SET FILTER), исключающий данную запись -) главный индекс (SET ORDER) имеет FOR-условие, исключающее данную запись -) запись удалена и установлно SET DELETED ON -) Поиск осуществляется не в той рабочей области (по другой таблице) -) Записи с таким значением нет в таблице Гадать можно и дальше. Может все-таки приведешь кусок кода, как именно осуществляешь поиск и как убедился что запись с таким кодом действительно существует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 12:34 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
1. LOCATE FOR id=<Value> Почему у тебя не ищет? Не знаю, должно работать. 2. Проиндексировать по полю ID и использовать 2.1. SEEK 2.2. SEEK() 3. Можно еще сложнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 12:36 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
*** ActiveX Control Event *** LPARAMETERS node ii=node.index kk=node.key tt=node.tag ll=LEN(kk)-1 nn=RIGHT(kk,ll) && уникальный номер детали из таблицы, строковый idn=VAL(nn) && получаем числовой номер node.selected=.T. id_sb = idn SELECT sp_zapch SET ORDER TO id_detal goto top LOCATE FOR id_detal=INT(idn) x=RECNO() MESSAGEBOX(STR(x)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 12:36 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
смысл всего этого - в тревью я выбираю деталь, (ее id_detal определяется отлично), потом мне нужно передать эту запись на редактирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 12:40 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
х у меня получается 2292, записей в таблице - 2291 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 12:44 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
А в переменной IDN то, что надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 12:46 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
Скорее всего, поврежден индекс. Для команды LOCATE надо делать SELECT sp_zapch SET ORDER TO 0 goto top LOCATE FOR id_detal=INT(idn) Т.е. активный главный индекс только замедляет выполнение поиска по LOCATE. Также можешь использовать функцию поиска SEEK() IF SEEK(INT(idn),"sp_zapch","id_detal")=.T. * Есть такая запись ELSE * Нет такой записи ENDIF Следует также помнить, что содержимое TreeView после построения уже никак не связано с содержимым таблицы. Если, например, после построения дерева ты удалили запись, или настроил фильтр на таблицу, или изменил настройку SET DELETED, то можешь ничего и не найти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 13:05 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
SAM-FoxProА в переменной IDN то, что надо? Да, там id_detal - все верно определяется ВладимирМ Следует также помнить, что содержимое TreeView после построения уже никак не связано с содержимым таблицы. Если, например, после построения дерева ты удалили запись, или настроил фильтр на таблицу, или изменил настройку SET DELETED, то можешь ничего и не найти. Я сначала делаю фильтр, потом строю дерево. Все, что мне нужно - взять id_nasosy, встать на эту запись и пойти на редактирование ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 14:04 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
Ставлю брекпойнт на локейте, делаю броузе - все записи есть, в том числе и та, которую надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 14:05 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
ВладимирМСкорее всего, поврежден индекс. Для команды LOCATE надо делать SELECT sp_zapch SET ORDER TO 0 goto top LOCATE FOR id_detal=INT(idn) Т.е. активный главный индекс только замедляет выполнение поиска по LOCATE. Также можешь использовать функцию поиска SEEK() IF SEEK(INT(idn),"sp_zapch","id_detal")=.T. * Есть такая запись ELSE * Нет такой записи ENDIF Следует также помнить, что содержимое TreeView после построения уже никак не связано с содержимым таблицы. Если, например, после построения дерева ты удалили запись, или настроил фильтр на таблицу, или изменил настройку SET DELETED, то можешь ничего и не найти. Ни тот ни другой вариант не прокатывают - все время EOF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 14:09 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
Просто открываю таблицу (отдельно от всего), в коммандном окне говорю: LOCATE FOR id_detal=5239 ... ничего (точнее улетает в EOF) Запись такая есть - смотрю на нее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2005, 15:15 |
|
||
|
Как встать на запись?
|
|||
|---|---|---|---|
|
#18+
Hi w3d! Сделай резервную копию, потом DELETE TAG ALL и твой LOCATE - если сработает, значит у тебя скорее всего убился индекс... Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2005, 00:00 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32878527&tid=1595026]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 417ms |

| 0 / 0 |
