Как использовать вложенный запрос для обновления значения в другой таблице? - PullRequest
0 голосов
/ 29 мая 2019

У меня есть таблица (TablevVariables), в которой хранится дата последнего обновления файла, последняя дата импорта журнала и т. Д., В которой в основном хранятся значения, чтобы избежать повторного импорта данных, если инструмент запускается несколько раздень.

Таким образом, каждый день журналы будут добавляться в таблицу архива журналов, которая будет использоваться позже для анализа других исторических данных.Затем обновите TableVariables.Keyvalue=<latest date of the log file>.

Шаблон обновления:

UPDATE my_table SET my_column='new value' WHERE something='some value';

Мой запрос на обновление:

UPDATE TablevVariables SET [TablevVariables].KeyValue =
    (SELECT Max([xxxx_Archived_Log].[年月日]) FROM xxxx_Archived_Log)
WHERE [TablevVariables].KeyName="xxxx_Archived_Log";

Когда я пытаюсь выполнить этот запрос, доступ выдает ошибкучто «Операция должна использовать обновляемый запрос».

1 Ответ

0 голосов
/ 29 мая 2019

В ожидании руководства я обошел эту проблему.Присвоили значение переменной и затем передали в обычном запросе.

txtSQLcmd = "SELECT Max([年月日]) FROM xxxx_Archived_Log;"
dtDateValue = DateValue(FetchAValueFromTable(txtSQLcmd))
txtSQLcmd = "UPDATE TablevVariables SET [TablevVariables].KeyValue = #" & dtDateValue & "# WHERE [TablevVariables].KeyName='xxxx_Archived_Log';"
ExecuteSQLcmd (txtSQLcmd)

Function FetchAValueFromTable(ByVal strSQL As String) As String
Dim cnn1 As ADODB.Connection
Set cnn1 = CurrentProject.Connection
Dim myRecordSet As New ADODB.Recordset
myRecordSet.ActiveConnection = cnn1
myRecordSet.CursorType = adOpenDynamic
myRecordSet.LockType = adLockOptimistic
myRecordSet.Open strSQL
FetchAValueFromTable = myRecordSet.Fields(0).Value
myRecordSet.Close
Set myRecordSet = Nothing
Set cnn1 = Nothing
End Function

Function ExecuteSQLcmd(ByVal strSQL As String)
   DoCmd.RunSQL strSQL
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...