Usuário com melhor resposta
Conexão com SQL Server 2014 -

Pergunta
-
- Boa tarde, colegas
- Montei esse projeto porem quando compilo eu não obtenho nenhuma resposta sendo que no meu arquivo eu tenho tenho todo o diretório de conexão com a base de dados e server.
- Eu não estou conseguindo identificar dentro desse código o que esta faltando ou esta errado.
- Option Explicit
Const SQLConStr As String = "Provider=SQLOLEDB;Server=); Database=dbo.tbl_teste_vba_inclusao_registro;Trusted_Connection=yes"
Sub ConnectionSQL()
Dim RegistroConn As ADODB.Connection
Dim RegistroConn As ADODB.Command
Dim rs As New ADODB.Recordset
Dim sql As String
Dim r As Range
Set Registro = New ADODB.Connection
Set RegistroConn = New ADODB.Command
RegistroConn.ConnectionString = SQLConStr
RegistroConn.Open
RegistroCmd.ActiveConnection = RegistroConn
RegistroConn.BeginTrans
For Each r In Range("A2", Range("A4").End(xlDown))
On Error GoTo ErrorHandler
RegistroCmd.CommandText = _
GetInsertTextSQL( _
.Offset(0, 2).Value, _
.Offset(0, 3).Value, _
.Offset(0, 4).Value)
On Error GoTo 0
RegistroCmd.Execute
Next r
RegistroConn.CommitTrans
RegistroConn.Close
Set RegistroConn = Nothing
Exit Sub
ErrorHandler:
MsgBox "Error number = " & (Err.Number - vbObjectError) & vbNewLine & Err.Description
RegistroConn.RollbackTrans
RegistroConn.Close
End Sub
Sub Incluir()
Dim SQLStr As String
SQLtr = _
"INSERT INTO dbo.tbl_teste_vba_inclusao_registro (" & _
"RegistroId, RegistroName, RegistroReleaseDate, Registrodescricao, Registrovalor)" & _
"VALUES (" & _
"(SELECT MAX(RegistroId)FROM tbl_teste_vba_inclusao_registro) + 1," & _
"'" & Replace(RegistroId, "'", "''") & "'," & _
"'" & Format(RegistroDate, "yyyy-mm-dd") & "'," & _
CStr(Registrodescricao) & _
CStr(Registrovalor) & ");"
If InStr(1, SQLStr, "drop", vbTextCompare) <> 0 Then
Err.Raise vbObjectError = 100, , "Naughty words used"
End If
GetInsertText = SQLtr
End Sub
Respostas
-
Fernando.
Verifique, primeiramente, se seu código está compilando. Corrija todos os erros e depois volte a postar o código atualizado.
http://ambienteoffice.com.br/blog/estados-do-vbe/#tempo-de-compilacao
http://www.ambienteoffice.com.br - http://www.clarian.com.br
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator segunda-feira, 4 de julho de 2016 13:55
Todas as Respostas
-
Boa Tarde, Caros colegas.
Gostaria de saber se existe alguma outra forma de realizar este processo, onde todas as informações que forem adicionadas no Excel atualize no sql, por meio do vba.
Teria que criar um metodo de insert, para fazer esse processo e criar um metodo de conexão.
Desde já agradeço
- Mesclado Felipe Costa GualbertoMVP, Moderator terça-feira, 28 de junho de 2016 16:38 Repetição
-
Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.
---
Em qual linha você obtém erro?
http://www.ambienteoffice.com.br - http://www.clarian.com.br
-
-
-
Nas declarações da variáveis aparece como duplicada, porem se mudo o nome de uma delas apresenta como variável não definida mesmo alterando os demais campos.
Essa informação aparece na linha do Set ( Set Registro = New ADODB.Connection)
Dim RegistroConn As ADODB.Connection
Dim RegistroConn As ADODB.Command
Dim rs As New ADODB.Recordset
Dim sql As String- Editado Fernando_Martins terça-feira, 28 de junho de 2016 17:05 Novas informações
-
Fernando.
Verifique, primeiramente, se seu código está compilando. Corrija todos os erros e depois volte a postar o código atualizado.
http://ambienteoffice.com.br/blog/estados-do-vbe/#tempo-de-compilacao
http://www.ambienteoffice.com.br - http://www.clarian.com.br
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator segunda-feira, 4 de julho de 2016 13:55