Consulta no Access: uso inválido de nulo

Escrito por jaime avelar | Traduzido por bruno charamba
Consulta no Access: uso inválido de nulo
Conserte o erro de valor nulo no Access usando o VBA (black binary numbers image by .shock from Fotolia.com)

Saber como lidar com valores nulos quando se está lendo um conjunto de registros pode fazê-lo economizar tempo ao desenvolver um aplicativo de banco de dados. O Microsoft Office Access é um sistema de banco de dados relacional que está incluso na suíte Microsoft Office, já o Visual Basic for Applications, ou VBA, é utilizado no Access para automatizar tarefas de rotina. Uma consulta é usada para recuperar dados de uma tabela do banco de dados e o retorno de um valor nulo representa que a variável consultada não possui um valor. Você receberá uma mensagem de erro "Invalid Use of Null" (Uso inválido de nulo) quando tentar atribuir um valor nulo para uma variável.

Instruções

  1. 1

    Execute o Microsoft Office Access e selecione a opção "Banco de dados em branco", clique em "Criar". Em seguida, clique em "Ferramentas de banco de dados" e em "Visual Basic". Clique no menu "Inserir" e selecione "Módulo".

  2. 2

    Digite o seguinte para criar uma nova sub-rotina:

    Private Sub invalidUseOfNULL()

    Pressione "Enter".

  3. 3

    Digite o seguinte para declarar suas variáveis:

    Dim strSQL As String Dim rst As Recordset Dim dbs As Database Dim readNull As String Set dbs = CurrentDb

  4. 4

    Digite o seguinte para criar uma nova tabela:

    sQLString = "CREATE TABLE nullValTbl (city TEXT, state TEXT)" DoCmd.SetWarnings False DoCmd.RunSQL (sQLString)

  5. 5

    Digite o seguinte para inserir três registros com valores nulos:

    strSQL = "INSERT INTO nullValTbl VALUES(NULL, 'TX')" DoCmd.RunSQL (strSQL) strSQL = "INSERT INTO nullValTbl VALUES('DALLAS','TX')" DoCmd.RunSQL (strSQL) strSQL = "INSERT INTO nullValTbl VALUES('LOS ANGELES','CA')" DoCmd.RunSQL (strSQL)

  6. 6

    Digite o seguinte para consultar a nova tabela usando registros:

    Set rst = dbs.OpenRecordset("SELECT nullValTbl.* FROM nullValTbl") rst.MoveFirst

  7. 7

    Digite o seguinte para percorrer o campo "city" (cidade) e exibir os resultados na janela imediata. O loop inclui uma instrução "if" para verificar se o valor dos registros são "nulos", evitando o aparecimento da mensagem de erro "uso inválido de nulo".

    Do While Not rst.EOF If IsNull(rst.Fields("city").Value) Then readNull = "" Else readNull = rst.Fields("city").Value End If Debug.Print readNull rst.MoveNext Loop

  8. 8

    Digite o seguinte para liberar as variáveis da memória:

    rst.Close dbs.Close

    Pressione "F5" para rodar a sub-rotina.

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível