Ajuda - Busca - Membros - Calendário
Versão Completa: Alguém Me Ajuda..please!
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
- Thaise -
Oi galera,
Meu nome é Thaise e eu estou com 4 big problems..hehe
Estou montando um sistema em Delphi com Interbase,sendo que uma das tabelas é uma tabela de orçamento (aquelas fichas de orçamento de papel que eles geralmente te dão nas lojas com uma tabelinha que contém esses campos: Quantidade, Tipo da mercadoria e Valor).

É o seguinte:

1º Big problem - Eu preciso de um código que gere números automáticos, melhor dizendo, um contador automático para o número do orçamento, tipo o inicial vai ser 1 claro, dai quando o usuário clicar no botão "novo" ele automaticamente cria o orçamento 2. Eu queria esse código porque eu montei um e não está dando certo. Criei uma query na unha e o Delphi não reconhece minha query. Comparei com o meu programa de estágio do colégio, é o mesmo código e no programa de estágio ele funciona e no meu atual não;

2º Big problem - Vcs concordam comigo que um usuário pode ter N serviços numa mesma ficha?? Então, na minha tabela do Interbase eu criei os determinados campos (Dados do cliente - nome,end,tel,etc - Dados da mercadoria - quantidade,tipo e valor.) No Delphi eu puxei esses campos para o form e montei a tabela visual.Certo. Acontece que eu não criei chave primária nessa tabela no Interbase (que no caso chama ORCAMENTO), porque a pessoa por ter vários serviços em seu nome. SE EU ESTIVER COM O RACIOCÍNIO ERRADO, POR FAVOR ME CORRIJAM. Acontece que eu não consigo exibir TODOS os serviços desses campos no relatório Quick Report. Eu precisava de uma Grid sabem...ou algo parecido, que liste TODOS OS SERVIÇOS QUE ESSA PESSOA REALIZOU NESSE MESMO Nº DE ORÇAMENTO.

Vcs estão me entendendo?? Tipo eu sou o numero 1 do orçamento e eu realizei 3 serviços. Eu só consigo exibir 1 serviço, utilizando o QRDBText aquele componente de pegar os campos da tabela no Interbase tals...

3º Big problem - Eu preciso verificar campos vazios antes de cadastrar no Interbase. Como? Fazendo um FOR - REPETIÇÃO. A minha prof me explicou mais eu não entendi nada porque ela estava no intervalo de um exercício e a sala estava toda barulhenta. TAMBÉM QUERIA SABER COMO FAZ ISSO.

4º Big problem - Preciso saber como gerar o arquivo inicializável para o usuário instalar o programa na máquina dele.

Gente, se alguém puder me ajudar eu vou agradecer muito! Preciso entregar esse programa no fim de março e só está faltando essas 4 pequenas coisinhas...EU SUPLICO AJUDA!!!!!!

Pra quem quiser maiores detalhes, peguem meu MSN : florzinha_crazywitch@hotmail.com

Abraços.
Tbaiano
Oi Thaise,
O 2 Big Pro... é assim:

Coloque uma Detail Band No Quick e lá os Campos QRDBtext, tá e vc esque ceu de ligar o DataSet do QuickRep em sua Query Pesquisa onde vc está puchando os dados.

Os demais respondo se der amanhã, é que estou muito na correria hj.

Mas calma olhei por cima e não é nada assim tão complicado, o pessoal certamente ainda não lhe ajudou porque postou muita coisa e assustou a galera...

Valeu até mais.

Tbaiano cool.gif
Darlan
Olá Thaise......

Para gerar este código automáticamente, vc pode usar uma query, tipo assim:
Quando vc clicar no botão novo:

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
Table1.Insert;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.add('select max(codigo) + 1 as novo from aniversario');
Query1.open;
if not Query1.IsEmpty then
begin
Table1Codigo.AsString := Query1.fieldbyname('novo').AsString;
DBEdit2.SetFocus;
end
else
Table1Codigo.AsString := '1';


end;

Espero ter ajudo

Darlan
Darlan
A verificação dos campos em branco vc pode fazer no evento before insert da tabela,

if campo.text ='' then
begin
showmessage('Preencha o campo');
campo.setfocus;
exit
else if
campo2.texte = '' then
showmessage('Preencha o campo');
campo2.setfocus;
exit;
end;
end;

assim vc pode veiricar todos os campos requeridos

espero ter "Ajudado"

Darlan

Kikonanet
Thaise,

No próprio Interbase vc pode gerar o código automático

Criando um generator

CODE
create generator cod_cliente;
(execute)


Criando um Trigger

CODE

set term ^;
create trigger ai_cod_cliente for minha_tabela
active before insert position 0
as
begin
if (new.codigo is null) then new.codigo = gen_id( cod_cliente, 1 );
end ^
(execute)


Abs.

kikonanet laugh.gif
- Thaise -
valeu msm galera...agora eu to meia pendente no problema 2...
- Thaise -
poxa ninguem vai me ajudar???
s3c
Olá Thaise, qual sua dúvida?
Se eu souber, posso responder.
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.