frata Postado Março 19, 2011 Denunciar Share Postado Março 19, 2011 Estou com um pequeno problema; quando clico para acessar meu programa ele me retorna a seguinte mensagem: 1 - Primeiro: Data Access Error Então como eu clico no OK, me retorna: 2- Run Time Error '91' Object variable or with block variable not set __________________________________________ Acho importante informa que: a -Este programa se conecta a um banco de dados do Access, usando o Data Control b - Este programa foi desenvolvido numa máquina e estou tentando abrí-lo em outra, porém ambas possuem a mesma versão do Office. Não sei como resolver o problema. Obrigado. Frata Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Março 19, 2011 Denunciar Share Postado Março 19, 2011 cade o codigo?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frata Postado Março 19, 2011 Autor Denunciar Share Postado Março 19, 2011 (editado) Oi desculpe...segue o código abaixo. Obrigado!! Frata.Private Sub Command1_Click() Dim resposta, excluir As String On Error GoTo falha excluir = "Informação do Sistema" resposta = MsgBox("Você tem certeza que deseja excluir este registro ?", vbOKCancel, "Informação do Sistema") If resposta = vbOK Then Data1.Recordset.Delete Data1.Recordset.MoveFirst MsgBox "Registro excluído com sucesso", vbOKOnly, "Informação do stema" End If falha: If Err.Number = 3021 Then MsgBox "Não existe registro para ser excluído", , "Informação do sitema" Data1.Recordset.AddNew End If End Sub Private Sub Command2_Click() Data1.Recordset.AddNew If Save Then Select Case MsgBox("Salvar Alterações?", vbQuestion + vbYesNo, "Informações do Sistema") Case vbYes '6 If txtNome.Text = Empty Then MsgBox "Informe o nome do cliente!", , "Informação do Sistema" txtNome.SetFocus Save = False Action = vbDataActionCancel txtNome.SetFocus Exit Sub ElseIf txtEndereço.Text = Empty Then MsgBox "Informe Endereço do Cliente!", , "Infomação do Sistema" txtEndereço.SetFocus Save = False txtEndereço.SetFocus Action = vbDataActionCancel txtEndereço.SetFocus Exit Sub End If Case vbNo '7 Save = False End Select ' foi colocado este código no final, para que o txtnome receba foco ao fim de cada cadastro' txtNome.SetFocus End If End Sub Private Sub Command3_Click() Dim resposta, excluir As String excluir = "Você tem certeza que deseja sair do Sistema?" resposta = MsgBox("Você Tem Certeza que deseja Sair do Sistema ?", vbOKCancel, "Informação do Sistema") If resposta = vbOK Then End End If End Sub Private Sub Command4_Click() Busca = "Digite o nome do Cliente para consulta" Procura = InputBox(Busca, "Pesquisa de Cliente") Data1.Recordset.Index = "idxClientes" Data1.Recordset.Seek ">=", Procura If Data1.Recordset.NoMatch Then Data1.Recordset.MoveFirst End If End Sub Private Sub Data1_Validate(Action As Integer, Save As Integer) If Save Then Select Case MsgBox("Salvar Alterações?", vbQuestion + vbYesNo, "Informações do Sistema") Case vbYes '6 If txtNome.Text = Empty Then MsgBox "Informe o nome do cliente!", , "Informação do Sistema" txtNome.SetFocus Save = False Action = vbDataActionCancel txtNome.SetFocus Exit Sub ElseIf txtEndereço.Text = Empty Then MsgBox "Informe Endereço do Cliente!", , "Infomação do Sistema" txtEndereço.SetFocus Save = False txtEndereço.SetFocus Action = vbDataActionCancel txtEndereço.SetFocus Exit Sub End If Case vbNo '7 Save = False End Select ' foi colocado este código no final, para que o txtnome receba foco ao fim de cada cadastro' txtNome.SetFocus End If End Sub Private Sub Text10_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub Text12_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub Text2_Change() KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub Text8_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub Text9_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub txtBairro_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub txtCidade_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub txtComplemento_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub txtEndereço_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub txtNome_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub txtOBS_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub txtUF_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Editado Março 20, 2011 por kuroi Adicionar tag CODE Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Matheus-vb6 Postado Março 19, 2011 Denunciar Share Postado Março 19, 2011 Ele da erro ao tentar fazer o q?Que linha ele aponta o erro?Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Danleonhart Postado Março 19, 2011 Denunciar Share Postado Março 19, 2011 (editado) Olá Frata ! Quando ocorre erro desse tipo, é porque há alguma váriavel não configurada ( Set variavel = blablabla...) No caso de se tratar com Bancos de dados, deve ser "RecordSet" ou a "ConnectionString"...tou chutando cara ;)Agora uma dica para facilitar a compreensão de todos do fórum:Quando ocorre erros, o VB-6 abre uma caixa de diálogo, escolha a opção "Debug" e o VB destaca a "linha do erro", geralmente em amarelo: Então, basta colocar a "Sub" ou "Function" que apresentou o erro que assim fica mais fácil de ser detectado o erro... :D No exemplo, eu propositalmente deixei sem "setar" o RecordSet (Rs.Open), e apresentou o mesmo erro que você citou...então, acho que tem algum RecordSet sem estar "setado"... :rolleyes: :rolleyes: :rolleyes: Editado Março 19, 2011 por Danleonhart Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frata Postado Março 22, 2011 Autor Denunciar Share Postado Março 22, 2011 (editado) OI, será que é a isso que você se refere..?? Onde diz no código :Data1.Recordset.AddNew , fica sublinhado de amarelo, mas eu não sei exatamente como resolver isso...ah, e antes aparece uma caixa de diálogo com a seguinte mensagem: Compile error - Error in Loading DLL. Obrigado. Private Sub Command2_Click() Data1.Recordset.AddNew If Save Then Select Case MsgBox("Salvar Alterações?", vbQuestion + vbYesNo, "Informações do Sistema") Case vbYes '6 If txtNome.Text = Empty Then MsgBox "Informe o nome do cliente!", , "Informação do Sistema" txtNome.SetFocus Save = False Action = vbDataActionCancel txtNome.SetFocus Exit Sub ElseIf txtEndereço.Text = Empty Then MsgBox "Informe Endereço do Cliente!", , "Infomação do Sistema" txtEndereço.SetFocus Save = False txtEndereço.SetFocus Action = vbDataActionCancel txtEndereço.SetFocus Exit Sub End If Case vbNo '7 Save = False End Select ' foi colocado este código no final, para que o txtnome receba foco ao fim de cada cadastro' txtNome.SetFocus End If End Sub Editado Março 23, 2011 por kuroi Adicionar tag CODE Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
frata
Estou com um pequeno problema; quando clico para acessar meu programa ele me retorna a seguinte mensagem:
1 - Primeiro: Data Access Error
Então como eu clico no OK, me retorna:
2- Run Time Error '91'
Object variable or with block variable not set
__________________________________________
Acho importante informa que:
a -Este programa se conecta a um banco de dados do Access, usando o Data Control
b - Este programa foi desenvolvido numa máquina e estou tentando abrí-lo em outra, porém
ambas possuem a mesma versão do Office.
Não sei como resolver o problema.
Obrigado. Frata
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.