Fórum Duas Condições com o IF #356898
09/04/2008
0
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
Curtir tópico
+ 0Posts
09/04/2008
Martins
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
09/04/2008
Aldo.junior1
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
09/04/2008
Luiz Henrique
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
09/04/2008
Aldo.junior1
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
10/04/2008
Joaoshi
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
10/04/2008
Aldo.junior1
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
11/04/2008
Joaoshi
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
11/04/2008
Martins
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
11/04/2008
Aldo.junior1
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
Clique aqui para fazer login e interagir na Comunidade :)