используйте whereclause в условии if - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть 5 строковых параметров A, B, C, D, E, и я хочу использовать их как условие в выражении IF.

У меня также есть 5 локальных переменных, соответствующих параметрам

Проблема в том, что я не знаю, является ли какая-либо из них пустой строкой.Если это пустая строка, я не хочу, чтобы они использовались в условии if

Private Function XX(A As String, B As String, C As String, D As String, E As String) As Long

Dim AA As String
Dim BB As String
Dim CC As String
Dim DD As String
Dim EE As String

If A = AA && B = BB && C = CC & D = DD & E = EE Then
.....
End If

Я знаю, где это можно сделать в SQL, например:

Dim Whereclause As String
IF B is NULL Then
whereclause = " WHERE AA = " + A + "AND C = " + C + "AND D = " + 
D ....

Нокажется, я не могу поместить его в оператор IF, так как сам запрос является строкой.

Есть ли какой-либо способ использовать в условии IF?Мне не нужно подключать БД, я просто хочу проверить записи в листе Excel со строками, соответствующими всем параметру

Большое спасибо за помощь ~~

1 Ответ

0 голосов
/ 28 ноября 2018

вы можете использовать вспомогательную функцию

Function OkParameter(par As String, locVar As String) As Boolean
    OkParameter = IIf(par = "", True, par = locVar)
End Function

для включения в ваш код следующим образом:

Private Function XX(A As String, B As String, C As String, D As String, E As String) As Long

    Dim AA As String
    Dim BB As String
    Dim CC As String
    Dim DD As String
    Dim EE As String

    If OkParameter(A, AA) And OkParameter(B, BB) And OkParameter(C, CC) And OkParameter(D, DD) And OkParameter(E, EE) Then

    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...