Estou percorrendo as linhas de um conjunto de registros e atribuindo os valores das minhas variáveis com base nos valores do campo na linha atual. Eu continuo recebendo um erro
Uso inválido de nulo
Ao depurar, descobri que o problema estava na linha a seguir
TurnoverPTD = rsPeriod.Fields(0)
Para corrigir isso, mudei para o seguinte
If rsPeriod.Fields(0) = Null Then
TurnoverPTD = 0
Else
TurnoverPTD = rsPeriod.Fields(0)
End If
No entanto, continuo recebendo o mesmo erro. Durante a depuração, segurar o cursor sobre a linha superior mostra rsPeriod.Fields(0) = Null
a dica de ferramenta, no entanto, não tenho certeza se isso é apenas uma indicação de que é isso que a linha de código diz.
De que outra forma posso verificar se há nulo e por que meu método não está funcionando?
Existe um método semelhante ao IsDBNull
que o mthod existe em VB.NET
.
O método IsNull
,, recebe um parâmetro ( rsPeriod.Fields(0)
) e retorna um valor booleano.
Você pode usar este método em seu If
extrato, conforme abaixo.
If IsNull(rsPeriod.Fields(0)) Then
TurnoverPTD = 0
Else
TurnoverPTD = rsPeriod.Fields(0)
End If
É melhor usar isso do que If x = Null
como no código, IsNull
é verificar se o valor é nulo ou não. Usar o operador = significa que ele tentará comparar o valor - mas você não pode comparar um valor com Nulo dessa maneira.
Portanto, ao comparar um RecordSet
campo, esta é a melhor maneira de fazê-lo.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras