Duas Condições com o IF

Delphi

09/04/2008

Boa Tarde, Meu Nome é Aldo, e estou iniciando no Fórum. Quero saber se alguem pode me ajudar.

Exemplo: Tenho uma Tabela (apenas Uma) que controla: Numero do cliente e o que eles compraram, valor do produto, dia, mes, ano etc.

Quero saber se com a estrutura IF THEN ELSE consigo mandar imprimir (RAVE) somente o que um determinado cliente comprou no mes de MARÇO (Tabela do Paradox7)
:?:
Grato,
Aldo Pinatti Junior


Aldo.junior1

Aldo.junior1

Curtidas 0

Respostas

Martins

Martins

09/04/2008

Boa Tarde, Meu Nome é Aldo, e estou iniciando no Fórum. Quero saber se alguem pode me ajudar. Exemplo: Tenho uma Tabela (apenas Uma) que controla: Numero do cliente e o que eles compraram, valor do produto, dia, mes, ano etc. Quero saber se com a estrutura IF THEN ELSE consigo mandar imprimir (RAVE) somente o que um determinado cliente comprou no mes de MARÇO (Tabela do Paradox7) :?: Grato, Aldo Pinatti Junior


Poder, pode, mas se fosse vc usaria Query, ficaria melhor.

O campo mês é inteiro?

Algo mais ou menos assim pode te ajudar.
 Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add(´Select * From Sua_Tabela where Mes = :pmes´);
 Query1.Params.ParamByName(´pmes´).AsInteger := StrToInt(EdMes.Text);
 Query1.Open;


Qualquer coisa, retorne ao fórum.


GOSTEI 0
Aldo.junior1

Aldo.junior1

09/04/2008

Grato pela resposta, MAS ...... sou meio BURRÃO

Sim o Campo do Mes está escrito [b:43d6c8f21c]MARÇO[/b:43d6c8f21c] (mes_compra) É UMA STRING

Pelo que entendi, com estes parametros com Query+SQL, se referem apenas ao mes, me desculpe se eu NÃO entendi bem. Mas eh o seguinte: vou fazer um exemplo, porque tem varios clientes, segue

Campo: [b:43d6c8f21c]COD_CLI[/b:43d6c8f21c] = 100
[b:43d6c8f21c]Nome_CLI[/b:43d6c8f21c] = Paulo
[b:43d6c8f21c]MES_COMPRA[/b:43d6c8f21c]: comprou todos os meses Janeiro, Fevereiro Março e continua a comprar em Abril, mas o Cliente Paulo (COD_CLI=100), teve uma duvida no valor nas compras de março (campo: [b:43d6c8f21c]MES_COMPRA[/b:43d6c8f21c])

Quero Imprimir somente as compras que ele([b:43d6c8f21c]COD_CLI[/b:43d6c8f21c] ) realizou no Mes de MARÇO([b:43d6c8f21c]MES_COMPRA[/b:43d6c8f21c])

Grato,

Delphi 7 + RAVE


GOSTEI 0
Luiz Henrique

Luiz Henrique

09/04/2008

Boa noite aldo

Nao é questao de ser burrao, o Martins te deu um exemplo , ...so faltou o ....AND cliente = ´selecionar´..., de uma execucao padrao SQL...apos esta execucao, vc dispararia o teu relatorio. Resumindo vc seleciona e imprime...nao sei bem como o Rave funciona mas seria mais ou menos isso.

Um abraço....T+


GOSTEI 0
Aldo.junior1

Aldo.junior1

09/04/2008

AHAHAHAHA, vc não sabe o quanto sou novato!!!!

para mim apenas a instrução:

IF TABLE1.FIELBYNAME(´COD_CLI´).AsInteger=´100´ and TABLE1.FIELBYNAME(´MES_COMPRA´).AsString=´MARÇO´ then........bastaria para resolver o meu problema.

Não sei muito (praticamente nada, sei que preciso estudar mais) das instruções QUERY.SQL. E com as linhas de comando do Martins onde eu encaixaria o AND ??? . em que linha??? Ainda não tenho a mesma Lógica que Vcs.

Sou mesmo meio BURRÃO

Tenho o Programa praticamente pronto, estou com dificuldades nestas coisas de Consulta e Impressão.

Por favor me explique, se posso usar expressões tipo IF, While, Case ou outro comando.

Muito Obrigado Cara !!!

Fale comigo como um Novato Mesmo

Grato T+

Aldo


GOSTEI 0
Joaoshi

Joaoshi

09/04/2008

Colega, no SQL a instrução para retornar o que você sugeriu como TABLE1 seria:

SELECT * FROM TABLE1 WHERE COD_CLI = 100 [b:7bc91ae424]AND[/b:7bc91ae424]
MES_COMPRA = ´MARÇO´

TABLE1.FIELBYNAME(´COD_CLI´).AsInteger=´100´ and TABLE1.FIELBYNAME(´MES_COMPRA´).AsString=´MARÇO´


GOSTEI 0
Aldo.junior1

Aldo.junior1

09/04/2008

Legal Colega Joãoshi

Muito Obrigado!!!, mas tenho um problema. Onde eu Coloco estas instruções ??? Em todo o lugar que eu coloco me ERRO.

Preciso inserir um Componente QUERY no Form ???
as Instruções vão entre Begin End; ???
em que PROCEDURE ??? BOTTONCLICK ???
as Instruções vão nas propriedades do Componente QUERY ???

onde Coloco isto??? Esta está sendo minha dúvida e ninguem me responde

Muito Obrigado

Aldo


GOSTEI 0
Joaoshi

Joaoshi

09/04/2008

Colega, as instruções vão na propriedade [b:e33a5df6e6]SQL[/b:e33a5df6e6] da Query.

Então no evento OnClick de um button você colocaria:

Query1.Close;
Query1.Sql.Clear;
Query1.Sql.add(´SELECT * FROM TABLE1 WHERE COD_CLI = 100 AND
MES_COMPRA = ´ + QuotedStr(´MARÇO´) );
Query1.Open;

Como o colega [b:e33a5df6e6]Martins[/b:e33a5df6e6] havia informado no post anterior.


Espero ter ajudado.


GOSTEI 0
Martins

Martins

09/04/2008

Colega, as instruções vão na propriedade [b:cd33aeb820]SQL[/b:cd33aeb820] da Query. Então no evento OnClick de um button você colocaria: Query1.Close; Query1.Sql.Clear; Query1.Sql.add(´SELECT * FROM TABLE1 WHERE COD_CLI = 100 AND MES_COMPRA = ´ + QuotedStr(´MARÇO´) ); Query1.Open; Como o colega [b:cd33aeb820]Martins[/b:cd33aeb820] havia informado no post anterior. Espero ter ajudado.


Lembrando q vc poderá trocar o nome Março por um parametro para ficar mais flexível OK!

Valew pela complementação do código Galera!!

Modificando um pouco aqui, testa aí.

Lembrando q vc deve fazer isso na query q vai ser usada no seu relatório, e vc deverá se acostumar a usar SQL, vc ainda vai precisar muito.

 Query1.Close; 
 Query1.SQL.Clear; 
 Query1.SQL.Add(´SELECT * FROM Sua_Tabela WHERE CODCLI = : PCODOCLI  AND MES LIKE :pMES´); 
 Query1.Params.ParamByName(´PCODCLI´).AsInteger := StrToInt(Edcodcli.Text); 
 Query1.Params.ParamByName(´pMES´).AsString := EdMes.Text +´¬´; Query1.Open; 



GOSTEI 0
Aldo.junior1

Aldo.junior1

09/04/2008

OK, Obrigado a todos os Colegas, Pelas Respostas

Agora Sim, me deram uma Luz, as informações estavam meio em pedaços

Vou fazer conforme as orientações dos colegas, qualquer coisa volto ao Fórum.

A!! e desculpe alguma coisa e ao Administrador pela duplicidade, mas as informações estavam meio desencontradas e fiquei ancioso.


OBRIGADO PELA AJUDA RAPAZIADA !!!! VALEU

Aldo


GOSTEI 0
POSTAR