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

Comando Insert No Vb


Alexandre Janot

Pergunta

Bom dia pessoal estou com um problema não sei o que é. Estou utilizando VBA do excel. Não sei se é o Banco que é muito grande. o Código é assim :

conexao

' ele conecta a um banco mysql tudo certo

Set txtob = CreateObject("Scripting.FileSystemObject")

Set txtop = txtob.opentextfile("D:\", ForReading, False)

' tudo certo

Do While txtop.AtEndOfStream <> True

variavel = txtop.ReadLine

B = Mid(variavel, 1, 5) 'Pega o CODGERENCIANEGOCIOS...

'são 65 variáveis que ele lê' C,D,E.....

A = "COD_GERENCIA_NEGOCIOS.."

' A é uma variável string que armazena os 65 campos de um banco mysql

conexao.Execute ("Insert into dados_anterior ( " & A & " ) values('aqui as 63 variáveis')

Loop

conexao.close

( detalhes a linha que eu declaro A e a linha conexao .execute são muito grandes portanto as letras embaralham na tela a medida que rola a barra, não sei se pode ser isso. se for como eu divido uma instrução mysql insert?)

Bom ele executa o código por mais ou menos um minuto e preenche o banco de dados normalmente não sei o que é poq ele executa o comando sql ... só que passado mais ou menos um minuto depois de preenchido boa parte do banco aparece a seguinte mensage

Erro em tempo de execução ' - 2147217900(80040e14)':[Mysql][ODBC 3.51 Driver][mysqld-4.1.7-nt] You have an error in you SQL syntax; check the manual that corresponds to your MYSQL server version for the right syntax to use near 'S PRODUCOES ARTISTICAS LTDA ' , 06532197000196',0000009897206' at line 1

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Bom dia pessoal. estou utilizando VBA para excel e quero utilizar o comando insert pois tenho um banco de dados em MYSQL algém poderia me ajudar com o sguinte problema. O vba quando a linha se torna extensa demais embaralha as letras e não sei ccomo subidividir o código na tela do VBA dentro de uma instrução SQL portanto tenho 70 campos para preencher em um banco e ao utilizar o comando insert fica muito longo a instrução e o VBA não aceita em uma linha. O que devo fazer??? Aqui está um exemplo menor porém preciso de 70 campos ... o que faço?

conexao.Execute ("Insert into dados_anterior (COD_GERENCIA_NEGOCIOS,COD_LOCALIDADE ,MEIO_ACESSO,NUM_CONJUNTA,SEQ_UTILIZACAO_TERMINAL,DT_CONTA,COD_MODALIDADE_SERVICO,COD_SERVICO,COD_RESULTADO,DT_CONTESTACAO,DT_RESULTADO,VALOR_SERVICO_INT) values('" & CODGERENCIANEGOCIOS & "','" & CODLOCALIDADE & "','" & MEIOACESSO & "','" & NUMCONJUNTA & "','" & SEQUTILIZACAOTERMINAL & "','" & TDTCONTA & "','" & CODMODALIDADESERVICO & "','" & CODSERVICO & "','" & CODRESULTADO & "','" & TDTCONTESTACAO & "','" & TDTRESULTADO & "','" & VALORSERVICOINT & "')")

Link para o comentário
Compartilhar em outros sites

  • 0

O erro pode ser pela existência do ' (apóstrofo) em um dos nomes (pelo menos foi o que me ocorreu pelo nome incompleto mostrado na mensagem de erro). Se for este o caso, você pode utilizar a função Replace() para dobrar os apóstrofos dos nomes (o que é a maneira válida de se incluir tais nomes em uma instrução SQL).

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,2k
    • Posts
      652k
×
×
  • Criar Novo...