Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Guest - Thaise -

Alguém Me Ajuda..please!

Question

Guest - 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 - vocês 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.

vocês 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 : [email protected]

Abraços.

Edited by Progr'amador

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Oi Thaise,

O 2 Big Pro... é assim:

Coloque uma Detail Band No Quick e lá os Campos QRDBtext, tá e você esque ceu de ligar o DataSet do QuickRep em sua Query Pesquisa onde você 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

Share this post


Link to post
Share on other sites
  • 0

Olá Thaise......

Para gerar este código automáticamente, você pode usar uma query, tipo assim:

Quando você 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

Share this post


Link to post
Share on other sites
  • 0

A verificação dos campos em branco você 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 você pode veiricar todos os campos requeridos

espero ter "Ajudado"

Darlan

Share this post


Link to post
Share on other sites
  • 0

Thaise,

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

Criando um generator

create generator cod_cliente; 
(execute)
Criando um Trigger
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

Share this post


Link to post
Share on other sites
  • 0
Guest - Thaise -

valeu mesmo galera...agora eu to meia pendente no problema 2...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148116
    • Total Posts
      643396
×
×
  • Create New...