Я работаю над БД доступа, которые имеют связанную с ODBC таблицу SQL Server и локальную таблицу, и у меня есть следующий скрипт tsql (как скрипт VB) в Access DB. Мне интересно, может ли запрос tsql состоять из одной связанной таблицы и одной локальной таблицы Access, а не из связанных таблиц. Я знаю, что SQL Server ничего не знает о моих локальных данных, но мне просто интересно, может ли эта кодировка работать или нет. Если да, как следует изменить следующие коды? Если нет, значит, мне нужно сначала перенести локальную таблицу на SQL Server? Цените, если кто-то может посоветовать. Большое спасибо.Возможно, для сквозного запроса T-SQL в Access для включения локальной таблицы доступа?
Следующий раздел пытается обновить связанную таблицу из локальной таблицы.
qryd.SQL = "
UPDATE dbo.linked_table
SET dbo.linked_table.field = '" & [local_access_table]![access_field] & "'
FROM dbo.linked_table
INNER JOIN " & [local_access_table] & "
ON ('" & [local_access_table]![access_field] & "' = dbo.linked_table.field)
WHERE dbo.linked_table.field = 'value'
"
ИЛИ наоборот, в этом разделе ниже предлагается обновить локальную таблицу из связанной таблицы.
qryd.SQL = "
UPDATE " & [local_access_table] & "
SET '" & [local_access_table]![access_field] & "' = dbo.linked_table.field
FROM " & [local_access_table] & "
INNER JOIN dbo.linked_table
ON (dbo.linked_table.field = '" & [local_access_table]![access_field] & "')
WHERE '" & [local_access_table]![access_field] & "' = 'value'
"
Возможно, мое отношение слишком сильно зависит от доступа, поэтому у меня есть другой подобный вопрос. В Access запрос выбора (созданный в локальном доступе) может быть легко включен в другой запрос Access, мне интересно, можно ли применить эту концепцию к запросу tsql? Возьмите это в качестве примера.
qryd.SQL = "
UPDATE dbo.linked_table
SET dbo.linked_table.field = '" & [local_access_query]![query_field] & "'
FROM dbo.linked_table
INNER JOIN " & [local_access_query] & "
ON ('" & [local_access_query]![query_field] & "' = dbo.linked_table.field)
WHERE dbo.linked_table.field = 'value'
"
Большое спасибо!
Прежде всего, знаете ли вы, что «T-SQL» («Transact-SQL») является диалектом SQL, который работает на Microsoft SQL Server, «Access SQL» - это диалект, который использует механизм доступа к базе данных, и что Они не одинаковы? –
Привет @GordThompson, спасибо за комментарий и помощь. Да, я знаю, что T-SQL должен запускаться на SQL Server и отличается от Access SQL. Хотя у меня есть некоторый базовый опыт в Access в течение нескольких лет, но я совершенно не знаком с T-SQL, SQL Server и VB, поэтому я не знаю, сколько они могут работать в Access, когда T-SQL закодирован с помощью VB. Благодарю. – Will
Что вы подразумеваете под: «У меня есть следующий скрипт tsql (как скрипт VB) в Access DB»? Хотя связанная база программирования, Access VBA обрабатывается иначе, чем VB или VB-скрипт. Например, код обычно запускается через объекты Access (формы, запросы, отчеты), а не напрямую запускается через консоль. Является ли TSQL внешним и называется Access? Или это код в модуле доступа VBA? Или за форму или отчет? – Parfait