USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Erro no Insert Into quando campo = ""
JOM
BOM JESUS DA LAPA
BA - BRASIL
ENUNCIADA !
Postada em 30/01/2008 22:01 hs            
abaixo meu codigo:
 
With cmd
        .ActiveConnection = cnn_Cheques
        .CommandType = adCmdText
        .CommandText = " insert into conta " & _
        "(cheque, credito, d_credito, debito, d_debito, cpf, nome, municipio )values ('" & _
        Text_cheque.Text & "','" & _
        Text_credito & "','" & _
        text_data_credito & "','" & _
        Text_debito & "','" & _
        Text_data_debito & "','" & _
        Text_cpf & "','" & _
        Text_nome & "','" & _
        Combo_municipio & "');"
        .Execute
        End With
 
ele funciona perfeitamente caso estejam todos os campos preenchidos, mas se um dos campos DATA ou VALOR estiver "" dá erro, já tentei todos os tipos de dicas como:
 
iif(text_credito = "",null,text_credito) ' Não dá certo
 
iif(isnull(text_credito), "",text_credito) ' Não funciona
 
caso coloque
 
iif(text_credito = "","0,00",text_credito)  'este da certo e resolveria meu problema, mas acontece que com os campos data não tenho esta saida
 
eles estão com a propriedade REQUERIDO = NÃO, ou seja, acho que está correto para aceitar valor Nulo ou branco mas ... problema problema problema
 
   
Tiranossauro
DOIS IRMÃOS
RS - BRASIL
ENUNCIADA !
Postada em 31/01/2008 00:31 hs            
Se for access precisa ver se 'permitir comprimento zero' está marcado sim. E na data precisa enviar null quando não houver data
   
Tiranossauro
DOIS IRMÃOS
RS - BRASIL
ENUNCIADA !
Postada em 31/01/2008 00:35 hs            
Para data:
 
INSERT INTO CHEQUE (D_CREDITO) VALUES (" & IIF(ISNULL(CAMPODATA) = TRUE, "Null", "'" & format(campodata, "Medium Date") & "'") &   ");"
 
 
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 31/01/2008 10:17 hs            
vc também pode tratar para qdo o campo vier vazio omitir o campo no INSERT INTO
   
JOM
BOM JESUS DA LAPA
BA - BRASIL
ENUNCIADA !
Postada em 01/02/2008 00:45 hs            
Ghost, como faço isto que vc sugeriu ?
   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 01/02/2008 18:02 hs            
JOM, ficaria +- assim:
 
Private Sub Command2_Click()

SQL_VAL = "INSERT INTO conta (cheque, credito, debito, cpf, nome, municipio"
SQL_INS = "VALUES ('" & Text_cheque.Text & "','" & Text_credito & _
          "','" & Text_debito & "','" & Text_cpf & "','" & Text_nome & "','" & Combo_municipio & "'"
 
If Trim(text_data_credito) <> "" Then
  SQL_VAL = SQL_VAL & ", d_credito"
  SQL_INS = SQL_INS & "','" & text_data_credito
End If
 
If Trim(text_data_debito) <> "" Then
  SQL_VAL = SQL_VAL & ", d_debito"
  SQL_INS = SQL_INS & "','" & text_data_debito
End If

SQL_VAL = SQL_VAL & ")"
If Right(SQL_INS, 1) <> "'" Then
    SQL_INS = SQL_INS & "')"
Else
    SQL_INS = SQL_INS & ")"
End If
 
SQL_VAL = SQL_VAL & " " & SQL_INS
Debug.Print SQL_VAL
End Sub
 
Veja se dá certo ae.... confira a sintaxe...
   
Página(s): 1/2      PRÓXIMA »

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página