Tips - Excel ou o Access? - Microsoft Access X Microsoft Excel - For Data Analysis and Reporting















Escolhendo entre Planilhas e Banco de Dados


Tenho certeza que os usuários do MS Access e do MS Excel constantemente gastam alguma energia perguntando-se sobre o que é melhor para se usar nesta ou naquela situação.


 Versus



Mas nós, desenvolvedores, também nos fazemos essa pergunta com alguma freqüência. Como decido se uso o Excel ou o Access? Essa questão tornar-se especialmente incômoda quando alguém já tem uma convivência confortável com o MS Excel e não consegue entender as razões pelas quais alguém iria usar o MS Access, se ele é um banco de dados. 

Segue minha humilde perspectiva...


Capacitar os profissionais da informação
Na boa, a situação é mais ou menos essa, resguardando os devidos limites comparativos: O ideal seria apertarmos um parafuso com uma boa chave de fenda, não é verdade? Mas não podemos dizer que isso não possa ser executado com outra ferramenta, não é mesmo?

No caso do MS Access e do MS Excel, é a mesma coisa. Quem os conhece sabe das suas excelentes qualidades dentro dos seus respectivos âmbitos. Saber adequar as necessidades do projeto às ferramentas disponíveis, isto sim, traz uma grande vantagem e um diferencial competitivo. Por quê?

Os produtos da suíte MS Office parecem terem sido desenvolvidos para formar IWs - Profissionais Especializados em Informações (Information Workers). Estes profissionais estão capacitados para se virarem dentro das suas necessidades, pois conhecem muito bem o modelo de negócio onde atuam e não precisar ficar esperando nas enormes filas de espera do departamento de TI.

Os IWs também não precisam gastar um longo tempo tentando fazer os profissionais de TI absorverem o negócio no qual atuam a um bom tempo. Dentro deste cenário ocorre um excelente desenvolvimento profissional, mas a falta de conhecimento técnico pode tornar o trabalho mais extenso do que ele realmente é. Pois a escolha da ferramenta errada pode fazer com o IW dê uma volta enorme com um produto num projeto, sendo que a sua necessidade seria mais rápida e facilmente solucionada pelo outro.


Vantagens das planilhas do Microsoft Excel

A curva de aprendizagem do MS Excel é muito curta, torna-se fácil ser produtivo imediatamente após aprendê-lo.

O MS Excel parece tornar fácil armazenar dados em grande quantidades, realizar cálculos cálculos numéricos neles, formatar algumas células e até ajustar uns layouts para gerar alguns relatórios, compartilhando-os com outros.

Alguns usuários mais avançados já se arriscam aos recursos mais práticos como as tabelas dinâmicas e seus gráficos. Outros conseguem implementar um verdadeiro kit de ferramentas de análise em modelos pré formatados,de maneira a tornar mais fácil realizar uma ampla gama de tarefas repetitivas. 

Claro que ajustar os resultados, tornando-os claros, também é muito fácil ao se ajustar fontes, cores, etc, onde desejarmos.

Desvantagens das planilhas do Microsoft Excel

Como sabe, não há almoço grátis. Infelizmente, há um preço para tanta flexibilidade nas planilhas do MS Excel.

Embora seja fácil criar fórmulas, células de referência, dados de copiar e colar, e planilhas com links em outras planilhas, ou num conjunto delas, com o tempo o trabalho torna-se mais complexo, as planilhas tornam-se mais difíceis de mudar e gerenciar.

Apesar das planilhas serem muito boas para a criação de análises temporais, elas tornam-se problemáticas quando o volume dos dados cresce e evolui ao longo do tempo. Com novas linhas e colunas adicionados, os intervalos sumarizados e as fórmulas precisam ser modificadas ou novas precisam ser criadas. Os dados e as fórmulas precisam ser constantemente atualizados, e quando isso não é feito, esses erros levam a maus resultados e a péssimas decisões.

Os desafios das planilhas passam pelo aspecto de mantê-las precisas ao longo do tempo, dimensionando o volume adequadamente.

Vantagens do Microsoft Access e Bancos de Dados

Aqueles que são especialistas em planilhas, muitas vezes não entendem tudo o que  os Bancos de Dados podem oferecer.


Um completa e adequada estrutura de dados, com normalização feita através de várias tabelas.


Escalabilidade: Suporta a adição de inúmeros registros sem grandes preocupações ou transtornos.


Os dados estão sob uma Integridade Referencial.


Relatórios e queries (consultas).


Automação através de programação VBA (Módulos e Classes)

Bases de dados, em Bancos de Dados, tornam-se mais fáceis de armazenar informações num único lugar, referenciando-se a ele em vários lugares.


Por exemplo:
As informações de todos os seus Clientes podem ser mantidos em uma tabela de clientes com o nome, endereço, número de telefone, e-mail, etc.

Em seguida, estas informações podem ser referenciadas em outros lugares, como consultas, formulários e relatórios. Se ocorrerem mudanças nos dados dos clientes, a nova informação é atualizada automaticamente em todos os locais referenciados.

A tabela projetada para comportar os dados foi estruturada para receber adequadamente os diversos distintos tipos de dados, além de prestar validação e consistência com uma qualidade muito superior àquela que normalmente encontramos nas planilhas. 

Estas noções básicas de armazenamento de dados como: Datas, Números e Texto são apenas o começo.



Os registros são livres num Bancos de Dados



Um dos grandes diferenciais entre o MS Access, qual Banco de Dados, e as planilhas do MS Excel, tem a ver com a inclusão de novos registros.

Não importa quanto novos registro sejam incluídos nas tabelas pré-existentes de um Banco de Dados, não haverá necessidade de se testar novamente quaisquer fórmulas em consultas (queries), formulários e relatórios.

Se o Banco de Dados for bem projetado, com o tempo, novos registros continuamente adicionados não interferirão nem mesmo na performance da aplicação.

Diferentes filtros poderão ser aplicados, mas os resultados serão sempre consistentes. O que certamente propiciará relatórios precisos e consistentes a cada ano, trimestre, mês, semana, dia, etc.

Dados e integridade referencial

Buscando evitar o Trash in / Trash Out, os Bancos de Dados Access fornecem muitas ferramentas para manter a qualidade deste. A pesquisa de listas e regras de validação para campos individuais e registros podem ser facilmente implementados no no MS Access no nível de tabela. Os formulários podem adicionar regras adicionais durante a entrada de dados para responder à seleção do usuário por eventos. O MS Access também contém integridade referencial entre tabelas para garantir que os dados permaneçam consistentes entre as tabelas.

Consultas e Relatórios

As Consultas e os Relatórios do Microsoft Access nos permitem recortar dados, apresentando-os em detalhes ou sumarizados, independentemente de como os dados estão armazenados ou classificados nas tabelas subjacentes. O MS Access oferece ampla flexibilidade para análise e apresentação de resultados.

Automação através de programação VBA

A partir de módulos de codificação VBA,  podemos usar exportar dados do MS Access para MS Excel ou importar dados a partir de planilhas.

Através de comandos de automação, podemos literalmente abrir planilhas do MS Excel, a partir do Microsoft Access, e atualizar células específicas, ou mesmo automatizar as atualizações.

Desvantagens do Microsoft Access

A maior desvantagem do Microsoft Access é ser um banco de dados, isso exige maior habilidade e treinamento para usá-lo bem. É necessário descobrir como se define as tabelas normalizadas, como interligá-las entre si, e como estruturar as informações. Por isso, construir consultas, visões, e relatórios pode ser bastante desafiador. é verdade que muitos destes problemas não são exclusivos do MS Access, uma vez que se aplicam a todos os projetos de Banco de Dados.

Também é verdade que a curva de aprendizagem de construção de um banco de dados, a criação de consultas, bem como aprender a projetar layouts de relatórios, pode parecer assustadora.

Sim, utilizar o MS Access é certamente mais complicado do que simplesmente colocar os dados nas células de uma planilha. Também pode ser bastante frustrante ser incapaz de facilmente copiar e colar blocos de dados, ou implementar exceções para a estrutura de um relatório (como por exemplo, querer destacar um valor específico ou uma linha com fontes e comentários especiais).

MS Access prescinde conhecimento de código VBA que permite a personalização, e exige muito mais esforço do que o design WYSIWYG do MS Excel.


Conclusão

É claro que vocês não esperavam que esta abodagem suscinta desse a resposta para vocês do que devem escolher não é mesmo?

O MS Excel torna as coisas mais fáceis quando queremos gerar uma saída personalizada com uma formatação muito flexível com anotações que possamos adicionar em qualquer lugar.

O retorno que o Microsoft Access dá é a forma como os Bancos de Dados simplificam as coisas ao longo do tempo. Pode ser um exagero para uma simples análise pontual, mas se considerar que os dados e relatórios devam ser mantidos por um longo tempo, as planilhas, muitas vezes poderão trazer-lhe transtornos.

A maioria das organizações têm muitas planilhas semelhantes com algumas ligeiras diferenças, as quais tornam-se rapidamente insustentáveis. Um Banco de Dados Access bem desenhado evita essa limitação. Dito isso, o MS Access e o MS Excel têm seus pontos fortes e fracos.

Soluções híbridas, onde os dados de um Banco de Dados Access é conectado (ou exportado ou copiado) ao MS Excel, muitas vezes fornece o melhor dos dois mundos. Sim, a integridade de dados de um Banco de Dados com o seu layout clean, equilibrado, acessível, e rápido com os desdobramentos que somente o MS Excel pode propiciar em termos de análise ad hoc, permitindo aproveitar as vantagens de ambos.

Se encontrar profissionais com uma vasta experiência para orientá-los nisso, os quais disporão da usabilidade dos processos automatizados, o compartilhamento das informações será muito mais suave.

Na minha modesta experiência, essas soluções evoluem com o tempo de forma não muito previsível e independentemente da tecnologia. Ter ferramentas que permitem a flexibilidade para responder rapidamente a essas mudanças, nos capacitará e à nossa organização, cumprirmos a missão de forma eficiente e simples.

Decidiu-se? então deixe aqui no Blog, os seus comentários...



brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®Author´s Profile  Google+   Author´s Professional Profile   Pinterest   Author´s Tweets

5 comentários:

  1. Caro Andre
    A tempos acompanho o seu trabalho e por isso me tornei um grande fã seu. Eu trabalho como Analista de Informações Comerciais e já trabalho a um bom tempo com MIS e BI, eu utilizo bastante as duas ferramentas, posso dizer que as duas são as minhas maiores aliadas. Utilizo o Access para criar e gerenciar bases bem como para sintetizar bases super pesadas para poder tratar no Excel, utilizo bastante base de dados vinculadas e nada me deixa mais feliz quando chego numa empresa aonde exista ODBC, eu me divirto criando indicadores e colaborando com as tomadas de decisão. Eu não consigo viver sem as duas ferramentas, parabéns pelo post e espero poder interagir mais. Abraço.

    ResponderExcluir
    Respostas
    1. Seja bem vindo Jefferson Sousa!

      Esperamos mais comentários seus por aqui.

      Excluir
  2. Muito bom o post, vou estudar um pouco mais de Access agora, que site você recomenda para quem está começando?

    ResponderExcluir
  3. Se vc explorar bem as tabelas dinamicas, procs v e h, um pouquinho de programação vba e conhecer como o velho clipper indexava suas base de dados com set index e set relation to e trazer esta ideia pro excel na montagem de tabelas pra usar na sua programacao, não tem nada que o access faça que o excel nao faça tambem.

    Se vc souber utilizar o conceito de pastas e quebrar seus dados em multiplanilhas, trabalha com mais de um milhao de registros no excel sem problemas.

    Se vc aprender fazer contas entre planilhas utilizando na celula o endereco da outra planilha, acabam-se as limitações de tamanho.

    Se vc utilizar a funcao do excel 2010 que permite o uso da planilha multiusuarios definindo celulas preferenciais para determinados usuarios, acaba o problema do uso em rede.

    Agora faz um grafico 3d no access.

    ResponderExcluir
  4. Caro Anônimo em 23/02/13 - 16:23, muito bom o seu comentário.

    Conhece este código? Ele é capaz de exportar os dados do Access para o Excel, criando um gráfico 3D:

    Function CreateChart(strSourceName As String, _
    strFileName As String)

    Dim xlApp As Excel.Application
    Dim xlWrkbk As Excel.Workbook
    Dim xlChartObj As Excel.Chart
    Dim xlSourceRange As Excel.Range
    Dim xlColPoint As Excel.Point

    On Error GoTo Err_CreateChart

    ' Create an Excel workbook file based on the
    ' object specified in the second argument.
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, _
    strSourceName, strFileName, False
    ' Create a Microsoft Excel object.
    Set xlApp = CreateObject("Excel.Application")
    ' Open the spreadsheet to which you exported the data.
    Set xlWrkbk = xlApp.Workbooks.Open(strFileName)
    ' Determine the size of the range and store it.
    Set xlSourceRange = _
    xlWrkbk.Worksheets(1).Range("a1").CurrentRegion
    ' Create a new chart.
    Set xlChartObj = xlApp.Charts.Add
    ' Format the chart.
    With xlChartObj

    ' Specify chart type as 3D.
    .ChartType = xl3DColumn
    ' Set the range of the chart.
    .SetSourceData Source:=xlSourceRange, _
    PlotBy:=xlColumns
    ' Specify that the chart is located on a new sheet.
    .Location Where:=xlLocationAsNewSheet

    ' Create and set the title; set title font.
    .HasTitle = True
    With .ChartTitle
    .Characters.Text = _
    "Total Sales by Country"
    .Font.Size = 18
    End With

    ' Rotate the x-axis labels to a 45-degree angle.
    .Axes(xlCategory).TickLabels.Orientation = 45
    ' Delete the label at the far right of the x-axis.
    .Axes(xlSeries).Delete
    ' Delete the legend.
    .HasLegend = False

    ' Set each datapoint to show the dollar amount
    ' and format the datapoint to be currency
    ' with no decimals.
    With .SeriesCollection(1)
    .ApplyDataLabels Type:=xlDataLabelsShowValue
    .DataLabels.NumberFormat = "$#,##0"
    End With

    End With

    ' Position the points further from the tops
    ' of the columns.
    For Each xlColPoint In _
    xlChartObj.SeriesCollection(1).Points
    xlColPoint.DataLabel.Top = _
    xlColPoint.DataLabel.Top - 11
    Next xlColPoint

    ' Save and close the workbook
    ' and quit Microsoft Excel.
    With xlWrkbk
    .Save
    .Close
    End With

    xlApp.Quit

    Exit_CreateChart:
    Set xlSourceRange = Nothing
    Set xlColPoint = Nothing
    Set xlChartObj = Nothing
    Set xlWrkbk = Nothing
    Set xlApp = Nothing
    Exit Function

    Err_CreateChart:

    MsgBox CStr(Err) & " " & Err.Description
    Resume Exit_CreateChart

    End Function

    Usei o código acima para exportar um conjunto de dados do Access para o Excel e criar um gráfico de colunas 3D a partir do referido conjunto de dados no MS Excel. Pode modelar o código para criar o gráfico que desejar.

    ResponderExcluir

diHITT - Notícias