2013-04-16 2 views
-1

Итак, у меня есть два оператора If и перегруженная функция, которая должна использоваться. Я не могу понять логику, как заставить это работать так, как я этого хочу. Чтобы было проще, я достал бессмыслицу вызова строки и всех из данных.If statement Логический флаг

If IsDBNull(zipcode) Then 
    CanBeAssigned(county,state,status) 
Else 
    If CanBeAssigned(zipcode, status) Then 
    ''LOTS OF CODE'' 
    else 
    ''tiny bit of code'' 
    end if 
End If  

Так это то, что я есть, и я знаю способ сделать это, что я хочу ... но это потребовало бы мне сдачи «» МНОГО CODE «» перед ELSE ... и что похоже способ слишком много.

В идеале, я хочу, чтобы первый IF проверял, является ли «ZipCode» Null ... если он использует> функцию CanBeAssigned (county, state, status), а затем выполняет «МНОГО КОДА, ХОТИТЕ ПОЧТАТЬ '' ...

... однако, если «ZipCode» не является NULL, тогда он использует CanBeAssigned (индекс zipcode, статус), а затем переходит к «ЛОТЫ КОДА, ЧТО Я НЕ ХОЧУ ПОСЛЕ'' .

+0

, какой язык вы используете? –

+0

Пожалуйста, добавьте тег языка. Может ли «много кода» быть реорганизован на новый метод? – NeplatnyUdaj

+0

Пожалуйста, отсканируйте код правильно, неясно, чего вы на самом деле хотите достичь с помощью своего кода из-за отсутствия отступа. Аналогично, ваше описание неясно. –

ответ

0
Dim Flag as boolean 

If IsDBNULL(zipcode) Then 
    Flag = CanBeAssigned(county,state,status) 
else 
    Flag = CanBeAssigned(zipcode,status) 
End If 

If Flag Then 
    "LOTS OF CODE" 
Else 
"tiny bit of code" 
End If 
+0

Пожалуйста, улучшите свой ответ; добавьте немного объяснения, кроме как «показ» кода – thaJeztah

1

Какой бы язык он ни был, логика очень проста. Питон сниппет будет:

if isDBNULL(ZipCode): 
    CanBeAssigned(county,state,status) 
else: 
    CanBeAssigned(Zipcode,status) 
#LOTS OF CODE 
+0

Это сработало бы, но я забыл второй ELSE. – MaylorTaylor

+0

Затем добавьте это 'много кода' в функцию и вызовите ее из любой точки, где бы вы ни хотели –

0

В соответствии с этим ....

В идеале, я хочу, чтобы первый IF, чтобы проверить, если 'ZipCode' является Null ... если это

он использует (состояние уезда, статус) функции CanBeAssigned, а затем делает то «» МНОГО код, который я не хочу, чтобы POST «» ...

... Howeve г, если «ZipCode» не то NULL он использует CanBeAssigned (почтовый индекс, статус), а затем продолжает делать the''LOTS OF код, который я не хочу, чтобы POST

блок ниже код делает именно что.

If IsDBNull(zipcode) Then 
    CanBeAssigned(county,state,status) 
Else 
    CanBeAssigned(zipcode, status) 
End If 
''LOTS OF CODE HERE''