vba динамический поиск хранимой процедуры mysql

У меня есть хранимая процедура, которая извлекает записи из таблицы MySQL, учитывая входные параметры. Например, кто-то вводит Шаньдун как unit_state и Китай в качестве p_country, и процедура приведет к тому, что все компании в этой области.

Я вызываю эту хранимую процедуру в Excel через VBA. У меня есть электронная таблица, в которой пользователь может ввести любой из нескольких критериев поиска, нажмите кнопку поиска обновлений, и результаты таблицы будут заполнены в таблице на листе.

Хранимая процедура работает корректно в 100% случаев. Мой vba работает время от времени, но он спорадичен, и я пытаюсь понять, почему он будет только выборочно обновляться при нажатии кнопки.

VBA ниже:

Private Sub RefineryUnitSearchRefresh_Click() Dim wsSearch As WorkbookConnection Dim company_name As String 'Declare the company_name as string Dim plant_name As String 'Declare the plant_name as string Dim world_region As String 'Declare the world_region as string Dim p_country As String 'Declare the p_country as string Dim unit_state As String 'Declare the unit_state as string Dim phys_city As String 'Declare the phys_city as string Dim unit_cd As String 'Declare the unit_cd as string company_name = Worksheets("Searches").Range("B2").Value 'Pass value from B2 to company_name variable plant_name = Worksheets("Searches").Range("B3").Value 'Pass value from B3 to plant_name variable world_region = Worksheets("Searches").Range("B4").Value 'Pass value from B4 to world_region variable p_country = Worksheets("Searches").Range("B5").Value 'Pass value from B5 to p_country variable unit_state = Worksheets("Searches").Range("B6").Value 'Pass value from B6 to unit_state variable phys_city = Worksheets("Searches").Range("B7").Value 'Pass value from B7 to phys_city variable unit_cd = Worksheets("Searches").Range("B8").Value 'Pass value from B8 to unit_cd variable 'Pass the Parameters values to the Stored Procedure used in the Data Connection With ActiveWorkbook.Connections("refinery_unit_search").ODBCConnection '.CommandText = "Call warehouse.refinery_uni_search '" & company_name & "','" & plant_name & "','" & world_region & "','" & p_country & "','" & unit_state & "','" & phys_city & "','" & unit_cd & "'" .CommandText = "CALL `warehouse`.`refinery_unit_search`('" & company_name & "','" & plant_name & "','" & world_region & "','" & p_country & "','" & unit_state & "','" & phys_city & "','" & unit_cd & "');" 'CALL `warehouse`.`refinery_unit_search`('','','','','','',''); ActiveWorkbook.Connections("refinery_unit_search").Refresh End With End Sub 

Я довольно новичок в VBA, если кто-нибудь может помочь мне понять, почему он работает только некоторое время, я был бы очень признателен. Благодаря!

Interesting Posts

Добавление двух чисел с функцией

Как сделать снимок экрана с веб-страницы и загрузить как excel ASP.NET CS

Excel извлекает жирный текст в тексте

Не показывать фоновое изображение при экспорте в Excel в SSRS

постройте график, используя разные файлы Excel

Вывод MySQL в CSV / Excel с помощью PHP

Как экспортировать только один рабочий лист в Excel в один файл htm?

Ошибка времени выполнения «1004» при вставке

Excel VBA: найти, сопоставить и скопировать по нескольким переменным

Измените первые две буквы в столбцах Excel, используя VBA

VBA – Автоматическая проверка / снятие отметки времени выполнения скрипта microsoft

Вычитание времени, взятого из .csv в python

Получать вывод столбца из выбора пользователей из InputBox

Почему имя поля PivotTable считается недопустимым и / или мои данные рассматриваются как не упорядоченные как список с помеченными столбцами?

Excel: Условно форматирование каждой ячейки на основе ее собственного значения

Давайте будем гением компьютера.