Notifications
Clear all

Do Acess para o Excel

5 Posts
1 Usuários
0 Reactions
1,049 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pessoal tenho um controle de estoque que utilizava o acess para guardar os dados, tenho nescidade de mudar para planilha no proprio excel.
Utilizo o DAO para as conexões com o banco de dados e sql em minhas consultas no mesmo.
Se alguém puder orientar a minha migração com alguns exemplos estou anexando uma parte do controle ao topico.
Se possivel descreve-los em cima da funcionalidade dos formularios do meu exemplo, alguns principios 8-) o resto pretento ir construindo para fixar os conceitos.... :D

Minha principal duvida :?: seria quanto a carregar os dados da planilha em sql para os list e do list para o formulario e do formulario para a planilha ( todos forms tem list inteligente conforme digitação vai filtrando os dados :geek: .

Sei que DAO ja não se utiliza mais :( estamos na era do ADO mas se for o caso pode ser apesar de enferrujado vou tentar adaptar-me... :mrgreen:

 
Postado : 25/11/2011 11:53 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Gero, em seu Tópico do dia 11 Nov :

exemplos de cadastro no excel usando ado ou DAO
viewtopic.php?f=10&t=2790&p=12374#p12374
Foram postados algumas dicas.

As mesmas são referentes ao Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel criado pelo Tomas :
O formulário de pesquisa disponibiliza uma formato de busca muito eficiente, permitindo filtros por diversos campos e ordenação por todos eles. Para o formato de exemplo, alguns campos foram disponibilizados para o filtro. Outros podem ser adicionados conforme o critério e a necessidade do desenvolvedor. Para além de facilitar o desenvolvimento, possilibitar uma formato completo de pesquisa utilizando clásusulas SQL (Structured Query Language), decidi usar a biblioteca ADO (Active Data Objects) e seus objetos para efetuar as consultas e filtros na cadastro. Será útil futuramente quando forem construídos filtros de data por exemplo, tradicionalmente utilizados no Excel com o recurso Auto-Filtro.
http://www.tomasvasquez.com.br/blog/mod ... soft-excel

Baixe este modelo, e veja algumas adaptações no link abaixo :
Tutoriais
http://www.tomasvasquez.com.br/forum/viewforum.php?f=16

No forum tambem encontrara varias outras questões relacionadas a este Modelo.

[]s

 
Postado : 25/11/2011 7:58 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola mauro baixe sim aqueles exemplos, adaptei as minhas necessidades, ficou so um porem que não consegui decifrar ele tem sim muitos filtros este não seria o problema de minha dificuldade, veja no list tem caso que você não necessita carrega-lo com todas as colunas de seus dados, bastaria a coluna do codigo e mais tres de um cadastro contendo 20 colunas as outras dezessete não precisam aparecer.
Quando fiz o Select codigo, data, maquina from tabela ordy by data desc retorna erro pelo que percebi o codigo do registro precisa de todos os campos para atualizar o formulario.

Alguma noção eu tenho apesar de enferrujado, você por acaso deu uma olhada no exemplo, pergunta é possivel adapta-lo no modelo do tomaz ou que esta naquele modelo e o maximo que irei conseguir fazer no vba do excel.

Desde ja agradeço pela atençao e orientações....

 
Postado : 26/11/2011 2:07 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

ola em relação as colunas no list consegui modificar para somente as que eu preciso no meu caso somente tres colunas o codigo ficou assim:

popular o list:

 Set conn = New ADODB.Connection
    With conn
        '.Provider = "Microsoft.JET.OLEDB.4.0" ' versão excel 2003
        .Provider = "Microsoft.ACE.OLEDB.12.0" ' versão excel 2007
        .ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=Excel 8.0;"
        .Open
    End With

    sql = "SELECT codigo, Data, maquina FROM [HistoricoD$] order by Codigo desc" '

    Set rst = New ADODB.Recordset
    With rst
        .ActiveConnection = conn
        .Open sql, conn, adOpenDynamic, _
              adLockBatchOptimistic
    End With

aqui era que eu estava errando :

Private Sub lstLista_Click()
If lstLista.ListIndex > 0 Then
Dim indiceRegistro As Long
indiceRegistro = Me.ProcuraIndiceRegistroPodId(lstLista.List(lstLista.ListIndex, 0)) ' deixar coluna do codigo de acordo com instrução sql
If indiceRegistro <> -1 Then
Call Me.CarregaRegistroPorIndice(indiceRegistro)
End If

Else
lblMensagens.Caption = "É preciso selecionar um item válido na lista"
End If

End Sub

Agora para ficar muito bom, seria possivel adaptar a este list uma textbox para filtrar de acordo como vai sendo digitado....

 
Postado : 29/11/2011 11:52 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Topico encerrado agradecendo as sugestões do mauro consegui em parte solucionar o problema.

 
Postado : 30/11/2011 8:55 am