ERRO NO MODULO ME AJUDA
pessoal estou migrado para mysql e de vez em quando surge algum erro.
uso variáveis publicas no programa e o programa acusa isso:
object variable or with block variable not set
podem me ajudar!
uso variáveis publicas no programa e o programa acusa isso:
object variable or with block variable not set
podem me ajudar!
o erro não é por causa de variaveis publicas, mas o que você declarou, então poste a variavel e tipo que causa o erro.
ok MARCELO-TREZE
segue o modulo
[ô]Referência a Microsoft ActiveX 2.8 Object Library
Public Conexao As ADODB.Connection
Public var_oper As Integer
Public MyRs As ADODB.Recordset
Public Function Conecta(ByVal Valor As Boolean)
On Error GoTo errorline
Dim SERVIDOR, BASEDEDADOS, PORTA, USUARIO, SENHA As String
If Valor = True Then
Set Conexao = New Connection
SERVIDOR = [Ô]localhost[Ô]
BASEDEDADOS = [Ô]bancoteste[Ô]
PORTA = [Ô]3306[Ô]
USUARIO = [Ô]root[Ô]
SENHA = [Ô][Ô]
CON_STR = [Ô]DRIVER={MySQL ODBC 5.1 DRIVER};[Ô] _
& [Ô]Server=[Ô] & SERVIDOR & [Ô];[Ô] _
& [Ô]Port=[Ô] & PORTA & [Ô];[Ô] _
& [Ô]Database=[Ô] & BASEDEDADOS & [Ô];[Ô] _
& [Ô]UID=[Ô] & USUARIO & [Ô];[Ô] _
& [Ô]PWD=[Ô] & SENHA & [Ô];[Ô] _
& [Ô]ConnectionTimeout=60[Ô] & [Ô];[Ô] _
& [Ô]OPTION=[Ô] & 1 + 2 + 8 + 32 + 2048 + 16384
With Conexao
.CursorLocation = adUseClient
.ConnectionString = CON_STR
.Open CON_STR
End With
Else
Conecta True
If Conexao.State = 1 Then Conexao.Close
Set Conexao = Nothing
End If
Exit Function
errorline:
MsgBox [Ô]Um Erro Inesperado ocorreu[Ô] & _
Chr(13) & [Ô] Código : [Ô] & Err.Number & _
Chr(13) & [Ô] Descrição : [Ô] & Err.Description, vbExclamation, [Ô]Erro[Ô]
End Function
segue o modulo
[ô]Referência a Microsoft ActiveX 2.8 Object Library
Public Conexao As ADODB.Connection
Public var_oper As Integer
Public MyRs As ADODB.Recordset
Public Function Conecta(ByVal Valor As Boolean)
On Error GoTo errorline
Dim SERVIDOR, BASEDEDADOS, PORTA, USUARIO, SENHA As String
If Valor = True Then
Set Conexao = New Connection
SERVIDOR = [Ô]localhost[Ô]
BASEDEDADOS = [Ô]bancoteste[Ô]
PORTA = [Ô]3306[Ô]
USUARIO = [Ô]root[Ô]
SENHA = [Ô][Ô]
CON_STR = [Ô]DRIVER={MySQL ODBC 5.1 DRIVER};[Ô] _
& [Ô]Server=[Ô] & SERVIDOR & [Ô];[Ô] _
& [Ô]Port=[Ô] & PORTA & [Ô];[Ô] _
& [Ô]Database=[Ô] & BASEDEDADOS & [Ô];[Ô] _
& [Ô]UID=[Ô] & USUARIO & [Ô];[Ô] _
& [Ô]PWD=[Ô] & SENHA & [Ô];[Ô] _
& [Ô]ConnectionTimeout=60[Ô] & [Ô];[Ô] _
& [Ô]OPTION=[Ô] & 1 + 2 + 8 + 32 + 2048 + 16384
With Conexao
.CursorLocation = adUseClient
.ConnectionString = CON_STR
.Open CON_STR
End With
Else
Conecta True
If Conexao.State = 1 Then Conexao.Close
Set Conexao = Nothing
End If
Exit Function
errorline:
MsgBox [Ô]Um Erro Inesperado ocorreu[Ô] & _
Chr(13) & [Ô] Código : [Ô] & Err.Number & _
Chr(13) & [Ô] Descrição : [Ô] & Err.Description, vbExclamation, [Ô]Erro[Ô]
End Function
o problema acontece por exemplo quando eu vou colocar botoes de navegação move last, MovePrevious. comandos que eu usava
no access e que agora ta complicado pra funcionar.
no access e que agora ta complicado pra funcionar.
Colega luiz, vamos a algumas explanações, bom primeiro pra que vc usa botões movenext e move previous? depois vejo a resposta mas ja vou adiantando, quando iniciei com vb6 utilizava muito deste recurso ou seja, por botões de navegação, ia pro anterior, pro próximo, e etc, derrepente notei que meu banco de dados estava crescendo, ai como fazer? pois haja botão pra ficar pressionando até chegar no registro desejado, meio sem nexo isso, veja bem não é uma regra alguém pode até questionar pois acho legal este tipo de discussão, bom resumindo resolvi partir para o uso de querys e grids, o que facilitou minha vida em muito.
como utilizo hoje:
utilizo query pra fazer uma pesquisa e exibir os dados em um grid, seleciono o registro e pronto faço o que quiser depois, atualizo excluo, qualquer coisa.
colega a partir do momento que está migrando para MySQL migre também para as tecnologias que o envolvem, o MySQL é um SGBD muito robusto com inúmeras vantagens, estude um pouco a utilização das querys que são muitas,, veja um exemplo de vantagem que você possui:
suponha que você possua um servidor onde fica armazenado o mysqlserver, e os clientes o utilizem via rede, as vezes o processamento de uma query pode demorar dependendo da conexao, com o mysql ou sqlserver você pode criar uma procedure (pesquise procedures) que é como uma função do vb, que você cria dentro do banco de dados e no cliente apenas indica as variáveis a consultar, ficando por conta do servidor processar a pesquisa o que torna tudo muito mais rápido.
bom pra finalizar é isso ai que eu queria dizer.
como utilizo hoje:
utilizo query pra fazer uma pesquisa e exibir os dados em um grid, seleciono o registro e pronto faço o que quiser depois, atualizo excluo, qualquer coisa.
colega a partir do momento que está migrando para MySQL migre também para as tecnologias que o envolvem, o MySQL é um SGBD muito robusto com inúmeras vantagens, estude um pouco a utilização das querys que são muitas,, veja um exemplo de vantagem que você possui:
suponha que você possua um servidor onde fica armazenado o mysqlserver, e os clientes o utilizem via rede, as vezes o processamento de uma query pode demorar dependendo da conexao, com o mysql ou sqlserver você pode criar uma procedure (pesquise procedures) que é como uma função do vb, que você cria dentro do banco de dados e no cliente apenas indica as variáveis a consultar, ficando por conta do servidor processar a pesquisa o que torna tudo muito mais rápido.
bom pra finalizar é isso ai que eu queria dizer.
Vc tá acessando alguma variável que não foi instanciada, nesse processo de navegação. Posta esse código.
Tópico encerrado , respostas não são mais permitidas