|
|
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
Ох. Есть запрос на удаление: DELETE otchet.*, otchet.OPERATE FROM otchet WHERE (((otchet.OPERATE)="4")); если у нас есть такие записи: price operate quanty 1------0-------9 2------1-------5 8------4-------7 7------0-------1 то запрос удалит строку 8------4-------7 а как его заставить при этом еще и 2------1-------5 удалить? т.е. чтобы он по 2 строки удалял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:10 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
а как его заставить при этом еще и 2------1-------5 удалить? т.е. чтобы он по 2 строки удалял... Не очень понятный вопрос. Мб переписать его DELETE otchet.* FROM otchet WHERE otchet.OPERATE="4" or otchet.OPERATE="1"; Если ты это имеешь в виду. А если надо удалять предыдущую строку - это уже проблемно. Тогда для начала выкладывай структуру otchet ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:17 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
Достаточно Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:25 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2 VIG Простите, не поняла... 2 Geo в смысле - структуру таблицы? какие там есть поля и какого они типа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:29 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2marina_spb тебе надо удалять строку по условию и предыдущию???? если это действительно так то можно рекордсетом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:33 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2Марина Скажи заодно, чего хочешь. :) Если надо, чтоб удалялись записи с операте=4 или 1, то тебе уже ответили. Если что-то еще, то, во-первых, уточни условие, а во-вторых, пожалуй, было бы невредно увидеть названия и типы полей таблички. и указание, которые из них ключевые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:37 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
Простите, не поняла... Не всегда краткость -сестра таланта.(Это я о себе ) Я имел в виду , что синтаксис оператора DELETE допускает не указывать имя таблицы после ключевого слова DELETE , т.е в твоем случае достаточно написать Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:43 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2 Артист - именно так! 2 Geo - не там ключевых полей, это вообще присоединенная таблица формата dbf IV :( ничего в свойствах там менять нельзя полей там порядка 18, конкретно это поле OPERATE, к тому же, текстовое... в общем, все очень запущенно :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:45 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
..... rs.findfirst otchet.OPERATE="4" rs.delete rs.movelast rs.delete .... ну а если довести энто до ума... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:50 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2Марина Надо было еще написать "2(c)VIG именно так!" ибо он куда больше меня (а, возможно, и Артиста (прости, Артист:)) знает о запросах. Так надо удалять предыдущую? Тогда надо сначала как-то идентифицировать записи (почему я и спросил про ключевое поле). Ты можешь пронумеровать записи в запросе или даже слить его результаты во временную таблицу, и узнать, какая из них предыдущая от подходящей к твоему условию, но как ее затем найти в твоей табличке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:52 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
А тем временем Артист придумал способ лучше :) Только лучше rs.FindFirst "Pole='4'" rs.movePrev rs.delete rs.FindFirst "Pole='4'" rs.delete ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:55 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
ибо он куда больше меня (а, возможно, и Артиста (прости, Артист:)) знает о запросах да чё ты меня с VIG-ом сравниваешь... я вообще ещё дилетант в SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:55 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
Так. А вот теперь объясните мне совсем на пальцах. Главу про recordset я уже давно в книжке нашла. И даже поняла, что моя задачка может решаться с ее помощью. Я только не поняла тогда, куда этот код писать и потому главу закрыла. Так как в книжках не любят объяснять примитивные вещи, которые всем кроме меня, видимо, известны с рождения :) Что мне с этим кодом делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:58 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
тьфу rs.MovePrevious а не ласт... сорри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:58 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
(Весь красный от смущения) : "Да ну ладно, Вам" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2003, 23:59 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2marina_spb а когда ты хочешь удалять?? по кнопочке кликать и удалять?? тогда в конструкторе кликни правой кнопкой по кнопочке и выбери "обработка события" , а потом то что у тебя откроется (редактор VBA) там и пиши всё, что ты нашла в книжечке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2003, 00:01 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2Артист Я last не заметил, я имел в виду, что уверен ли ты, что после .delete указатель текущей записи указывает на следующую? Не знаю, как Акцесс, а другие СУБДы часто предупреждают, что это совсем не подразумевается. 2Марина Положим на кнопку Кнопка1 обработку события Нажатие: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2003, 00:07 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2 Артист Я хотела на кнопку повесить выполнение запроса вот этого вот самого на удаление :) Я совсем чуточку знакома с программированием и почему-то мне не верится, что Private Sub Кнопка0_Click() rs.FindFirst "Pole='4'" rs.movePrev rs.delete rs.FindFirst "Pole='4'" rs.delete End Sub будет так просто работать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2003, 00:11 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2Geo & Артист А вы уверены ,что после Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2003, 00:13 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2 Geo А цикла там никакого не надо? А то он удалит только первое вхождение четверки и на этом успокоится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2003, 00:19 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2VIG Если Order By тот, что надо, то, наверное, это не хуже, чем в запросе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2003, 00:19 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
Марин, прости, а тебе что надо-то? Чтобы все вхождения четверки и предыдущую запись перед первой? Или все вхождения четверки и предыдущую запись перед каждой? Или последнюю "четверку"? Или где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2003, 00:22 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
мне нужно, чтобы удалились все вхождения 4 и каждая предыдущая строчка перед 4 т.е. чтобы Price Operate Quanty 1------2------5 1------1------5 1------4------1 1------7------1 1------1------5 1------4------1 1------8------1 стало выглядеть как 1------2------5 1------7------1 1------8------1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2003, 00:26 |
|
||
|
запрос на удаление
|
|||
|---|---|---|---|
|
#18+
2Марина Ок. Тогда для mdb, в которой подключена DAO (меню Tools/References...): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2003, 00:34 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32283918&tid=1679054]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 416ms |

| 0 / 0 |
