Entendendo as limitações do Excel

Depois da criação dos Vídeos treinamentos sobre o recurso de importação de dados no Excel com o auxílio de comandos SQL para manipulação dos dados, tenho recebido uma série de dúvidas a respeito e tentarei neste blog, esclarecer algumas delas e também estender as funcionalidades, além daquelas demonstradas nos vídeos dispostos.

O primeiro ponto que é necessário mencionar, é que devemos admitir que só o fato do recursos de importação permitirem enxergar uma pasta de trabalho do Excel como um fonte de dados, já é uma proeza e tanto. É necessário assumir que tentar ir além disso, é fugir demais do foco do aplicativo. Apesar de vantajoso, não é prudente usar o Excel como base de dados. Se a necessidade exigir consultas mais complexas ou um tratamento de dados mais apurados, além de consistência, comece a pensar em utilizar um sistema de banco de dados. O exemplo mais próximo do Excel é o Access, mas não se esqueçam que existem uma série de alternativas, boas e gratuitas, como o MSDE e o SQL Server 2005 Express, para não citar outras. Não vou entrar no mérito destes banco de dados, mas fica aí a idéia.

Tentar transformar o Excel num mega-aplicativo de acesso a dados, pode se tornar tão oneroso que compensaria estudar uma tecnologia dedicada a este fim. Pensem na utilização destes recursos como alternativas, não corriqueiras. A função do Excel é manipular dados, não controlá-los.

Sobre as dúvidas sugestões e suas respostas, tratarei de mencionar todas por este veículo.

Sugestões e comentários, é só avisar.

Um grande abraço a todos.

Tomás Vásquez

Artigo sobre Formulários no Word

Na última FórumAccess, o autor Maurício Martins publicou um bom artigo utilizando os recursos de Formulário no Word, um recurso interessante, simples e pouco divulgado. O site MSDN Brasil como de costume, elege um artigo um ou mais artigos de cada revista para publicar no site, e este foi um dos escolhidos para a felicidade daqueles que não tem fácil acesso a revista:

http://www.microsoft.com/brasil/msdn/Tecnologias/Office/FormulariosWord.mspx?mfr=true

Já tive a oportunidade de utilizar esses recursos em uma rede coorporativa com satisfatória aceitação dos usuários por conta das facilidades proporcionadas, e dos gerentes por parte dos erros evitados.

Faça um bom proveito!

Tomás Vásquez

Comparar pastas de trabalho lado a lado

Um novo método disponível é a comparação lado a lado que permite que você veja mais facilmente as diferenças entre duas pastas de trabalho, sem precisar mesclar todas as alterações em uma única pasta de trabalho. Você pode rolar pelas duas pastas de trabalho ao mesmo tempo para identificar diferenças entre elas. Menu Janela / Comparar Lado a lado com.

  1. Abra as pastas de trabalho que deseja comparar lado a lado.
  2. No menu Janela, clique em Comparar Lado a Lado com.
  3. Na barra de ferramentas Comparar Lado a Lado, siga um destes procedimentos:
    • Para rolar através das pastas de trabalho ao mesmo tempo, clique em Rolagem Sincronizada .
    • Para redefinir as janelas da planilha para as posições em que se encontravam quando você iniciou a comparação das pastas de trabalho, clique em Redefinir Posição da Janela .
  4. Clique em Fechar Lado a Lado para interromper a comparação das pastas de trabalho.

Observação Se você abrir duas pastas de trabalho, o comando no menu Janela incluirá o nome de arquivo de uma dessas pastas de trabalho. Por exemplo, abra “pasta1.xls” e “pasta2.xls”. Durante a exibição de “pasta1.xls”, o menu Janela mostrará o comando como Comparar Lado a Lado com pasta2.xls.

Se você tiver fechado a barra de ferramentas Comparar Lado a Lado mas quiser mostrá-la novamente, clique em Personalizar no menu Ferramentas, clique na guia Barra de Ferramentas e, em seguida, selecione Comparar Lado a Lado na lista Barra de Ferramentas.

AbraçosTomás Vásquez

Diferença entre datas em C#

Diferença entre data no C#

O que era uma simples tarefa no VB clássico era tirar a diferença entre duas data baseado no conjunto de funções que a linguagem oferecia. Algo parecido pode ser nas linguagens .NET, porém não de forma tão intuitiva. Existem novos objetos e classes (estruturas ou structs no caso do DateTime) que precisam ser conhecidas e utilizadas para conseguir a mesma informação.

O código abaixo mostra um exemplo de como obter tais dados de forma simples utilizando a linguagem C#.

1
2
3
4
5
6
7
8
9
DateTime startTime = DateTime.Now;
 
DateTime endTime = DateTime.Now.AddSeconds( 100 );
 
TimeSpan span = endTime.Subtract ( startTime );
Console.WriteLine( "Time Difference (seconds): " + span.Seconds );
Console.WriteLine( "Time Difference (minutes): " + span.Minutes );
Console.WriteLine( "Time Difference (hours): " + span.Hours );
Console.WriteLine( "Time Difference (days): " + span.Days );

No exemplo acima, foram criados dois objetos DateTime sendo um com a data atual e o outro com 100 segundo a mais do que a data corrente. Basta executar o método Subtract() da struct DateTime para obter um objeto TimeSpan com a diferença de valores entre as duas datas. O objeto TimeSpan representa um intervalo de tempo, ou duração de tempo, medida como um número positivo ou negativo de dias, horas, minutos, segundos e frações de segundo.

Saída:

1
2
3
4
Time Difference (seconds): 40
Time Difference (minutes): 1
Time Difference (hours): 0
Time Difference (days): 0

Como pode ser visto, 100 segundo equivalem a exatos 1 minuto e 40 segundos, que é o resultado exato do código. Outras propriedades como a quantidade de milisegundos poderia ser também avaliadas.

Um descritivo completo da classe TimeSpan pode ser visto no MSDN: http://msdn2.microsoft.com/en-us/library/system.timespan.aspx

Apesar de ser uma abordagem diferenciada, trata-se de uma mecanismo poderoso de tratamento de data e hora no .NET.

Referência: http://www.dotnetspider.com/kb/Article552.aspx

Technology, Education and whatever else

css.php