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

Как VLOOKUP через несколько столбцов?

Excel не хорошо сформирован в JasperReports

Условное форматирование с использованием функции INDIRECT не выполняется с логическим значением AND или OR или с ячейками, содержащими формулы

VBA, ячейка goto с определенным значением (тип: дата)

Есть ли способ читать файл по одной строке за раз, используя другой разделитель, чем по умолчанию VBA (vbCr / vbCrLf)?

(Условие) в SUMPRODUCT Рабочий листФункция

Как я могу ссылаться на лист, который называется первой частью макроса?

VBA – лучший способ для увеличения в цикле

Динамическое управление лентой VBA

Создание динамического диапазона между двумя именованными диапазонами без VBA?

Сценарий Python (win32com, excel) падает при редактировании другой открытой книги. Является ли это ожидаемым поведением, могу ли я предотвратить это?

Excel VBA – передача данных между листами

Скопировать пасту с листа 1 на лист 2

Как я могу получить все значения отдельно в XML-файле, используя Linq для xml в c #

Как добавить атрибут каждого элемента 23

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