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

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

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

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

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


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

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


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


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

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

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

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

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

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

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

Спасибо, посмотрю, попробую.
Ещё раз спасибо за помощь!
...
Рейтинг: 0 / 0
18.03.2019, 10:41
    #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
18.03.2019, 11:31
    #39787631
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить записи в нескольких таблицах одной кнопкой
Wawan2005где я ошибся???Вы пытаетесь удалять поля. Тогда как удалять надо всю запись целиком. Да ещё и поле таблицы, которой вообще нет в списке источников данных запроса...
...
Рейтинг: 0 / 0
18.03.2019, 11:51
    #39787650
Wawan2005
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить записи в нескольких таблицах одной кнопкой
Akina,

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

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

А как же удалить строки?
* вместо перечисления полей
...
Рейтинг: 0 / 0
18.03.2019, 12:17
    #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
18.03.2019, 12:17
    #39787670
Wawan2005
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить записи в нескольких таблицах одной кнопкой
Именно сам запрос удалять не хочет, ну или не может -(
...
Рейтинг: 0 / 0
18.03.2019, 12:26
    #39787678
Wawan2005
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как удалить записи в нескольких таблицах одной кнопкой
Всем спасибо за помощь, особенно Ганов Александр , хороший пинок в нужном направлении ещё ни кому не вредил -)

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




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

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

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

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

Ещё раз спасибо
...
Рейтинг: 0 / 0
19.03.2019, 13:50
    #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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как удалить записи в нескольких таблицах одной кнопкой / 25 сообщений из 37, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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