CARREGAR VALORES NULOS NO MSFLEXGRID
Boa tarde a todos.
Estou com um problema para carregar dados em um MSFLEXGRID, carrego tudo normalmente desde que não tenha nenhum valor nulo em nunhum dos campos do BD, caso contrário me dá uma mensagem de erro.
O código que eu uso para Carregar os dados é o seguinte:
[ô]Abre a conexão com o BD
Connect
[ô]Query
rs.Open [Ô]SELECT * from fornecedor where codfornecedor like [ô][Ô] & Text1.Text & [Ô]%[ô][Ô], CON, adOpenStatic, adLockOptimistic
Do While Not rs.EOF
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = rs.Fields(0).Value
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = rs.Fields(1).Value
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 2) = rs.Fields(2).Value
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.Rows = MSFlexGrid1.Rows - 1
rs.MoveNext
Loop
MSFlexGrid1.Enabled = True
[ô]Chama a função que nomeia as colunas
Call nomeiacoluna
[ô]chama a função para ajustar as colunas do grid ao texto
Call ajusta_grid
Se alguém souber como resolvo este problema, desde já agradeço.
Estou com um problema para carregar dados em um MSFLEXGRID, carrego tudo normalmente desde que não tenha nenhum valor nulo em nunhum dos campos do BD, caso contrário me dá uma mensagem de erro.
O código que eu uso para Carregar os dados é o seguinte:
[ô]Abre a conexão com o BD
Connect
[ô]Query
rs.Open [Ô]SELECT * from fornecedor where codfornecedor like [ô][Ô] & Text1.Text & [Ô]%[ô][Ô], CON, adOpenStatic, adLockOptimistic
Do While Not rs.EOF
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = rs.Fields(0).Value
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = rs.Fields(1).Value
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 2) = rs.Fields(2).Value
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.Rows = MSFlexGrid1.Rows - 1
rs.MoveNext
Loop
MSFlexGrid1.Enabled = True
[ô]Chama a função que nomeia as colunas
Call nomeiacoluna
[ô]chama a função para ajustar as colunas do grid ao texto
Call ajusta_grid
Se alguém souber como resolvo este problema, desde já agradeço.
eu verifico com o isnull : MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = iif(isnull(rs.Fields(0).Value)=true,[Ô][Ô],rs.Fields(0).Value), neste caso se for nulo ele ira colocar [Ô][Ô], caso tenha qq conteudo ira colocar o conteudo
OLHA SEM USAR O IFF VC PODERIA FAZER ISSO
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = rs.Fields(0).Value [txt-color=#0000f0]& [Ô][Ô][/txt-color]
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = rs.Fields(1).Value [txt-color=#0000f0]& [Ô][Ô][/txt-color]
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 2) = rs.Fields(2).Value [txt-color=#0000f0]& [Ô][Ô][/txt-color]
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.Rows = MSFlexGrid1.Rows - 1
REPARE A UNICA DIFERENÇA ESTA EM AZUL, TESTE E VEJA O RESULTADO
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = rs.Fields(0).Value [txt-color=#0000f0]& [Ô][Ô][/txt-color]
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = rs.Fields(1).Value [txt-color=#0000f0]& [Ô][Ô][/txt-color]
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 2) = rs.Fields(2).Value [txt-color=#0000f0]& [Ô][Ô][/txt-color]
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.Rows = MSFlexGrid1.Rows - 1
REPARE A UNICA DIFERENÇA ESTA EM AZUL, TESTE E VEJA O RESULTADO
desculpe eu não tinha reparado que o NILSON2 havia respondido, mas fica ai resposta também caso não entenda
Muito Obrigado.
Fiz como o Nilson e o Marcelo mencionaram e deu certo.
Valeu por mais uma duvida sanada.
Fiz como o Nilson e o Marcelo mencionaram e deu certo.
Valeu por mais uma duvida sanada.
Tópico encerrado , respostas não são mais permitidas