|
|
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
У меня не удаляется запись из таблицы. Вообщем на Форме ест СубФорма с Листбоксом, а рядом кнопка. Нужно чтобы при нажатии на кнопку ключ выбранной строки Листбокса Субформы был в команде 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 Что я сделал неправильно? Помогите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 16:40 |
|
||
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
CurrentDb.Execute (strSQL, dbFailOnError)? точно не удаляется? как ты это смотришь - нигде не видно обновление формы (субформы) после удаления записи. и не понял - закрытие зачем стоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 16:49 |
|
||
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
"на Форме ест СубФорма с Листбоксом" "Субформа ContainerList2Subform1" а почему ты подсовываешь в выражение =" & Me.[ContainerList2Subform1].Value & ";") субформу, а не Листбокс у тебя же код находится в листбоксе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 16:50 |
|
||
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
Я ошибся,- это обычная СубФорма, в которой есть столбцы из таблицы. Она просто выглядит как ЛистБокс. Вообщем как мне вставит ключ из Строки Субформы в запрос, и как это так написать, чтобы правильно было. Да ешё, как сделать так, чтобы после выполнения команды было обновление формы/субформы Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 17:00 |
|
||
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
Значит надо к полю этой субформы обращаться (в котором и находится ваше значение) что-то типа me.Sub1.Form.Text1 обновление me.requery или me.recordsource = me.recordsource ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 17:04 |
|
||
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
me.Sub1. Form. Text1 А что за Форма эта? Там ведь иерархия такая: Форма>Субформа>ТекстБокс И я вот что-то не понимаю- в Субформе появляется список типа ЛистБокс, а на самом деле в свойствай Субформы- это ТекстБокс. В Листбоксе нужно выбирать Value , а в Текстбоксе тогда что, просто название этого ТекстБокса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 17:21 |
|
||
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
авторА что за Форма эта? Там ведь иерархия такая: Форма>Субформа>ТекстБокс Субформа - это контрол такой на главной форме А у этого контрола есть свойство Form, через которое можно достучаться до контролов и свойст самой формы. авторИ я вот что-то не понимаю- в Субформе появляется список типа ЛистБокс Это пример был - ну надо вам не к TextBox обращаться, а к ЛистБокс - ну и обращайтесь наздоровье ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 17:24 |
|
||
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
Попробовал несколько вариантов, но так и не работает. вот один: пробовал просто число обычное вставить, ну не рабоает и всё. В свойствах у СубФормы имя такое же как и формы в ней.Поэтому написал следующее: 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 Кто скажет, где может быть ошибка? Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 18:03 |
|
||
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
Свойство Form, а не имя формы - оно всегда Form Пиши так Me![ContainerList2Subform1]. Form .[SubAsset] ТО ЧТО ЖИРНЫМ, НИ НА ЧТО ЗАМЕНЯТЬ НЕ НАДО!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 18:06 |
|
||
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
paparome Thanks, Класс заработало, но не сразу. Написал как ты мне сказал и ничего не получилось. После чего я просто удалил Ексепшионс и Мессаджис, оставил просто команду запроса. Private Sub RemoveSubDevice_Click() CurrentDb.Execute ("DELETE * FROM Container WHERE SubAsset=" & Me![ContainerList2Subform1].Form.[SubAsset] & ";") Me.Requery End Sub Вот потом и заработала. Дла уверености решил посмотреть что там в таблице. Записи стёрты, но вместо них остались #Deleted. Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 18:31 |
|
||
|
DeleteFromTable
|
|||
|---|---|---|---|
|
#18+
Потому что таблица во время удаления была открыта для просмотра. Так? Закрыть- открыть - исчезнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 01:25 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32545131&tid=1674160]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 532ms |

| 0 / 0 |
