powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как удалить записи в нескольких таблицах одной кнопкой
25 сообщений из 37, страница 1 из 2
Как удалить записи в нескольких таблицах одной кнопкой
    #39787212
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Есть 4 таблицы данные из них берутся через запрос в форму.

Как удалить из формы нажатием одной кнопки сразу с 4 таблиц текущую строку?
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787219
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос-то хоть обновляемый?
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787228
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

не знаю, но через него вношу данные в эти таблицы
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787229
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

как проверить?
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787267
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005, найти нужную строку одним из нескольких способов, а потом "бахнуть" также одним из нескольких способов (DAO, ADO, SQL и т.д.) - это уже по настроению.
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787276
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на событие "клик" задайте процедуру выборки и удаления нужной строки либо через Recordset, либо напрямую удалите через
Код: vbnet
1.
currentdb.execute delete...

или другой объект, позволяющий получить доступ к таблицам БД
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787277
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант можно удалить ключевую запись в главной таблице и если настроено свойство "каскадное удаление связных полей", то все 4 строки удалятся из связных таблиц. это "так себе" вариант, но как вариант имеет право на жизнь :-)
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787340
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ганов Александр,


Ганов Александркак вариант можно удалить ключевую запись в главной таблице и если настроено свойство "каскадное удаление связных полей", то все 4 строки удалятся из связных таблиц. это "так себе" вариант, но как вариант имеет право на жизнь :-)

Я попробовал, но таблица не даёт это сделать ввиду наличия лишних записей в подчинённой таблице, а приводить в соответствие не реально, в базе порядка 3000 строк
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787342
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wawan2005,


Ганов Александрна событие "клик" задайте процедуру выборки и удаления нужной строки либо через Recordset, либо напрямую удалите через
Код: vbnet
1.
currentdb.execute delete...


или другой объект, позволяющий получить доступ к таблицам БД

А не могли бы Вы помочь (ну точнее написать) полный синтаксис строки?

Основная база: Оперативные карточки
Ведомые: Оперативное опиание ; Крточка учета подчиненная ; Дело .

Заранее спасибо.
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787346
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ганов Александр,

P.S.: Ключевое и связанное поле "Код"
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787495
Фотография Ганов Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005, я думаю Вам надо просто провести 1 день за чтением литературы, посмотреть примеры поиска (в том числе видео-примеры) и как работают рекордсеты. нет никакого смысла в том, что Вам все сделают (мое личное мнение конечно).
это буквально 10-15 страниц примеров, если у Вас после этого останутся вопросы, то опытные товарищи Вам наверняка помогут их решить. в данном случае Ваш вопрос из области "как работать с компьютером".
Если нужны источники, с удовольствием подскажу где и что прочитать.

Ваша последовательность действий такая:
1. определить по каким конкретно критериям Вы можете отобрать нужные Вам строки (ключевое поле, либо ключевое + дополнительные поля), то есть те критерии, которые однозначно отберут только те строки, которые надо удалить
2. Дальше сделать выборку данных строк из каждой таблицы (можно как отдельными запросами для каждого таблицы), так и одним запросом. Лучше несколькими - так будет проще. Можно использовать конструктор запросов Access, там все очень наглядно и по нему в youtube есть куча примеров, код SQL конструктор напишет за Вас, вам останется только мышкой показать что конкретно из какой таблички надо взять.
3. после того, как отберете нужные строки, через метод Delete их нужно удалить, либо сразу делать запрос на удаление в самом конструкторе

если Вы озадачил необходимостью удалять записи в таблицах, то это уже более сложная задача, чем просто покрасить кнопочки и заполнить табличку. К ней надо несколько подготовиться.
Начините с данного видео и, думаю, у Вас все быстро получится
YouTube Video
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787515
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ганов Александр,

Спасибо, посмотрю, попробую.
Ещё раз спасибо за помощь!
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787590
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ганов Александр,

Посмотрел видео, довольно-таки занимательное, посмотрел похожие, сделал 2 формы, одна на удаление вторая предупреждение.

Но дело не в этом, у меня одновременно 4 формы, одна ведущая, 3 ведомые, сделал ей управление (каскадное удаление) но она почему-то удалять не хочет.
SQL запроса

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
DELETE Дело.[№ договора], [Крточка учета подчиненная].Код, [Оперативное опиание].Договор, 
[Оперативные карточки].Код, [Оперативные карточки].*, Дело.[№ договора], [Оперативное опиание].*,
[Крточка учета подчиненная].*
FROM (([Оперативные карточки] LEFT JOIN Дело ON [Оперативные карточки].Код = Дело.[№ договора]) 
INNER JOIN [Крточка учета подчиненная] ON [Оперативные карточки].Код = [Крточка учета подчиненная].Код)
INNER JOIN [Оперативное опиание] ON [Оперативные карточки].Код = [Оперативное опиание].Договор
WHERE ((([Оперативные карточки].Код)=[Forms]![Данные]![Данные_подч1].[form].[код]));



VBA Формы
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Option Compare Database
Option Explicit

Private Sub Выход_Click()
DoCmd.Close
End Sub

Private Sub Кн_Удал_запись_Click()
    Dim stDocName As String
    Dim stLinkCriteria As String
    DoCmd.OpenQuery "З_Удаление"
End Sub



Подскажите, пожалуйста, где я ошибся???
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787631
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005где я ошибся???Вы пытаетесь удалять поля. Тогда как удалять надо всю запись целиком. Да ещё и поле таблицы, которой вообще нет в списке источников данных запроса...
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787650
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

А как же удалить строки?
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787651
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaДа ещё и поле таблицы, которой вообще нет в списке источников данных запроса...

Это какое поле? Све поля вносились, изначально, через конструктор запроса.
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787655
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005Akina,

А как же удалить строки?
* вместо перечисления полей
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787669
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311,

не помогло
Код: vbnet
1.
2.
3.
4.
5.
DELETE [Оперативные карточки].*, [Оперативные карточки].Код
FROM (([Оперативные карточки] INNER JOIN Дело ON [Оперативные карточки].Код = Дело.[№ договора]) 
INNER JOIN [Крточка учета подчиненная] ON [Оперативные карточки].Код = [Крточка учета подчиненная].Код)
INNER JOIN [Оперативное опиание] ON [Оперативные карточки].Код = [Оперативное опиание].Договор
WHERE ((([Оперативные карточки].Код)=[Forms]![Данные]![Данные_подч1].[form].[код]));



так тоже не работает

Хотя если открыть таблицу [Оперативные карточки] и прямо в ней удалить строку, то удаляет во всех 4 таблицах.
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787670
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Именно сам запрос удалять не хочет, ну или не может -(
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39787678
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за помощь, особенно Ганов Александр , хороший пинок в нужном направлении ещё ни кому не вредил -)

А заработало вот с таким кодом
Код: vbnet
1.
2.
3.
DELETE [Оперативные карточки].*, [Оперативные карточки].Код
FROM [Оперативные карточки]
WHERE ((([Оперативные карточки].Код)=[Forms]![Данные]![Данные_подч1].[form].[код]));




Тема закрыта.
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39788039
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Currentdb.execute "Delete from [Оперативные карточки] where [Код]=" & Me![Данные_подч1].[form].[код]
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39788116
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko,

Это получается без запроса можно удалять?

Завтра попробую.
Спасибо!
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39788162
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005Это получается без запроса можно удалять?
А Delete , разве это не запрос на удаление???
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39788405
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ганов Александркак вариант можно удалить ключевую запись в главной таблице и если настроено свойство "каскадное удаление связных полей", то все 4 строки удалятся из связных таблиц. это "так себе" вариант, но как вариант имеет право на жизнь :-)

В результате ЭТОТ вариант и заработал, единственное потратил около 3-х часов что бы таблицы привести к общему количеству ключевых строк-)

Ещё раз спасибо
...
Рейтинг: 0 / 0
Как удалить записи в нескольких таблицах одной кнопкой
    #39788414
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Кн_Удал_запись_Click()
DoCmd.SetWarnings False
    Dim stDocName As String
    Dim stLinkCriteria As String
'    DoCmd.OpenQuery "З_Удаление"
CurrentDb.Execute "Delete from [Оперативные карточки] where [Код]=" & Me![Данные_подч1].[Form].[Код]
DoCmd.SetWarnings True
DoCmd.Close
End Sub



не не прокатило, ругается на ваш код

Код: vbnet
1.
CurrentDb.Execute "Delete from [Оперативные карточки] where [Код]=" & Me![Данные_подч1].[Form].[Код]
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как удалить записи в нескольких таблицах одной кнопкой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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