Notifications
Clear all

Erro de sintaxe: Inserção de dados no SQL SERVER via VBA

4 Posts
2 Usuários
0 Likes
1,563 Visualizações
(@heliofaria)
Posts: 50
Trusted Member
Topic starter
 

Olá pessoal, estou criando uma rotina de inserção de alguns dados numa tabela dentro do SQL SERVER, a partir do Excel, e estou com um problema ( que acredito ser de sintaxe do código).
Quando mando executar o código, é gerada o erro: " O Comando de texto não foi definido para o objeto de comando". Ao mandar depurar, o erro está no código:

Rst.Open SrtRst, Cnx

.
Alguem poderia me ajudar com isso?

Sub Export_to_SQL()

'Declaração das Variáveis de conexão com o banco de dados
Dim Cnx As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim StrCnx, StrRst As String
Dim Contador As Integer
Dim Linha_Entrada As Integer
Dim SrtRst As String


StrCnx = "Provider=SQLOLEDB;Data Source=nb-bhn-631;Initial Catalog=Banco_Dados_HFaria;Integrated Security=SSPI;"

Cnx.Open StrCnx
Linha_Entrada = 2

Do While Planilha2.Range("A" & Linha_Entrada) <> ""

REPRESENTANTE = Planilha2.Range("A" & Linha_Entrada)
COMISSAO = Planilha2.Range("B" & Linha_Entrada)


StrRst = "INSERT INTO tab_Cad_Rep(REPRESENTANTE,COMISSAO) VALUES('" & REPRESENTANTE & "'" & "," & "'" & COMISSAO & "'" & ")"

Rst.Open SrtRst, Cnx

Linha_Entrada = Linha_Entrada + 1

Loop


End Sub
 
Postado : 27/08/2018 7:35 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

HelioFaria,

Boa noite!

Tente assim:

Sub Export_to_SQL()

'Declaração das Variáveis de conexão com o banco de dados
Dim Cnx As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim StrCnx As String, StrRst As String
Dim Contador As Integer
Dim Linha_Entrada As Integer
Dim SrtRst As String


StrCnx = "Provider=SQLOLEDB;Data Source=nb-bhn-631;Initial Catalog=Banco_Dados_HFaria;Integrated Security=SSPI;"

Cnx.Open StrCnx
Linha_Entrada = 2

Do While Planilha2.Range("A" & Linha_Entrada) <> ""

REPRESENTANTE = Planilha2.Range("A" & Linha_Entrada)
COMISSAO = Planilha2.Range("B" & Linha_Entrada)

Cnx.CommandTimeOut = 0
StrRst = "INSERT INTO tab_Cad_Rep(REPRESENTANTE,COMISSAO) VALUES('" & REPRESENTANTE & "'" & "," & "'" & COMISSAO & "'" & ")"

Set Rst = Cnx.Execute(StrRst)

Linha_Entrada = Linha_Entrada + 1

Loop


End Sub

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 27/08/2018 4:39 pm
(@heliofaria)
Posts: 50
Trusted Member
Topic starter
 

Vc é o cara Wagner!!!! Deu certo...

Muito Obrigado!!

 
Postado : 27/08/2018 6:55 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Valeu Helio!

Bom dia!

Peço a gentileza de votar positivamente clicando na mãozinha existente ao lado da ferramenta CITAR.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 28/08/2018 5:19 am