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





sexta-feira, 12 de dezembro de 2014

Baixar arquivos do site 4SHARED



Primeira coisa a fazer é entrar no site www.4shared.com  e fazer login
Para fazer login entre com sua conta google ou  alguma rede social desta lista
clique nos itens 1 e 2 da figura para entrar com uma conta google
Em seguida faça login normalmente
Após fazer o login você será direcionado para a pagina do 4shared 
 Note que o nome de usuário mudou no canto superior direito
Agora que você está logado é hora de digitar o seu link que você deseja fazer o download. 

Digite link em seguida clique em download conforme imagem abaixo
Você é direcionado para outra página com o tempo de 20segundos para concluir o download, clique em FREE DOWNLOAD e aguarde a contagem regressiva, caso abra outras janelas antes de chegar aqui, pode fechar ou observar se esta janela está minimizada
Após o término da contagem é será aberto uma janela automatica perguntando onde você vai salvar o download, alguns navegadores começam baixar automaticamente e geralmente o arquivo é salvo na pasta DOWNLOAD do Windows

segunda-feira, 25 de março de 2013

Delphi: Executando Componentes de Banco de Dados

Como executar uma Query no Delphi
Alguns programadores iniciantes ao inserir um Query no Data Module da Aplicação simplesmente altera o Campo SQL para executar a operação desejada, porém a forma mais eficaz e executá-la no corpo do programa, assim como as stored procedures

Execução de Query no Delphi

qry.Close; 
qry.SQL.Clear; 
qry.SQL.Add(passe aqui o sql da lista); 
qry.ExecSQL;

Execução de Stored Procedures no Delphi

 CREATE PROCEDURE ATUALIZA_PRECO_VND_PRD ( 
id_produto integer, 
margem_lucro decimal(15,4)) 
as 
begin 
update tabprodutos 
set preco_venda = preco_custo + (preco_custo * :margem_lucro)/100 
where id_produto = :id_produto; 
suspend; 
end^ 

SET TERM ; ^ 

with qrylocal do 
  begin 
    close; 
    sql.clear; 
    sql.add(' EXECUTE PROCEDURE ATUALIZA_PRECO_VND_PRD (:id_produto,:margem_lucro decimal)'); 
    Params[0].asinteger    :=  inttostr(dbe_produto.text); 
    Params[1].ascurrency  :=  inttofloat(dbe_margemLucro.text); 
    try 
      execsql; 
      dm.connection.commit; 
    except 
      dm.connection.rollback; 
    end; 
  end;

lQuery := TQuery.Create(nil);     
try
  lQuery.SQL.Clear;
  lQuery
.SQL.Add('exec fn_ResolucaoPessoa: TipoPesquisa: NomePessoa: CPF: RG: DataNascimento: NomeMae');
  
lQuery.Parameters.ParamByName('TipoPesquisa').Value := rgOpcoes.ItemIndex;
  
lQuery.Parameters.ParamByName('NomePessoa').Value := EditNome.Text;
  
lQuery.Parameters.ParamByName('CPF').Value := EditCPF.Text;
  
lQuery.Parameters.ParamByName('RG').Value := EditRG.Text;
  
lQuery.Parameters.ParamByName('DataNascimento').Value := EditDataNasc.Date;
  
lQuery.Parameters.ParamByName('NomeMae').Value := EditNomeMae.Text;
  
lQuery.ExecSQL;finally
  lQuery.Free;
end; 

MySQL: como auto incrementar?

Essa é a mais fácil de todas.


Acrescente a palavra auto_increment após o nome do atributo, mas cuidado com a ignorância, o auto incremento não funcionará em atributos CHAR,VARCHAR,TEXT...

veja o exemplo...


create table venda (
numero integer not null auto_increment,
data date,
primary key(numero)
);