Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Modelo de Cadastro com BD Access

Discussões sobre a integração do Excel com o Banco de Dados Access

Moderador: joseA

Avatar do usuário
LEANDRO ALVES
Manda bem
Manda bem
Mensagens: 161
Registrado em: Dom Jul 25, 2010 7:41 pm

Modelo de Cadastro com BD Access

Mensagem por LEANDRO ALVES »

Caros colegas do forum,

Eu fiquei fascinado com este material disponibilizado pelo prezado amigo JoseA no sequinge topico:viewtopic.php?f=22&t=1408. Então para meu proprio treino e para poder compartilhar com os amigos, resolvi adaptar o Modelo de Cadastro do Tomaz para Banco de Dados Access. É claro que preciso dar uma melhorada nos codigos, mas até que funciou legal. Nos testes que fiz encotrei apenas dois bugs que nao pude resolver. Sao eles: O btnProximo quando atinge o ultimo registro volta ao primeiro ( mas nao impede o funcionamento em nada). O segundo bug é que quando seleciono um registro a partir do frmPesquisa( lstv_Dblclick) para o frmCadastro, o lblNavigator nao atualiza seu valor com o indice do registro selecionando, mas tambem nao impede o funcionamento do aplicativo.
Bom espero que gostem, fica aberto pra que quiser melhorar, ja que estamos todos juntos nessa jornada e eu continuarei tentando resolver os bugs citados acima.

Um abraço :D

Leandro Alves
Anexos
ModeloCadastroAccess.rar
Modelo de Cadastro do Tomas com BD Access
(96.37 KiB) Baixado 6424 vezes
Editado pela última vez por LEANDRO ALVES em Ter Nov 08, 2011 12:00 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Modelo de Cadastro com BD Access

Mensagem por joseA »

:D Nossa Leandro, :o

Ficou demais cara.
LEANDRO ALVES escreveu:...Nos testes que fiz encotrei apenas dois bugs que nao pude resolver. Sao eles: O btnProximo quando atinge o ultimo registro volta ao primeiro ( mas nao impede o funcionamento em nada)...
Penso que para esse caso, deveria ser colocado o registro atual em um Label e o total de registros em outro, assim poderias comparar quando o registro atual atingisse o mesmo valor do total de registros aplicarias uma Exit Sub.

LEANDRO ALVES escreveu:...Eu fiquei fascinado com este material disponibilizado...
O que me fascinou, nesse material, que não é de minha autoria é a fácilidade de compreensão das instrunções, o qual me animou também.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Modelo de Cadastro com BD Access

Mensagem por webmaster »

UAU!

Acho que vou me aposentar. Ficou muito bom! Prometi isso para comunidade e fórum a tempos e não tinha conseguido fazer até então (a velha falta de tempo ;) ).

Só posso agradecer em nome de todos. Se importa se publicar essa atualização do blog? Faço questão de mencionar os devidos créditos.

Abraços e obrigado


Avatar do usuário
LEANDRO ALVES
Manda bem
Manda bem
Mensagens: 161
Registrado em: Dom Jul 25, 2010 7:41 pm

Re: Modelo de Cadastro com BD Access

Mensagem por LEANDRO ALVES »

Caro Colega JoseA, fico muito grato pela sua atenção, acredito que sua sugestao pode solucionar problema do btnproximo. Vou tentar e assim que conseguir posto o resultado. Realmente as explicaçoes da apostila sao muito claras e envolventes ao mesmo tempo. Pra que tem interesse em desenvolver aplicaçoes independentes em Visual Basic 6.0 acredito que este seja o caminho (fiz alguns testes utilizando estes procedimentos e funcionou bem). Mas uma vez obrigado pela contribuiçao.

Quanto ao amigo Tomás, fico muito feliz que tenha gostado e me sentirei muito honrando se voce postar a atualizaçao no blog. Eu é que tenho que te agradecer pelo maravilhoso trabalho que é este forúm onde encotramos sempre várias soluções às nossas duvidas . É com diz o amigo Mauro coutinho: "Se tenho duvida, pergunto. Se sei, compartilho."

Um abraço a todos,

Leandro Alves


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Modelo de Cadastro com BD Access

Mensagem por joseA »

LEANDRO ALVES escreveu:... O segundo bug é que quando seleciono um registro a partir do frmPesquisa( lstv_Dblclick) para o frmCadastro, o lblNavigator nao atualiza seu valor com o indice do registro selecionando...
Pensando bem Leandro,

Para esse segundo "bug", a mesma lógica resolverá. Bastaria inserir uma linha em lstv_Dblclick para carregar o ´nº do registro pesquisado para esse novo Label (registro atual). ;)


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Modelo de Cadastro com BD Access

Mensagem por joseA »

Em tempo...

Uma opção para criar um acesso aos dados. Inserir uma Plan2 e na Plan1 criar um botão associado à seguinte instrução:

Código: Selecionar todos

Sub ImportarDados()
Plan2.Select
'Declarando Variavel de conecção
Dim Conecção As ADODB.Connection
'Declarando Variavel de armazenamento da dados
Dim Dados As ADODB.Recordset
'Definindo Variavel conecção com nova consulta
Set Conecção = New ADODB.Connection
'Definindo parâmetros para conecção
With Conecção
.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0;Data Source=" & ThisWorkbook.Path & "\Base.mdb"
.Open
End With
'Definindo nova busca e armazenamento dos dados da Tabela
Set Dados = New ADODB.Recordset
'Definindo parâmetros dos dados
Dados.Open "Fornecedores", Conecção, adOpenKeyset, adLockOptimistic, adCmdTable
'Observe que a palavra "banco" representa a tabela
'Declarando variavel WorkSheet
Dim Xlst As Excel.Worksheet
Set Xlst = Sheets("Plan2")
'Copiando os dados para Plan2
Xlst.Range("A2").CopyFromRecordset Dados
'Ajusta a largura das colunas
Plan2.Columns("A:L").AutoFit

Dados.Close
Set Dados = Nothing
Conecção.Close
Set Conecção = Nothing
End Sub


Avatar do usuário
LEANDRO ALVES
Manda bem
Manda bem
Mensagens: 161
Registrado em: Dom Jul 25, 2010 7:41 pm

Re: Modelo de Cadastro com BD Access

Mensagem por LEANDRO ALVES »

Caro colega JoseA,

Consegui resolver o problema do primeiro bug com sua otima sugestao. Dividi o lblNavigator em tres: lblIndice, lbl_de e lblTotal e coloquei uma rotina para o btnproximo funcionar somente se indice for diferente de total, ou seja quando indice ficar igual ao total o btn trava. certo? ;)
Quanto sua segunda sugestao, acredito que funcionaria, mas eu ja havia desenvolvido uma function para resolver este problema atraves de um loop.
agora esta tudo funcionando direitinho. E o anexo com o aplicatvio ja esta atualizado.

Código: Selecionar todos

Public Function Id()
    
    Dim cx As New ClasseConexao
    Dim banco As ADODB.Recordset
    Dim sql As String
    Dim i As Long
    
    
    sql = "SELECT * FROM Fornecedores"
    Set banco = New ADODB.Recordset
    cx.Conectar
    banco.Open sql, cx.Conn, adOpenKeyset, adLockOptimistic
    Total = banco.RecordCount
    
    For i = 1 To banco.RecordCount
        If banco(0) = frmPesquisa.lstv.SelectedItem Then
            Id = i
            Exit For
        Else
            banco.MoveNext
        End If
   Next
   
   Set banco = Nothing
   cx.Desconectar

End Function


Muito obrigado pelas sugestoes

Um abraço

Leandro Alves


Avatar do usuário
joseA
Jedi
Jedi
Mensagens: 1048
Registrado em: Qui Out 22, 2009 7:22 am
Localização: Cel. Fabriciano - MG

Re: Modelo de Cadastro com BD Access

Mensagem por joseA »

Leandro,

Verifiquei um "bug", fácil de resolver, ao inserir dados e não digitar nada nos controles é acrescentada uma linha em branco no Bd, apenas o Id.

Seria só aplicar uma instrução condicional para alguns controles como campos obrigatórios.


noxios
Acabou de chegar
Acabou de chegar
Mensagens: 9
Registrado em: Sáb Out 22, 2011 8:49 am

Re: Modelo de Cadastro com BD Access

Mensagem por noxios »

Olá
Poderiam me informar qual é, ou são as principais vantagens (se as ha) em usar a BD do Access ao invés de usar a BD do Excel ?

Obrigado
@+


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Modelo de Cadastro com BD Access

Mensagem por webmaster »

Colega,

Acredito que muitas pessoas darão respostas sobre isso, e muito diversificadas. Mas, para entender completamente todas elas, vai precisar ler e entender o que é o Access.

Já adianto que as vantagens são no mínimo incontestáveis quando falamos de um grande sistema.

Abraços


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder