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
|
|
|
|
|
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
|
|
|
|
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") & "'") & ");"
|
|
|
|
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 ?
|
|
|
|
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...
|
|
|
|