|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
У меня есть таблица с 3 колонками в первой колонке (memo), а также второй и третьей колонках kode1 и kode2 имени И кнопка для удаления строк. С пример, я говорю свой вопрос: На рисунке ниже, Например, я хочу, чтобы удалить первую строку. В этом строку kod1=004 Теперь я хочу Кроме того эта строка, удалить все строки, которые kod2 = 004 в кнопке "удалить" какая программа мне надо писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 21:12 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
fatimaaaaКроме того эта строка, удалить все строки, которые kod2 = 004 в кнопке "удалить" какая программа мне надо писать? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 21:18 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
Dima T, Я хочу, чтобы во всех случаях, это было просто пример. Может быть,Я хочу удалить другие строки это правильно? delete in мой_таблица where kod2 = kod1 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 21:37 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
Правильно, если kod1 это переменная где хранится нужный код для удаления. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 22:00 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
Dima T, я так написала но это ошибка дает: "command is missing required clause." ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 22:35 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
fatimaaaaDima T, DELETE IN (thisform.grid1) where kod2=kod1 thisform.grid1.SetFocus я так написала но это ошибка дает: "command is missing required clause." ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 22:37 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
DELETE [Scope] [FOR lExpression1] [WHILE lExpression2] [IN nWorkArea | cTableAlias] [NOOPTIMIZE] Параметры Scope Задает диапазон записей, которые следует пометить на удаление. По умолчанию областью действия команды DELETE является одна текущая запись (NEXT 1). Возможны следующие предложения диапазона: ALL, NEXTnRecords, RECORD nRecordNumber, и REST. Подробнее о предложениях диапазона смотрите Предложения диапазона. FOR lExpression1 Задает условие, в соответствии с которым на удаление помечаются только записи, удовлетворяющие логическому условию lExpression1. Технология Rushmore оптимизирует запрос, созданный командой DELETE ... FOR, если lExpression1 является оптимизируемым выражением и таблица индексирована по функции DELETED( ). В целях достижения наилучшей производительности используйте в предложении FOR оптимизируемое выражение. Подробнее об оптимизируемых по технологии Rushmore выражениях смотрите Команда SET OPTIMIZE, и Использование оптимизации запросов Rushmore для ускорения доступа к данным in Оптимизация приложений. WHILE lExpression2 Задает условие, в соответствии с которым записи помечаются на удаление, пока значением выражения lExpression2 остается "истина" (.T.). IN nWorkArea Задает рабочую область таблицы, в которой записи помечаются на удаление. IN cTableAlias Задает псевдоним таблицы, в которой записи помечаются на удаление. Если опустить nWorkArea и cTableAlias, записи помечаются на удаление в таблице, принадлежащей выбранной в данный момент рабочей области. NOOPTIMIZE Отключает оптимизацию команды DELETE по технологии Rushmore. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2015, 23:15 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
fatimaaaafatimaaaaDima T, DELETE IN (thisform.grid1) where kod2=kod1 thisform.grid1.SetFocus я так написала но это ошибка дает: "command is missing required clause." thisform.grid1 это не таблица. Надо указывать имя таблицы которую показывает грид. И я вчера немного напутал, надо или Код: sql 1.
или Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 07:49 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
Dima T, Не работает :( ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 11:35 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
Dima TОшибка какая? Может кнопок не хватает? Чуть выше есть выдержка из хелпа: - "Если опустить nWorkArea и cTableAlias, записи помечаются на удаление в таблице, принадлежащей выбранной в данный момент рабочей области." Т.е в данном примере в "мой_таблица" нет необходимости. Код в CLICK первой кнопки: DELETE Во второй кнопке: DELETE FOR ALLTRIM(kod1) == '004' В третьей: DELETE FOR ALLTRIM(kod2) == '004' В четвертой: LOCAL lcCode lcCode = '009' DELETE FOR ALLTRIM(kod2) == lcCode В пятой: RECALL ALL ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 17:08 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
sg12, не надо направлять ТСа по неверному направлению (хотя если это ваш студент тогда понятно), вариант с несколькими кнопками удалить довольно странный, Вам не кажется? Удалять записи не указывая источник ? Имхо, так нельзя делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 17:46 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
tor300sg12, не надо направлять ТСа по неверному направлению (хотя если это ваш студент тогда понятно), вариант с несколькими кнопками удалить довольно странный, Вам не кажется? Удалять записи не указывая источник ? Имхо, так нельзя делать. Для вас повтор: - "Если опустить nWorkArea и cTableAlias, записи помечаются на удаление в таблице, принадлежащей выбранной в данный момент рабочей области." Если есть сомнения, то не-SQL SELECT вам в руки. В данном примере кнопки можете объединить по верному направлению, я не возражаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 18:04 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
sg12, Кнопки были Ваши, не мои, так что можете объединять их как Вам необходимо, мне всегда хватало одной. Хэлп у меня есть, так что цитировать его не надо, в своих программах всегда выбираю источник данных (либо указываю в команде), и считаю что это правильно; можете с этим не соглашаться, оспаривать не стану. Если у ТСа вопросов больше нет, предлагаю закрыть топик. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 19:42 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
tor300sg12, Кнопки были Ваши, не мои, так что можете объединять их как Вам необходимо, мне всегда хватало одной. Хэлп у меня есть, так что цитировать его не надо, в своих программах всегда выбираю источник данных (либо указываю в команде), и считаю что это правильно; можете с этим не соглашаться, оспаривать не стану. Если у ТСа вопросов больше нет, предлагаю закрыть топик. Для вас повтор из хелпа еще раз: - "Если ... выбранной ..." Свою чудо-кнопку ничто не мешает вам продемонстрировать, столько сомнений сразу снимете. Я же просто немного помог ДимеТ распутаться с командой DELETE, вы тоже вместо яканья можете внести свою лепту. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 20:01 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
sg12Я же просто немного помог ДимеТ распутаться с командой DELETE, вы тоже вместо яканья можете внести свою лепту. Помощничек, кончай ахинею нести. Я послушаю и забуду, а новички твои "советы" могут в код вставить. tor300 все правильно написал, нельзя без явного указания алиаса удалять (хотя синтаксис позволяет), где-то по недосмотру текущую рабочую область сменил, там одноименное поле может оказаться и ошибки не будет, просто похеришь совсем не то что планировал. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 20:42 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
Dima T Чтобы не херить, в Фоксе есть: Из хелпа: SELECT nWorkArea | cTableAlias Активизирует заданную рабочую область. Также есть: ALIAS([nWorkArea | cTableAlias]) Возвращает алиас Таблицы, открытой в текущей или заданной Рабочей Области. Пример из хелпа: USE customer && Opens Customer table DELETE FOR country = 'USA' && Mark for deletion Да и вообще в форме с одним гридом запутаться это как умудриться надо. Или может вы с tor300 на каждую таблицу свой комплект табличных команд написали? Большинство из них также может "похерить", "nWorkArea | cTableAlias" много где используется. Уж на создателей универсальных оберток вы никак не тянете, раз с областями по недосмотру работаете. К тому же даже когда в гриде цифирки слева запутались. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2015, 22:17 |
|
кнопка "удалить"
|
|||
---|---|---|---|
#18+
получилось Спасибо всем LOCAL x DELETE x=kod1 DELETE ALL FOR kod2=x thisform.grid1.SetFocus ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2015, 11:27 |
|
|
start [/forum/moderation_log.php?user_name=%D0%9D%D1%83%D1%80%D0%B0%D0%BB%D0%B8%D0%B5%D0%B2+%D0%91%D0%BE%D1%80%D1%8F]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 20223ms |
total: | 20442ms |
0 / 0 |