Я надеюсь, что кто-нибудь может помочь мне решить эту проблему.
Я использую Access в качестве клиентской системы со связанными таблицами с SQL Server Management Studio, используя ODB C. Это замедлило работу базы данных, поэтому я пытаюсь преобразовать запросы Access в хранимые процедуры в SSMS, а затем запустить их как сквозные запросы в Access. Пока это работает отлично, и запросы, которые я преобразовал, выполняются очень быстро.
Однако я преобразовал только те запросы, которые не требуют выбранных пользователем переменных в Access. Это те, с которыми у меня сейчас возникают проблемы.
Например, скажем, у меня есть простая таблица в SSMS с именем [Names], состоящая из [First Name], [Surname]
Я могу запустить следующую хранимую процедуру с именем [Search], чтобы вернуть все имена:
SELECT [First name], [Surname]
FROM [Names]
Я могу выполнить эту хранимую процедуру во внешнем интерфейсе Access как сквозной запрос, и она вернет все записей.
Однако в базе данных внешнего интерфейса Access у меня есть форма под названием [Search] с текстовым полем с именем «SearchFirstName». Когда пользователь вручную вводит «Энтони» в текстовое поле, я хотел бы, чтобы он взял значение из текстового поля и использовал его как часть хранимой процедуры для ограничения результатов следующим образом:
SELECT [First name], [Surname]
FROM [Names]
WHERE [First Name] = [Forms]![Search]![SearchFirstName]
* 1016 • Я искал помощи, но застрял. Я думаю, мне нужен Access, чтобы установить значение текстового поля в качестве параметра, который затем можно использовать в SSMS.
Путь, который я нашел, который может работать из другой статьи, приведен ниже, однако я не уверен, как / где мне нужно было бы это реализовать:
With CurrentDb.QueryDefs("qPass") .SQL = "exec SalesGeneralSearch " & strSearch Set Me.MyListBox.RowSource = .OpenRecordset End If
Если бы кто-нибудь мог помочь, я был бы очень благодарен
Спасибо