| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Запрос на удаление |
| Автор: Catisha 12.10.2006, 11:40 | ||
Компилятор выдаёт ошибку, не знаю как исправить. Нужно следующее: чтобы удалялась запись, которой нет в другой таблице. |
| Автор: boevik 12.10.2006, 11:47 | ||
Запиши проще
|
| Автор: Catisha 12.10.2006, 11:52 |
| Не получается, удаляет все записи, которых нет во второй таблице |
| Автор: Catisha 12.10.2006, 11:57 | ||
| Есть форма с пользователями, на ней кнопка Удалить. Так вот если на этом пользователе записано оборудование, то нельзя выполнять команду на удаление. Добавлено @ 11:59 Может так понятней будет:
|
| Автор: boevik 12.10.2006, 12:01 | ||
Возможно имелось ввиду следующее:
где userID содержит номер текущего пользовтеля. |
| Автор: Catisha 12.10.2006, 12:12 |
| Работает, но как-то криво: Каждый раз выскакивает сообщение: Введите значение параметра. |
| Автор: boevik 12.10.2006, 12:15 |
| UserID замени на свою переменную, возможно это pk у тебя. |
| Автор: Catisha 12.10.2006, 12:18 |
| Я заменила, не помогает. А может сделать сначала проверку есть ли пользователь в другой таблицы, а потом если нет, то удалять его? Не знаешь как это можно реализовать, а то у меня большие проблемы с синтаксисом языка. |
| Автор: boevik 12.10.2006, 12:23 |
| Catisha, у тебя выскакивет сообщение Введите значение параметра. и с этим в первую очередь надо разобраться. Потому что даже если просто запрашивать есть юзер во второй таблице надо передавать параметр. Разберись, где иммено сидит значение удаляемого юзера. |
| Автор: Catisha 12.10.2006, 12:37 | ||
Если написать так:
то работает, как надо только почему-то жутко томозит где-то секунд 20? Добавлено @ 12:39 Так ладно это у меня комп что-то тормозит)))) А не знаешь как убрать сообщение о том, сколько записей будет удалено? |
| Автор: boevik 12.10.2006, 12:39 | ||
Посмотри какой sql запускается.
|
| Автор: Catisha 12.10.2006, 12:54 |
| Так проблему с подтверждением решила! Последний вопрос: как если удаление не произошло выдавть сообщение типа : "Нельзя удалить юзера!" |
| Автор: boevik 12.10.2006, 12:59 | ||
Если выполнить таким образом:
то в iCount содержится кол-во удаленных записей. |
| Автор: Catisha 12.10.2006, 13:25 |
| А попроще никак нельзя? |
| Автор: boevik 12.10.2006, 13:27 |
| IMHO и мой способ не сложен. Перед delete сделать select и посмотреть есть ли возвращеные записи. Это проще? |
| Автор: Flotskiy 14.10.2006, 09:23 |
| Привет всем! У меня есть аналогичная задача. Если у читателя имеется задолженность по ннигам, то... ----------------------------------------------- Case cmdDelete '-- delete the current record Dim reply As Integer Dim iResponse As Integer Dim sAskUser As String If Text4.Text > 0 Or Text6.Text > 0 Or Text7.Text > 0 Then reply = MsgBox("Удалить нельзя - имеется задолженность: " & _ "абонем.= " & Text4.Text & _ ", читзал=" & Text6.Text & _ ", подп. изд=" & Text7.Text, vbCritical, "Контроль!") Else sAskUser = "Желаете удалить запись?" iResponse = MsgBox(sAskUser, vbQuestion + vbYesNo + _ vbDefaultButton2, "Контроль!") End Sub -------------------------------------------- Может подойдет такая идея? |