ERRO AO CARREGAR GRID

JPAULO101 07/06/2011 15:24:48
#376084
BOA TARDE COLEGAS, DEPOIS DE FAZER UM ALTERAÇÃO NO MEU INSET INTO MAIS ACEITA VALORES NULOS NOS CAMPOS DATA/HORA, MAIS AGORA MEU GRID NÃO CARREGAR SE EXISTIR CAMPOS NULOS.
JPAULO101 07/06/2011 15:29:02
#376085
FUNÇÃO PARA CARREGAR O GRID

[th][/th]
Cabecalho
Sub ListarHistorico(Codigo As Long)
[ô]----------------------------------------------
[ô]Popular Grid com os historico de manutenções
[ô]----------------------------------------------
Dim rs As ADODB.Recordset, i As Integer
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open [Ô]SELECT Lancamento, Especificacao, Saida, Conclusao [Ô] & _
[Ô]FROM tblacessorio [Ô] & _
[Ô]WHERE codAcess=[Ô] & Codigo, con, adOpenForwardOnly, adLockReadOnly
If rs.EOF Then
Grid.Clear
Call FormatarGrid
Else
Call FormatarGrid
Grid.Rows = rs.RecordCount + 1
For i = 1 To rs.RecordCount
Grid.TextMatrix(i, 0) = rs.Fields([Ô]Lancamento[Ô])
Grid.TextMatrix(i, 1) = rs.Fields([Ô]Especificacao[Ô])
Grid.TextMatrix(i, 2) = rs.Fields([Ô]Saida[Ô])
Grid.TextMatrix(i, 3) = rs.Fields([Ô]Conclusao[Ô])

rs.MoveNext
Next i
End If
rs.Close
Set rs = Nothing
End Sub

[th][/th]
Cabecalho
Sub FormatarGrid()
[ô]----------------------------
[ô]Formatar Grid dos Acessórios
[ô]----------------------------
With Grid
[ô]Nome
.TextMatrix(0, 0) = [Ô]Lançamento[Ô]
.TextMatrix(0, 1) = [Ô]Especificação do Defeito[Ô]
.TextMatrix(0, 2) = [Ô]Saida[Ô]
.TextMatrix(0, 3) = [Ô]Conclusão[Ô]
[ô]Espaçamento
.ColWidth(0) = 1200
.ColWidth(1) = 3650
.ColWidth(2) = 1170
.ColWidth(3) = 1458
.Rows = 2
End With
End Sub
MARCELO.TREZE 07/06/2011 15:29:14
#376086
Resposta escolhida
mostra como vc carrega estes dados, poste o código, mas geralmente um & [Ô][Ô] resolve

exemplo

msflexgrid1.TextMatric(x,0) = RS!data [txt-color=#e80000]& [Ô][Ô][/txt-color]
MARCELO.TREZE 07/06/2011 15:41:21
#376087
como eu disse

faça desta forma:

Grid.TextMatrix(i, 0) = rs.Fields([Ô]Lancamento[Ô]) & [Ô][Ô]
Grid.TextMatrix(i, 1) = rs.Fields([Ô]Especificacao[Ô]) & [Ô][Ô]
Grid.TextMatrix(i, 2) = rs.Fields([Ô]Saida[Ô]) & [Ô][Ô]
Grid.TextMatrix(i, 3) = rs.Fields([Ô]Conclusao[Ô]) & [Ô][Ô]
JPAULO101 07/06/2011 16:17:33
#376093
GRANDE MARCELO AGORA SIM, MAIS MIM DEPAREI COM UM OUTRO ERRO, QUANDO PESSO PARA ALTERAR DA UM ERRO TIPO DE DADOS IMCOPATÍVEL NA EXPRESSÃO DE CRITéRIO. CÓDIGO QUE USO PARA ALTERAR

Private Sub cmdAlDep_Click()
If AltDep = True Then
[ô]------------------------------
[ô]Altera equipamento selecionado
[ô]------------------------------
On Error GoTo erro
Dim Tipo As String

With Grid
Tipo = .TextMatrix(.RowSel, 1)
If Tipo <> [Ô][Ô] Then
If MsgBox([Ô]Confirma a alteração do dependente?[Ô], vbQuestion + vbYesNo + vbDefaultButton2) = vbNo Then Exit Sub
con.BeginTrans
con.Execute [Ô]UPDATE tblacessorio [Ô] & _
[Ô]SET Lancamento=[ô][Ô] & Format(atxtLançamento, [Ô]mm/dd/yyyy[Ô]) & [Ô][ô], Especificacao=[ô][Ô] & cboEspecificaçao & [Ô][ô], Saida=[ô][Ô] & Format(atxtSaida, [Ô]mm/dd/yyyy[Ô]) & [Ô][ô], Conclusao=[ô][Ô] & cboConclusao & [Ô][ô] [Ô] & _
[Ô]WHERE Especificacao=[ô][Ô] & Tipo & [Ô][ô];[Ô]
con.CommitTrans

Call LimparDependente
Call ListarDependente(CLng(atxtCodigo))
MsgBox [Ô]Dados alterado com sucesso![Ô]
AltDep = False
End If
End With
Else
MsgBox [Ô]Para alterar os dados, dê um duplo-clique sobre o registro e faça as alterações.[Ô], vbInformation
End If
Exit Sub

erro:
con.RollbackTrans
MsgBox [Ô]Ocorreu um erro ao alterar o registro[Ô] & vbCrLf & Err.Description, vbExclamation, [Ô]Erro[Ô]

End Sub


ABRAÇOS
MARCELO.TREZE 07/06/2011 16:51:49
#376099
ai agente volta lá em um outro tópico seu para cada tipo de dado uma regra veja

campos do tipo data/hora usa-se o (#) assim #mm/dd/yyyy#

do tipo texto usa-se a aspas simples([ô]) assim [ô]JPAULO[ô]

do tipo numérico usa-se sem aspas id = 1

veja como ficará sua query

con.Execute [Ô]UPDATE tblacessorio [Ô] & _
[Ô]SET Lancamento=[ô][Ô] & IIf(atxtLançamento.Text = [Ô][Ô], [Ô]NULL[Ô], [Ô]#[Ô] & Format(atxtLançamento, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]) & [Ô], Especificacao=[ô][Ô] & cboEspecificaçao & [Ô][ô], Saida=[Ô] & IIf(aTxtSaida.Text = [Ô][Ô], [Ô]NULL[Ô], [Ô]#[Ô] & Format(atxtSaida, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]) & [Ô], Conclusao=[ô][Ô] & cboConclusao & [Ô][ô] [Ô] & _
[Ô]WHERE Especificacao=[ô][Ô] & Tipo & [Ô][ô];[Ô]


siga a regrinha acima e veja se funciona.
JPAULO101 07/06/2011 19:32:57
#376108
MARCELO FIZ A ALTERAÇÃO CONFORME SEU EXEMPLO, MAIS MOSTRA O SEGUINTE ERRO.
Tópico encerrado , respostas não são mais permitidas