Ir para conteúdo
Fórum Script Brasil
  • 0

Insert Into


alepe

Pergunta

Ao mandar incluir as informações no BD dá erro Run time error '-21472117900(80040e14)':

Error de sintaxe na sequencia de caractere na expressão de consulta "",S)' .

rs3.Open "insert into relcomanda(codigocomanda,nomedaloja,datadacomanda,vrcomanda,desconto,vrtotaldesc,defeito,impresso) values(codigo,nomeloja,datacom,total,txtdesc.text,txttotdesc.txt,"",S)", cn, adOpenDynamic, adLockOptimistic

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

*Não* adianta colocar os nomes das variáveis dentro de uma string, pois eles serão interpretados literalmente. Você tem que colocar do lado de fora, concatenando com &. Exemplo:

sql = "INSERT INTO relcomanda (codigocomanda, nomedaloja, datadacomanda, vrcomanda, desconto, vrtotaldesc, defeito, impresso) VALUES (" & codigo & ", '" & nomeloja & "', DateValue('" & datacom & "'), " & total & ", " & txtdesc.txt & ", " & txttotdesc.txt & ", '', " & S
cn.Execute sql

Note que você também tem que colocar ' (aspa simples) para campos texto, DateValue() para campos data e para campos numéricos você tem que alterar a vírgula por ponto, se for o caso. Não sei o que é o tal "S" ali no final, e se os tipos dos seus campos são exatamente os que coloquei ali em cima. Por isso, faça o teste e ajuste conforme o caso.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Ok.. Fiz o Insert mas não deu para testar pois o mesmo diz que o Objeto não está aberto ou inválido.

Após a impressão ele deve incluir em uma nova tabela os dados que servirão para um relatório sintético.

Faço a abertura do rs3 no Form Load declarção no General

A variavél S é informando no Bd que a comanda foi impressa.

E defeito nesse caso é vazia.

' fim de impressão
End If
Printer.EndDoc
rs3.Open "insert into relcomanda(codigocomanda,nomedaloja,datadacomanda,vrcomanda,desconto,vrtotaldesc,defeito,impresso) VALUES ('& codigo & ', '" & nomeloja & "', DateValue('" & datacom & "'), " & total & ", " & txtdesc.Text & ", " & txttotdesc.Text & ", '', " '&S&'"), cn, adOpenDynamic, adLockOptimistic

HELP...

Link para o comentário
Compartilhar em outros sites

  • 0

Sim está aberto segue o código...

'Objetos para trabalhar com o BD e a tabela, respectivamente
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim rs3 As New ADODB.Recordset
Dim nomeloja As String
Dim datacom As Date
Dim total As Double
Dim total1 As Double
Dim soma As Double
Dim soma1 As Double
Private Lista As ListItem
Private Lista1 As ListItem
Private contapagina As Integer

Private Sub cmdalteracao_Click()
    frmaltcomanda.Show vbModal
End Sub

Private Sub cmdsair_Click()
Dim vmensagem As String

vmensagem = "Encerrado Processado - Saindo"
MsgBox vmensagem, vbInformation, "Encerrado Processo"
cn.Close
Set cn = Nothing

Unload frmcomandas

End Sub

Private Sub Form_Load()
    'Abre o banco de dados
   'cn.Close
   cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=fabrica.mdb"
    'Abre a tabela
   rs.CursorLocation = adUseClient
   rs1.CursorLocation = adUseClient
   rs2.CursorLocation = adUseClient
   rs3.CursorLocation = adUseClient
End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

Run time error

"-2147217900(80040e14)'

Numero de valores de consulta e campos de destino não coincidem.

Pergunta: Se as consulta vem de datgrid e datalist relacionei elas no value e os campos do bd não estou utilizando o de autonumeração é obrigatório colocar todos ?

SQL = "insert into relcomanda(codigocomanda,nomedaloja,datadacomanda,vrcomanda,desconto,vrtotaldesc,defeito,impresso) VALUES ('& lstmostra.SelectedItem & ', '" & nomeloja & "', DateValue('" & datacom & "'), " & total & ", " & txtdesc.Text & ", " & txttotdesc.Text & ", '0 ' , ' 1' "
cn.Execute SQL

Link para o comentário
Compartilhar em outros sites

  • 0
Pergunta: Se as consulta vem de datgrid e datalist relacionei elas no value e os campos do bd não estou utilizando o de autonumeração é obrigatório colocar todos ?

Não, você só coloca os que você vai preencher. Os de autonumeração *não* devem aparecer nessa lista de campos.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...