powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DeleteFromTable
12 сообщений из 12, страница 1 из 1
DeleteFromTable
    #32545131
magoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня не удаляется запись из таблицы.

Вообщем на Форме ест СубФорма с Листбоксом, а рядом кнопка. Нужно чтобы при нажатии на кнопку ключ выбранной строки Листбокса Субформы был в команде SQL и удалял запись в Таблице.

Есть Таблица Container
Форма Assets
Субформа ContainerList2Subform1

Написал следуещий Ивент на кнопку, но запись не удаляется из таблицы:


Private Sub RemoveSubDevice_Click()
On Error GoTo Err_RemoveSubDevice_Click


CurrentDb.Execute ("DELETE * FROM Container WHERE SubAsset=" & Me.[ContainerList2Subform1].Value & ";")
DoCmd.Close

Exit_SaveRemoveSubDevice_Click:
Exit Sub

Err_SaveRemoveSubDevice_Click:
MsgBox Err.Description
Resume Exit_SaveRemoveSubDevice_Click

End Sub


Что я сделал неправильно? Помогите
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545149
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CurrentDb.Execute (strSQL, dbFailOnError)?

точно не удаляется? как ты это смотришь - нигде не видно обновление формы (субформы) после удаления записи.

и не понял - закрытие зачем стоит?
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545152
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"на Форме ест СубФорма с Листбоксом"
"Субформа ContainerList2Subform1"

а почему ты подсовываешь в выражение
=" & Me.[ContainerList2Subform1].Value & ";")
субформу, а не Листбокс
у тебя же код находится в листбоксе
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545182
magoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ошибся,- это обычная СубФорма, в которой есть столбцы из таблицы. Она просто выглядит как ЛистБокс.
Вообщем как мне вставит ключ из Строки Субформы в запрос, и как это так написать, чтобы правильно было. Да ешё, как сделать так, чтобы после выполнения команды было обновление формы/субформы

Заранее благодарен
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545193
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит надо к полю этой субформы обращаться (в котором и находится ваше значение)

что-то типа

me.Sub1.Form.Text1

обновление

me.requery
или
me.recordsource = me.recordsource
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545227
magoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
me.Sub1. Form. Text1

А что за Форма эта? Там ведь иерархия такая: Форма>Субформа>ТекстБокс
И я вот что-то не понимаю- в Субформе появляется список типа ЛистБокс, а на самом деле в свойствай Субформы- это ТекстБокс. В Листбоксе нужно выбирать Value , а в Текстбоксе тогда что, просто название этого ТекстБокса?
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545238
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА что за Форма эта? Там ведь иерархия такая: Форма>Субформа>ТекстБокс

Субформа - это контрол такой на главной форме
А у этого контрола есть свойство Form, через которое можно достучаться до контролов и свойст самой формы.

авторИ я вот что-то не понимаю- в Субформе появляется список типа ЛистБокс

Это пример был - ну надо вам не к TextBox обращаться, а к ЛистБокс - ну и обращайтесь наздоровье
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545340
magoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал несколько вариантов, но так и не работает.
вот один:

пробовал просто число обычное вставить, ну не рабоает и всё.
В свойствах у СубФормы имя такое же как и формы в ней.Поэтому
написал следующее:
CurrentDb.Execute ("DELETE * FROM Container WHERE SubAsset=" & Me![ContainerList2Subform1].[ContainerList2Subform1].[SubAsset] & ";")
Me.Requery

вот второй:

CurrentDb.Execute ("DELETE * FROM Container WHERE SubAsset=" & Me![ContainerList2Subform1].[SubAsset].Value & ";")
Me.Requery
Кто скажет, где может быть ошибка?
Заранее благодарен
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545348
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свойство Form, а не имя формы - оно всегда Form

Пиши так
Me![ContainerList2Subform1]. Form .[SubAsset]

ТО ЧТО ЖИРНЫМ, НИ НА ЧТО ЗАМЕНЯТЬ НЕ НАДО!!!
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545392
magoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparome Thanks,

Класс заработало, но не сразу. Написал как ты мне сказал и ничего не получилось. После чего я просто удалил Ексепшионс и Мессаджис, оставил просто команду запроса.


Private Sub RemoveSubDevice_Click()

CurrentDb.Execute ("DELETE * FROM Container WHERE SubAsset=" & Me![ContainerList2Subform1].Form.[SubAsset] & ";")
Me.Requery

End Sub
Вот потом и заработала. Дла уверености решил посмотреть что там в таблице. Записи стёрты, но вместо них остались #Deleted. Почему?
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545646
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что таблица во время удаления была открыта для просмотра. Так? Закрыть- открыть - исчезнет.
...
Рейтинг: 0 / 0
DeleteFromTable
    #32545647
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Или Shift+F9 (Requery).
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DeleteFromTable
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]