Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

l_nando

run time error 91

Recommended Posts

Pessoal, boa tarde.

 

Sou novato em vb6 e estava tentando fazer uns exemplos que peguei na net.

Fiz uma tela para cadastro de algumas coisas como peguei num exemplo e está ocorrendo o seguinte erro:

 

run time error 91 - Object variable or with block variable not set

 

Segue o cód.:

 

Option Explicit
Global cn As ADODB.Connection
Global rs As ADODB.Recordset

Private Sub Main()
Dim strArquivo As String
Dim strLocal As String
Dim ConectaAccess As String

'Load Cadastrar
'Cadastrar.Show
DoEvents
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
strArquivo = "V_AGENDA1.mdb"
strLocal = App.Path
Set cn = CreateObject("ADODB.Connection")
ConectaAccess = "Driver={Microsoft Access Driver (*.mdb)};" & _
"Dbq=" & strArquivo & ";" & _
"DefaultDir=" & strLocal & ";" & _
"Uid=Admin;Pwd=;"
cn.Open ConectaAccess
End Sub

Public Function Inserir(ByVal strCLIENTE As String, _
strCONTATO As String, _
strSCARGO As String, _
strTEL1 As String, _
strTEL2 As String, _
strCEL As String, _
strEMAIL As String) As Variant

cn.Execute ("insert into AGENDA(CLIENTE, CONTATO, SCARGO, TEL1, TEL2, CEL, EMAIL)" _
& "values('" & strCLIENTE & "','" & strCONTATO & "','" & strSCARGO & "','" & strTEL1 & "','" & strTEL2 & "','" & strCEL & "','" & strEMAIL & "')")

Inserir = True
End Function

Quando clico em debug, me mostra esta linha:

 

cn.Execute ("insert into AGENDA(CLIENTE, CONTATO, SCARGO, TEL1, TEL2, CEL, EMAIL)" _
& "values('" & strCLIENTE & "','" & strCONTATO & "','" & strSCARGO & "','" & strTEL1 & "','" & strTEL2 & "','" & strCEL & "','" & strEMAIL & "')")
acho que é esta que está dando o erro.

 

Se alguém puder me ajudar, pois não manjo nada disso.

 

Obrigado

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Normalmente esse erro ocorre quando você nao seta o objeto, mas nao é o caso, você fez.

 

(set cn = new adodb.connection)

 

Só que você não precisa dessa linha

set cn = createobject(adodb.connection)

 

Essa linha você usaria caso não tivesse declarado a variavel anteriormente como adodb.connection e nao tivesse setado, mas como fez nao é necessária.

 

tente tirar essa linha e veja se resolve, depois posta aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.