INSERT EM MODULOS
OPA, GOSTARIA DE SABER QUAL AS DESVANTAGENS DE SE COLOCAR OS INSERTS, DELETES,,UPDATES, EM MODULOS, AO INVES DE COLOCA-LOS NOS FORMULARIOS.
desde que vc use eles em function/Sub como funções (Somente-Leitura) não tem Nenhuma diferença.
é que uma vez li alguma coisa, do tipo que tudo o que está em modulos é carregado na memória.
e essa forma(modulo), seria uma forma correta em tecnica de programacao?
e essa forma(modulo), seria uma forma correta em tecnica de programacao?
DODOMR, recomendaria você a trabalhar com classes no VB (POO), assim o código fica mais fácil de ser gerenciado, e com isso caso queira migrar a aplicação para VB.NET, não terá muitos problemas.
Segue um exemplo de classe.
Option Explicit
Private intCodigo As Integer
Private strNome As String
Private strLogin As String
Private strSenha As String
Private intCodSetor As Integer
Private intCodTipo As Integer
dim sql as String
Public Property Get Codigo() As Integer
Codigo = intCodigo
End Property
Public Property Let Codigo(ByVal Valor As Integer)
intCodigo = Valor
End Property
Public Property Get Nome() As String
Nome = strNome
End Property
Public Property Let Nome(ByVal Valor As String)
strNome = Valor
End Property
Public Property Get Login() As String
Login = strLogin
End Property
Public Property Let Login(ByVal Valor As String)
strLogin = Valor
End Property
Public Property Get Senha() As String
Senha = strSenha
End Property
Public Property Let Senha(ByVal Valor As String)
strSenha = Valor
End Property
Public Property Get Setor() As Integer
Setor = intCodSetor
End Property
Public Property Let Setor(ByVal Valor As Integer)
intCodSetor = Valor
End Property
Public Property Get Tipo() As Integer
Tipo = intCodTipo
End Property
Public Property Let Tipo(ByVal Valor As Integer)
intCodTipo = Valor
End Property
Segue um exemplo de classe.
Option Explicit
Private intCodigo As Integer
Private strNome As String
Private strLogin As String
Private strSenha As String
Private intCodSetor As Integer
Private intCodTipo As Integer
dim sql as String
Public Property Get Codigo() As Integer
Codigo = intCodigo
End Property
Public Property Let Codigo(ByVal Valor As Integer)
intCodigo = Valor
End Property
Public Property Get Nome() As String
Nome = strNome
End Property
Public Property Let Nome(ByVal Valor As String)
strNome = Valor
End Property
Public Property Get Login() As String
Login = strLogin
End Property
Public Property Let Login(ByVal Valor As String)
strLogin = Valor
End Property
Public Property Get Senha() As String
Senha = strSenha
End Property
Public Property Let Senha(ByVal Valor As String)
strSenha = Valor
End Property
Public Property Get Setor() As Integer
Setor = intCodSetor
End Property
Public Property Let Setor(ByVal Valor As Integer)
intCodSetor = Valor
End Property
Public Property Get Tipo() As Integer
Tipo = intCodTipo
End Property
Public Property Let Tipo(ByVal Valor As Integer)
intCodTipo = Valor
End Property
Public Function Incluir() As Boolean
'--------------------------------
'Coloque aqui a função de Insert
'--------------------------------
On Error GoTo TrataErro
Sql = ""
...
Call objConexao.BeginTrans
Call objConexao.Execute(sSql)
Call objConexao.CommitTrans
Incluir = True
Exit Function
TrataErro:
Call objConexao.RollbackTrans
Call MensagemErro(NOME_CLASSE & ".Incluir", "Erro ao tentar Incluir Usuário")
Incluir = False
End Function
Public Function Alterar() As Boolean
'--------------------------------
'Coloque aqui o código de Update
'--------------------------------
On Error GoTo TrataErro
Sql = ""
...
Call objConexao.BeginTrans
Call objConexao.Execute(sSql)
Call objConexao.CommitTrans
Alterar = True
Exit Function
TrataErro:
Call objConexao.RollbackTrans
Call MensagemErro(NOME_CLASSE & ".Alterar", "Erro ao tentar Alterar Usuário")
Alterar = False
End Function
Public Function Excluir() As Boolean
'------------------------------------
'Coloque aqui o código de Exclusão
'------------------------------------
On Error GoTo TrataErro
Sql = ""
...
Call objConexao.BeginTrans
Call objConexao.Execute(sSql)
Call objConexao.CommitTrans
Excluir = True
Exit Function
TrataErro:
Call objConexao.RollbackTrans
Call MensagemErro(NOME_CLASSE & ".Excluir", "Erro ao tentar Excluir Usuário")
Excluir = False
End Function
Public Function Pesquisar() As Recordset
'-----------------------------------
'Coloque aqui o códido de Pesquisa
'-----------------------------------
Set Registros = New Recordset
On Error GoTo TrataErro
Sql = "SELECT codigo,nome FROM usuario ORDER BY nome"
Set Registros = objConexao.Execute(sSql)
Set Pesquisar = Registros
Exit Function
TrataErro:
Set Registros = Nothing
Call MensagemErro(NOME_CLASSE & ".Pesquisar", "Erro ao tentar Pesquisar Usuario")
End Function
Public Function VerificaUsuario(ByVal strUsuario As String, ByVal strSenha As String) As Boolean
'Exemplo
End Function
complementando usar classe é a melhor solução vc pode ate inclusive acabar criando uma dll e usa-la para outras fora do programa.
mas o uso de modulos nao afeta em nada, pode ate ser q afeta mas sinceramente deve ser algo imperceptivel ao ser humano.
mas o uso de modulos nao afeta em nada, pode ate ser q afeta mas sinceramente deve ser algo imperceptivel ao ser humano.
Tópico encerrado , respostas não são mais permitidas