|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.11.2006, 14:25 | #1 |
Регистрация: 22.11.2006
Сообщений: 3
|
поиск и замена в неиндексированной таблице Dbase Iv
Есть такой вопрос - хотя он простой - берется общая таблица с материалом, методом копирования в таблицу типа temp1 выбирается из нее определенные поля с материалом и его количеством. Далее на отдельно заполняемую смету я выбираю уже из таблицы temp1 в другую таблицу (к примеру temp2) материал в определенном количестве. Что требуется - нужно из temp1 по выбранному пункту отнять количество материла выбираемое для temp2 и при этом отобразить сколько осталось в temp1 (соотвественно тип поля с количеством float). Это не сложно, но у меня не получается установить правельно курсос на выбираемое поле что бы сделать вычисление и сохранение.
Само собой если человек из temp2 удаляет какое нибудь поле, нужно произвести аналогичную операцию, только сложить (типа UNDO ) |
06.12.2006, 21:45 | #2 |
Пользователь
Регистрация: 06.11.2006
Сообщений: 51
|
Немного отступления.
К примеру у меня есть база с кучей записей. Я постоянно добавляю записи, изменяю их. И вот нужно чтобы выбрать запись где-то всередине базы, изменить его, взять другую запись и ее тоже изменить, а потом курсор установить на ту, что изменял до нее. Для этой цели мне необходимо поле в базе, в котором были-бы для каждой записи УНИКАЛЬНОЕ значение, т.е. в других записях такого значения нет. Поэтому я присваиваю переменной значение из этого поля для этой записи. Потом делаю изменения этой записи, перехожу к другой и т.д. И для воврата (установки курсора) использую ф-ю Locate, напрмер: Table.Locate('Npol', npolya, [loCaseInsensitive]) где 'Npol' - имя поля с уникальными значениями, npolya-переменная, в которую заранее сохранили уникальное значение [loCaseInsensitive]- параметр, в данном примере означает, что на регистр не учитывается. По Locate есть описание в хелпе. Из сказаннго следует, что необходимо наличие в базе поле с уникальными значениями, на его роль подходит поле с автоинкремнтом (для Paradox-a),а в dBase такого нет, его придется организовывать вручную, т.е. иметь в наличии поле типа Number и перед каждым Append или Insert вычислять максимальное в нем значение и при внесении в созданную запись данных записывать в это поле значение на 1 больше. |
07.12.2006, 23:18 | #3 |
Армия Рассейская
Форумчанин
Регистрация: 06.12.2006
Сообщений: 175
|
to nova-alex а не проще ли Bookmarks использовать?
Сделаем ночь ярче!!! - Ракетные войска стратегического назначения
Центральный клуб туристов РВСН |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Текст. ред. Поиск и замена | Славный | Общие вопросы Delphi | 4 | 25.06.2008 20:09 |
Поиск в таблице БД | фЁдОр | БД в Delphi | 13 | 14.11.2007 10:05 |
Поиск и замена файлов | steo_ler | Помощь студентам | 5 | 08.10.2007 15:01 |
Поиск в таблице | Voffka | БД в Delphi | 1 | 08.05.2007 01:16 |