powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как удалить связанные записи
14 сообщений из 14, страница 1 из 1
Как удалить связанные записи
    #32308519
hangkil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При методе ADODC1.Recordset.delete он говорит что таблица имеет связанные данные с друго таблицей,
Как правильно надо это делать?
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32308539
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А база то какая ?
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32308567
DionX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
удаляй сначала связанные или поставь в опциях связи галку Обеспечить целостной данных-->Каскадное удаление записей.
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32308830
hangkil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База Акцесс ХР,
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32308843
hangkil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При использовании метода adodc.recordset.delete он говорит текущий recordset не поддерживает обновление это связано с ограничение поставщика или с выбранным типом блокировки.

провайдер JET 4,0
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32308873
DionX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как рекордсет открываешь?..
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32308885
hangkil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
If rs_text.State = 1 Then rs_text.Close
Set rs_text.ActiveConnection = cnn
rs_text.Open "cdtext"
Set ado.Recordset = rs_text
ado.Refresh
ado.Recordset.Delete
Set dg.DataSource = ado
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32308987
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Придется самому смотреть структуру базы и делать удаление связанных записей. Другого пути нет.

Magnus
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32309013
hangkil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ладно как удалять разобрался, только теперь он удаляет не ту запись на которой стоит курсор а первыю которая отображается в ГРИДЕ

Как это делается?
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32309479
Фотография ulis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтобы удалить запись, которая выделена в гриде, на событие RowColChange присваивай некоторой переменной значение ключевого поля этой записи, например, если первый столбец в гриде содержит ключевое поле, то переменная

intКод = dtgМойГрид.Columns(0).Text и будет иметь значение ключевого поля. Ну а по этому полю как условию удалишь без проблем
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32309691
DionX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мля... Да всё нормально удаляется, не надо ни чё ручками выискивать...:

sub iDelete()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\m.mdb;"
cn.Open

rs.Open "select * from ttt1", cn, adOpenDynamic, adLockOptimistic
rs.Find "nn=2"

If Not rs.EOF Then rs.Delete

on error resume next
if cn.state=adstateopen then cn.close:set cn = nothing
if rs.state=adstateopen then rs.close:set rs = nothing
end sub
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32309692
DionX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при этом, если существует некая таблица ttt2, числовое поле nn_ttt1 которой связано с ключевым полем ttt1.nn, то все записи значение поля nn_ttt1=2 будут также удалены... конечно если в типе связи стоит Обеспечивать целостность данных-->Каскадное удаление....
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32309693
DionX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 hangkil
>>При использовании метода adodc.recordset.delete он говорит текущий recordset не поддерживает обновление это связано с ограничение поставщика или с выбранным типом блокировки

>>rs_text.Open "cdtext"


открывая таким образом набор записей (не указывая типа курсора и режима блоктровки), ты создаёшь статистический курсор только для чтения. Не удивительно, что vb ругается....
...
Рейтинг: 0 / 0
Как удалить связанные записи
    #32309712
DionX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в предыдущей своей мессаге допустил неточность: тип курсора по умолчанию ForwardOnly (обеспечивает перемещение курсора только впред и только для чтения), режим блокировки также только для чтения. Т.е. открывая рекордсет как, ты не сможешь даже полноценно пользоваться методом Find, не говоря уже об удалении и модификации данных...
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как удалить связанные записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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