обновление записи таблицы1 из записей таблицы2

ramil9209
Дата: 14.12.2015 21:25:12
Здравствуйте, кто может помочь с таким вопросом? Access 2007,2010. Нужно написать запрос на обновление записи таблицы1 из записей таблицы2. Имеется таблица "Билет" с полями рейс, код_билета и таблица "Рейс" с полями номер_рейса, кол_мест, кол_свободных_мест. Они связаны Билет.рейс = Рейс.номер_рейса.
Update Рейс Set Рейс.кол_свободных_мест = [Рейс].[Количество_мест] - (Select Count(Билет.код_билета) from Билет Where Билет.рейс = Рейс.номер_рейса);
Вот это нужно сделать в Access, не получается потому что Access в запросе типа Обновление не поддерживает подзапрос с выборкой. Можно использовать DCount функцию, но не знаю как правильно ее заюзать. Кто может помочь?спасибо
ramil9209
Дата: 14.12.2015 22:29:56
Спасибо, дорогие форумчане разобрался сам. Сделал так написал запрос :
UPDATE Рейс INNER JOIN Билет ON Рейс.Номер_рейса = Билет.Рейс SET Рейс.Количество_свободных_мест = Рейс.Количество_мест - CountSQL(Билет.Рейс);

где CountSQL(Билет.Рейс) функция в Модуле

Public Function CountSQL(Reis) As Integer

Dim CountSelectSQL As Integer
Dim CN As ADODB.Connection

Dim Rs As ADODB.Recordset
Set CN = CurrentProject.Connection
Set Rs = New ADODB.Recordset
With Rs
.Source = "SELECT * FROM Áèëåò Where Áèëåò.Ðåéñ = " & Reis
.ActiveConnection = CN
.CursorType = adOpenKeyset
.Open
End With
CountSelectSQL = Rs.RecordCount
Set Rs = Nothing
Set CN = Nothing
CountSQL = CountSelectSQL
End Function