|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
Нужно удалить строку в таблице отображаемой в гриде. По нажатии клавиши удаления должна открываться форма с переспросом "Действительно хотите удалить?" - да/нет. Как сослаться на выделенные строки в таблице? Обычную кнопку без переспроса сделал через обычный делет. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 22:00 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
Сначала AHaPXuSTНужно удалить строку в таблице отображаемой в гриде. Потом:Как сослаться на выделенные строки в таблице?Так что надо? Кстати, а выделены то они как? Обычную кнопку без переспроса сделал через обычный делет.А что, есть еще какой-то особенный, необычный? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 22:14 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
Sergey Sizov, насколько я понял, та же проблема. Нужно удалить строку из таблицы в гриде. Строку помечаю просто кликом мыши либо на нее саму, либо на столбец слева (Deletemark). После нажатия кнопки на форме, открывается новая форма с требованием подтвердить удаление. На ней кнопка "да". Если в нее просто записать delete, нужная строка не удалится, потому что находится на другой форме в гриде. Или нужно запоминать номер строки в переменную, чтобы в кнопке "да" на него ссылаться? lnrec=recno() delete for recno()=lnrec ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 22:27 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
RazmalevichSergey Sizov, насколько я понял, та же проблема.Хм, еще и одной то проблемы не описали, а тут уже еще какая-то всплыла. Какая "та же"? Нужно удалить строку из таблицы в гриде.Таблицы в гриде нет. Есть грид, показывающий таблицу. Потому строку из грида удалить нельзя. Можно из таблицы. Строку помечаю просто кликом мыши либо на нее саму, либо на столбец слева (Deletemark).Ну, и в чем проблема? После нажатия кнопки на форме, открывается новая форма с требованием подтвердить удаление. На ней кнопка "да". Если в нее просто записать delete, нужная строка не удалится, потому что находится на другой форме в гриде.Кто Вам сказал такую чушь? Строки на форме нет! Она есть в таблице. Показываемой через грид. В гриде тоже нет строк. Он всего лишь сетка, через которую смотрят на таблицу. И если в форме с кнопками нет изменений текущей записи нужной таблицы, то ничто не мешает ей удалиться. Или нужно запоминать номер строки в переменную, чтобы в кнопке "да" на него ссылаться? lnrec=recno() delete for recno()=lnrecНафига? Если уже своим Deletemark или delete на выделенной строке уже все сделано? Или удалением Вы называете таки исчезновение строки с экрана? А что для этого сделано? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 22:42 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
Sergey Sizov А что, есть еще какой-то особенный, необычный? Есть ведь просто удаление, по нажатии кнопки например строка исчезает и все. Sergey Sizov Строки на форме нет! Она есть в таблице. Показываемой через грид. Да, удаляем строку в таблице, но именно ту, которую выделили в гриде основной формы. Итак, требуется чтобы по нажатию на кнопку "Удалить", на основной форме, строка из таблицы только запоминалась, а в новой открытой форме с подтверждением уже шло либо удаление, либо отмена. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 23:04 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
AHaPXuSTSergey Sizov А что, есть еще какой-то особенный, необычный? Есть ведь просто удаление, по нажатии кнопки например строка исчезает и все.Еще раз - что Вы сделали для этого? Для исчезновения? Другого нет. Есть просто позаботившиеся об визуальном отображении сего действия. И написавшие для этого соответствующий код. Sergey Sizov Строки на форме нет! Она есть в таблице. Показываемой через грид. Да, удаляем строку в таблице, но именно ту, которую выделили в гриде основной формы.А если Вы не дали соответствующей команды, то только эта выделенная строка и может быть удалена. Итак, требуется чтобы по нажатию на кнопку "Удалить", на основной форме, строка из таблицы только запоминалась,Зачем? Зачем ей запоминаться? Если она и так уже запомнена? а в новой открытой форме с подтверждением уже шло либо удаление, либо отмена.Напишите соответствующий код в этой форме. То есть delete только при нажатии на кнопку "Да". Есть какие-то сложности? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 23:13 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
Sergey Sizov, Сел в итоге на курсорах. В гриде отображается при инициализации таблица, после нескольких действий с сортировкой, которые выполнены с помощью курсоров, в гриде уже отображаются именно они. Соответственно не получается удалить строку из курсора. Хотя если делать кнопку удаления без доп формы вопроса да/нет, все удаляется прекрасно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2013, 23:40 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
AHaPXuSTSergey Sizov, Сел в итоге на курсорах.Не надо на них сидеть, с ними надо работать. :) В гриде отображается при инициализации таблица, после нескольких действий с сортировкой, которые выполнены с помощью курсоров, в гриде уже отображаются именно они. Ну и кто тут злобный Буратина? :) И зачем для сортировок курсоры?Соответственно не получается удалить строку из курсора.Боже, да какие проблемы то? Хотя если делать кнопку удаления без доп формы вопроса да/нет, все удаляется прекрасно.Из курсора? Или из таблицы? Или Вы не можете увязать курсор с таблицей? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 00:03 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
AHaPXuST По определению каждый суслик агроном. Зачем вам обязательно нужна доп. форма, а не функция MESSAGEBOX("Действительно хотите удалить?",4+32+256,"Вопрос") = 6 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 00:09 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 00:16 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
sg12, и ведь действительно суслик :D А форму делал т.к. не знал элементарно синтаксис) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 00:23 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
Но селекты все равно не пускают на удаление. Без формы стало проще и еще одна команда пополнила синтаксис, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 00:39 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
Вопрос решил. Ушел от использования курсоров и вел все модификации и преобразования только с таблицей. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 01:03 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
AHaPXuST"Cannot update the cursor mycur, since it is read-only". Откройте для себя опцию READWRITE в SELECT. AHaPXuSTУшел от использования курсоров и вел все модификации и преобразования только с таблицей. Предсказываю: в многопользовательском режиме эта программа скажет "КРЯ!" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 12:17 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
SoftwareBoy, Да, уже начинаю сталкиваться с тем, что курсоры все равно должны возникать. Например после фильтрации по нескольким параметрам через комбобоксы все собираю в курсоры и должен выдать отфильтрованную информацию на основной форме. И опять же данные должны быть доступны для редактирования. А изменения в курсорах разве влияет на основную таблицу и которой взяты данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 12:28 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
AHaPXuST, Ну и каша же у Вас в голове... Отвлекитесь от "позиционности" (№ записей) и посмотрите на таблицы с точки зрения неупорядоченных множеств (так идет выборка данных с серверов БД) В общем как должна быть организована работа. Каждая запись (строка) в таблице должна быть идентифицируема по ключу. В момент нажатия кнопки "удалить" (или сканируя удаленные записи в кусоре) Вы запоминаете ключ записи (ключи записей) и командами SQL (см. мануалы по delete-SQL, Update-SQL) удаляете/модифицируете соответствующие данные в таблице. Редактировать таблицу "напрямую" не есть хорошо... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 15:23 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
Станислав С...кий, А можно направить в степь, где можно почитать про идентификацию по ключу? А то все еще кручусь на месте. Сначала ушел от проблемы используя основную таблицу как данные, а теперь при дальнейших изменениях (фильтрации), где в грид возвращается курсор с частичной информацией из основной таблицы. И соответственно удалив/отредактировав запись в отфильтрованом курсоре изменения должны затронуть и основную таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 20:20 |
|
Удаление строки с переспросом
|
|||
---|---|---|---|
#18+
AHaPXuST, Теорию про первичные и суррогатные ключи смотрите у Дейта (если не ошибаюсь, то книга называется "Введение в проектирование баз данных") А практика Фокса (без использования SQL-команд) заключается в следующих командах: index on ... to ... reindex set index to... seek() locate [for] found() При работе с "серьезными" серверами баз данных или с SQL-командами Фокса получится так: Update .... set a = <new value> where a=<old value> and b=<old value> and ..., где в предложении where записывается условие отбора записей, то что способно их уникально идентифицировать. Если уникально идентифицировать запись не получится, то изменения будут проведены над всеми записями, которые удовлетворяют условию... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2013, 05:41 |
|
|
start [/forum/topic.php?fid=41&msg=38455353&tid=1582854]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
145ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 287ms |
total: | 542ms |
0 / 0 |