Я создаю инструмент, где пользователи могут запрашивать ODBC через Excel.Мне нужна функция, которая будет смотреть на столбец идентификаторов элементов, которые вставил пользователь, а затем создать текстовую строку, которая может быть использована в Sql-части VBA.Количество идентификаторов предметов может варьироваться.
Используя аналогичную функцию (не созданную мной), я могу ссылаться на одну ячейку и вставлять 'и, где это необходимо, но я не могу заставить это работать для нескольких ячеек в одном столбце.
'Вот код, который я использовал для существующей функции:
Function CreateSQLAndQry(field_input As String, input_string As String) As String
cleaned_string = Replace(input_string, " ", "")
Dim xArray() As String
xArray() = Split(cleaned_string, ",")
Dim lenArray As Integer
lenArray = UBound(xArray())
Dim new_string As String
new_string = ""
For I = 0 To lenArray
xArray(I) = "'" & xArray(I) & "'"
new_string = xArray(I) & "," & new_string
Next
If input_string = "" Then
new_string = ""
Else: new_string = Left(new_string, Len(new_string) - 1)
End If
If input_string = "" Then
new_qry = ""
Else: new_qry = " AND " & field_input & " IN (" & new_string & ") "
End If
Если столбец данных должен был выглядеть следующим образом:
test1 test2
Мне нужно, чтобы вывод выглядел так:
in ('test2', 'test1')