quarta-feira, 25 de novembro de 2015

Criar Procedure Inserir em banco de dados Microsoft Acces com VBA

Um Exemplo bem fácil e prático de como inserir dados em uma tabela no Microsoft Acces utilizando VBA - Macros do próprio Acces

A tabela que utilizaremos como exemplo terá somente dois campos: 

create table cidade(
cd_cidd integer,
nm_cidd varchar(15)
)


Será inserido na tabela dados conforme exemplo abaixo:

cd_cidd   nm_cidd
1         cidade1
2         cidade2
3         cidade3
4         cidade4
5         cidade5 

.... e assim sucessivamente até  que o loop chegue ao fim, que no nosso caso é de 1 milhão

No VBA utilize a procedure a seguir.

Sub inserir_dados()
 Dim dbs As Database
 Set dbs = OpenDatabase("Banco de dados1.accdb")
 Dim contador As Double
 Dim cidade As String

 contador = 1
 cidade = "cidade"
Do While (contador < 1000000)
 dbs.Execute "insert into cidade(cd_cidd,nm_cidd) " 
             &"values(" & contador & ",'" & cidade & contador & "')"
 contador = contador + 1
Loop
dbs.Close
End Sub

segunda-feira, 23 de fevereiro de 2015

Relatório Delphi7 Abrindo Sempre o Mesmo Resultado da Pesquisa Anterior

Problema com RaveRaports no Delphi?

Problema com QuickReportno Delphi?


Então tá aqui ma dica simples que faz muita gente perder a cabeça:



Descrição do Problema

Ao gerar um relatório usando no Delphi7 o valor apresentado sempre é igual ao ultimo resultado buscado, mesmo sem ocorrer nenhum erro  e mesmo com a consulta retornando valor correto no DBGrid do  formulário...

Muitos Tópicos afirmam que o problema é no componente do DELPHI, e manda atualizar, porém nada vai adiantar, porque o problema não é no componente, muito menos na consulta.


SOLUÇÃO

Para resolver isso precisamos apenas corrigir um pequeno detalhe: o evento onClose do formulário que consta a consulta.

Evento OnClose do formulário digite: Action:=cafree;

Com isso o formulário é destruído o sistema e cada vez que você abrir, é como se fosse a primeira vez

OBS: não esqueça que com isso, cada vez que for preciso exibir o formulário será necessário criar ele novamente

ex:     Application.CreateForm(TfmFormXX, fmFormXX);


Espero que alguém seja ajudado