sexta-feira, abril 13, 2007

Query tipo Cross-Tab em Banco de Dados

Abaixo um exemplo de fazer uma consulta do tipo "Cross-Tab" e pode ser utilizada em qualquer banco de dados:

select filial, sum(decode(mes,'01/07',valor)) Fat_Jan,
sum(decode(mes,'02/07',valor)) Fat_Fev,
sum(decode(mes,'03/07',valor)) Fat_Mar,
sum(decode(mes,'01/07',valor_cob)) Rec_Jan,
sum(decode(mes,'02/07',valor_cob)) Rec_Fev,
sum(decode(mes,'03/07',valor_cob)) Rec_Mar
from NotasFiscais
where mes in('01/07','02/07','03/07')
and cancelado = 0
group by filial
order by filial

segunda-feira, dezembro 04, 2006

Exportando para o Excel

No dia a dia das empresas, sempre é necessário gerar em planilha Excel o resultado de uma consulta no banco de dados. Utilizando o VB é possível acessar os objetos do Excel para fazer esta exportação, mas se o resultado fôr muito grande, fica lento e às vezes trava. Uma solução boa e rápida e extrair este conteúdo para o formato texto que abre normalmente no Excel. Veja o código abaixo:

Dim iFile as Integer
iFile = FreeFile


Open "C:\TEMP\ClientesExcel.TXT" For Output As iFile

sSql = "select * from clientes"
If rs.State = adStateOpen Then rs.Close

rs.Open sSql, cn

sLinha = Empty
For i = 0 To (rs.Fields.Count - 1)
sLinha = sLinha & rs.Fields(i).Name & vbTab
Next i
Print #iFile, sLinha

Do While Not rs.EOF
sLinha = Empty
For i = 0 To (rs.Fields.Count - 1)
sLinha = sLinha & rs.Fields(i) & vbTab
Next i
Print #iFile, sLinha
rs.MoveNext

Loop

Vale lembrar que se o resultado da consulta for maior que 65000 linhas é necessário quebrar em vários arquivos.

sábado, novembro 25, 2006

XML

Com o avanço da informática, cada vez mais as empresas integram seus dados e utilizam de várias maneiras e mais tradicional de todas é o arquivo texto. O arquivo texto é usado desde o começo da informática, sendo muitas vezes o colunado e com separador, com vírgulas, ponto e vírgula, tabulação, etc.

Com o advendo da internet, o XML trouxe uma melhoria muito grande neste processo. Usando o VB é possível gerar e ler arquivos XML com muito facilidade.

Abaixo um fragmento de um código para ler a tabela Clientes e depois salvar todo seu conteúdo no arquivo "clientes.xml":

sSql = "select * from clientes"
If rsCli.State = adStateOpen Then rsCli.Close
rsCli.Open sSql, db
If Not rsCli.EOF Then
rsCli.Save "c:\temp\Clientes.xml", adPersistXML
End If

Para ler um arquivo:

If rsCli.State = adStateOpen Then rsCli.Close
rsCli.Open "c:\temp\Clientes.xml"

Depois é só adaptar o seu programa para suas necessidades.

Com pouco de código é possível usar esta excelente tecnologia para trocar de informações.

segunda-feira, outubro 09, 2006

Futuro profissional

A área de TI é muito dinâmica, muitos apostam em uma tendência e em pouco tempo, tudo muda. Atualmente para conseguir um novo emprego, muitas empresas exigem uma quantidade enorme de qualificações: inglês, espanhol, ERP, Java, etc. O profissional que está na área há muito tempo não consegue se atualizar. É difícil conseguir conciliar a equação: tempo e investimento. Para ser um bom profissional é necessário se dedicar bastante ao trabalho. E fazer cursos de aperfeiçoamento é preciso tempo e dinheiro.

Além do que, a área técnica, o que se refere a linguagem, muitas vezes fica obsoleta rapidamente. Um profissional faz um certificação e começa a trabalhar, só com o tempo, apanhando e aprendendo no dia-a-dia é que será um expert nesta ferramenta e, de repente, ela não está mais na onda do mercado.

Cada vez mais, as empresas exigem curso superior e fluência em várias línguas e, pagando cada vez menos.

É preciso muito critério e pensar de maneira sensata ao investir na carreira. Além do problema financeiro, muitas vezes o tempo será desperdiçado em algo, onde no futuro as portas estarão fechadas.

quinta-feira, outubro 05, 2006

Trabalhar com informática

O trabalho na área de informática tem momentos gratificantes por tudo ser dinâmico, rápido e sempre existiram novidades. Existe o outro lado do stress e das frustrações quando aos resultados. Muitas vezes trabalha-se até a exaustão, para nada. Por mais que se faça, nunca a satisfação do cliente é atendida. Sempre existe algo por fazer e, isto é um dos motivos que muitos perdem o encanto pela informática.

A maior parte do trabalho é corrigir problemas e fazer com as coisas não parem. E hoje com tudo girando em torno da informática, as exigências são grandes. E é uma área que precisa melhor muito pois o índice de falhas e problemas é muito grande. O tempo disponível para o desenvolvimento e implantação de soluções é curta, fazendo com que os teste necessários, não sejam feitos da maneira adequada.

quarta-feira, setembro 27, 2006

Coisas de programador

Quem programa sempre comete enganos monstruosos, muitos cômicos. Um programador passou uma manhã inteira tentando descobrir um erro no código, ficou indignado, depois furioso e não sabia por que a instrução não funcionava. Escreveu assim:

if Var1 > Var2 gosub Rotina

E o conteúdo da Var1 e Var2 estão com conteúdo zero. Um colega olhou e matou na hora a charada, pois zero nunca pode ser maior que zero. Tempos depois isto era lembrado e motivo de muitas gargalhadas.

E mais engraçada ainda são os comentários. Quem faz manutenção de software encontra cada um. Já encontrei: "deus do céu esta m... vai funcionar" – "vai fazendo numa nice" – "agora f..." – "agora vai, não sei para onde". E tantos outros que não me lembro. Certa vez, um gerente de sistemas, viu um destes comentários engraçados e mandou a equipe inteira vasculhar os códigos e retirar todos.

Sem contar, que muitos programadores utilizam nomes pouco ortodoxos para nomear suas variáveis, tais com "a1", b2", o nome da namorada e, quando está muito bravo, coloca palavrões.

Suporte de software

Quem trabalhou como programador ou analista em empresas pequenas e médias, muitas vezes já teve que também fazer o suporte ao usuário final. É bastante interessante como experiência e ao mesmo tempo desgastante, o que vale são os fatos que no momento não é nada engraçado, mas depois acaba virando piada.

Uma vez, um amigo estava trabalhando numa empresa que tinha filiais no Nordeste e sempre fazia suporte e para constatar o problema, emulava a máquina, usando aqueles antigos modens de 9600 bps. Estava ele falando com o usuário e toda vez que o computador discava, dava sinal de ocupado. Depois de muitas tentativas, descobriu que dava ocupado pois o usuário estava usando a linha do modem, ficou furioso e desligou.

E antes do uso do modem ainda era pior. Muitas vezes era preciso corrigir programas ditando para o usuário. Você dizia uma coisa, ele entendia outra.