Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
6 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 6 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
Bloquear edição do ListBox

17/6/2010, 15:13 por Julio

Pessoal

Boa Tarde!

Tnho uma listbox apenas para exibir o resultado.
Preciso bloquear a listbox …

Comentários: 17

automação do mozilla e chrome

15/1/2017, 12:16 por Handerson Mildroz

Boa tarde a todos!

Sou iniciante no VFP. Preciso de ajuda, pois tenho um código que usa o …

Comentários: 0

COMO ESTÃO DESENVOLVENDO EM WEB?

22/8/2016, 10:48 por AJC

Pessoal, já lí sobre vários topicos aqui no forum sobre desenvolvimento web
mas ainda nada …

Comentários: 2

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 0

dll pertocheck

15/12/2016, 12:45 por FERNANDOMATRELLA

Alguem teria ja desenvolvido a comunicação com essa dll estou tento muito trabalho aqui e nenhum …

Comentários: 1

Estatísticas
Temos 6987 usuários registrados
O último usuário registrado atende pelo nome de Alexsander Leal

Os nossos membros postaram um total de 3 mensagens em 1 assuntos

Duvida Instrução SQL

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Duvida Instrução SQL

Mensagem por renatojunior2009 em 24/7/2012, 17:56

Boa tarde Galera,

Tenho a seguinte situação , tenho duas tabelas, a primeira onde lista todas minhas notas fiscais essa possui a seguinte estrutura.

Nome Tabela: tb_notas
|Campo |
numero
nomecli

Na outra tabela fica armazenado os itens da nota fiscal, com a seguinte estrutura.

Nome Tabela: tb_itens
|Campo|
numero
dtemissao
descricao
vrunit
quant
vrdesc

Estou fazendo o seguinte código.

Código:

SET ENGINEBEHAVIOR 70
SET DATE BRITISH

SELECT n.numero,n.nomecli, SUM(ROUND((i.quant*i.vrunit)-i.vrdesc,2)) as fValorTotal;
   FROM tb_nota n ;
INNER JOIN tb_itens i ON n.numero  = i.numero
WHERE dtemissao >= CTOD("01/01/2007");
INTO CURSOR tmp1

Quero que embaixo de cada nota mostre os itens (produtos) relacionados a ela , como poderia fazer isso ?

Desde já agradeço

Renato

renatojunior2009
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por lardecristo em 25/7/2012, 01:56

Bom vou para o modo prático...kkk..... tire o SUM e coloque os campos....depois faço a totalização, ou duplique a query anterior e processada como falei no começo, e lembre-se de dar um novo nome ao cursor.

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por renatojunior2009 em 25/7/2012, 08:18

[Você precisa estar registrado e conectado para ver este link.] escreveu:Bom vou para o modo prático...kkk..... tire o SUM e coloque os campos....depois faço a totalização, ou duplique a query anterior e processada como falei no começo, e lembre-se de dar um novo nome ao cursor.

Poderia me dar um exemplo ?, não entendi ao certo como fazer.

renatojunior2009
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por Marcos Guedes em 25/7/2012, 09:36

Renato, pelo que entendi, seu problema é apenas de report, e não de SELECT.
O SELECT é bem simples:

Código:
SELECT nt.numero, nt.nomecli, it.dtEmissao, it.descricao, it.vrunit, it.quant, it.vrdesc
  FROM tb_notas nt INNER JOIN tb_itens it ON nt.numero=it.numero

E para exibir os itens abaixo das notas, você terá que agrupá-los no report.

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por renatojunior2009 em 25/7/2012, 09:38

[Você precisa estar registrado e conectado para ver este link.] escreveu:Renato, pelo que entendi, seu problema é apenas de report, e não de SELECT.
O SELECT é bem simples:

Código:
SELECT nt.numero, nt.nomecli, it.dtEmissao, it.descricao, it.vrunit, it.quant, it.vrdesc
  FROM tb_notas nt INNER JOIN tb_itens it ON nt.numero=it.numero

E para exibir os itens abaixo das notas, você terá que agrupá-los no report.

Não marcos , quero que exiba os itens da nota abaixo de cada nota, entendeu ?

renatojunior2009
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por alceu11 em 25/7/2012, 09:56

UM exemplo tem mais no forum
Faca uma pesquisa, encontre o topico do Portugues, vc encontar ate o video
Pedido com itens
Código:

CLOSE DATABASES all
SET SAFETY off
CREATE TABLE pedido(codigo c(4),data d(8),codcli c(4),valor n(8,2))
INSERT INTO pedido VALUES ('0001',DATE(),'0001',100)
INSERT INTO pedido VALUES ('0002',DATE()+10,'0002',100)
INSERT INTO pedido VALUES ('0003',DATE(),'0001',100)
INDEX ON CODIGO TAG CODIGO
CREATE TABLE MovPed(codped c(4),codprod c(4),quant n(4), valvend n(8,2))
INSERT INTO movped values('0001','0001',6,60)
INSERT INTO movped values('0001','0002',2,40)
INSERT INTO movped values('0002','0001',5,50)
INSERT INTO movped values('0002','0002',6,60)
INSERT INTO movped values('0002','0003',2,40)
INSERT INTO movped values('0003','0001',6,60)
INSERT INTO movped values('0003','0002',2,40)
INDEX ON CODPED TAG CODPED
CREATE table produto(codigo c(4),descricao c(30),valor n(8,2))
INSERT INTO produto values('0001','CIMENTO TIPO 1 ',10)
INSERT INTO produto values('0002','AREIA TIPO 2 ',10)
INSERT INTO produto values('0003','PEDRA TIPO 2 ',10)
DEFINE WINDOW pedidos FROM 0,0 TO 18,125 TITLE 'pedidos' FLOAT close
DEFINE WINDOW movimento FROM 20,0 TO 40,125 TITLE 'movimento' FLOAT close
CLOSE DATABASES ALL
SELECT 0
USE movped
SET ORDER TO codped
*************RENATO JR BAIXA A APOSTILA loGICA ESTA SECAO TUTORIAIS
SELECT 0
USE pedido
SET ORDER TO codigo
SET RELATION TO codigo INTO movped additive

SELECT movped
ACTIVATE WINDOW movimento
BROWSE NOWAIT IN WINDOW movimento

SELECT pedido
ACTIVATE WINDOW pedidos
BROWSE IN WINDOW pedidos

CLOSE ALL
****************
*Scather (ler) e Gather (gravar)
CLOSE DATABASES ALL
SET SAFETY OFF
CREATE TABLE CATALOGO (CODIGO N(4),NOMES C(30))
CREATE TABLE CATA9 (CODIGO N(4),NOMES C(30))
FOR I=1 TO 20
INSERT INTO CATA9 (CODIGO,noMES) VALUES (I,"CLIENTE "+STR(I))
ENDFOR
Close DATABASES
USE CATA9 IN 1
use CATALOGO IN 2
Select 1
Go Top
Do While !eof()
Scatter memvar

Select 2
Append Blank
Gather memvar

Select 1
Skip
Enddo
SELECT 2
BROWSE LAST
***
USE
CLOSE ALL


alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por Marcos Guedes em 25/7/2012, 10:05

[Você precisa estar registrado e conectado para ver este link.] escreveu:
[Você precisa estar registrado e conectado para ver este link.] escreveu:Renato, pelo que entendi, seu problema é apenas de report, e não de SELECT.
O SELECT é bem simples:

Código:
SELECT nt.numero, nt.nomecli, it.dtEmissao, it.descricao, it.vrunit, it.quant, it.vrdesc
  FROM tb_notas nt INNER JOIN tb_itens it ON nt.numero=it.numero

E para exibir os itens abaixo das notas, você terá que agrupá-los no report.

Não marcos , quero que exiba os itens da nota abaixo de cada nota, entendeu ?
Não entendi!

Posta um modelo de retorno que esperas receber...

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por renatojunior2009 em 25/7/2012, 14:43

[Você precisa estar registrado e conectado para ver este link.] escreveu:
[Você precisa estar registrado e conectado para ver este link.] escreveu:
[Você precisa estar registrado e conectado para ver este link.] escreveu:Renato, pelo que entendi, seu problema é apenas de report, e não de SELECT.
O SELECT é bem simples:

Código:
SELECT nt.numero, nt.nomecli, it.dtEmissao, it.descricao, it.vrunit, it.quant, it.vrdesc
  FROM tb_notas nt INNER JOIN tb_itens it ON nt.numero=it.numero

E para exibir os itens abaixo das notas, você terá que agrupá-los no report.

Não marcos , quero que exiba os itens da nota abaixo de cada nota, entendeu ?
Não entendi!

Posta um modelo de retorno que esperas receber...

Por exemplo:

Numero NF | Dt. Emissao | Cliente | Itens da NF | Vl. Item | Total |
000001 | 25/07/20012 | Programação Brasil | Livro A 1,00
Livro B 1,00
Livro C 1,00 3,00

Deu pra entender ?

renatojunior2009
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por Marcos Guedes em 25/7/2012, 19:31

você quer isto, desta forma, num grid, report...?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por renatojunior2009 em 25/7/2012, 22:10

Resolvi Galera ....usando um cursor e um DO WHILE para inserir todos os itens da nota nele.

Obrigado a todos vocês !

renatojunior2009
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por lardecristo em 26/7/2012, 10:19

Renato poste por favor o código que fez.
Outra coisa, o Marcos Guedes postou a Query corrigida.
Bom, vou deixar aqui uma dica use a query, porque a mesma consome mesmo tempo de processamento.

Abraços.

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por renatojunior2009 em 26/7/2012, 11:12

[Você precisa estar registrado e conectado para ver este link.] escreveu:Renato poste por favor o código que fez.
Outra coisa, o Marcos Guedes postou a Query corrigida.
Bom, vou deixar aqui uma dica use a query, porque a mesma consome mesmo tempo de processamento.

Abraços.

Código:

SELECT n.fnumero,n.fempresa,n.fformulari,n.femissao,n.fcodnat,n.fnatoper,n.fdespeca,n.fnomecli,n.fvalfrete,n.fvalseguro,n.foutradesp,n.fDesServ;
   FROM notafisc n ;
WHERE femissao >= CTOD("01/01/2007");
AND n.fformulari = 2 OR n.fformulari = 1 ;
INTO CURSOR tmpNF

CREATE CURSOR Tab_Temp(fcampo1 c(6), fcampo2 c(100), fcampo3 d(8), fcampo4 c(100),fcampo5 c(100),fcampo6 c(100),fcampo7 c(100),fcampo8 n(12,2),fCampo9 n(12,2),fCampo10 c(2),fCampo11 c(2))

SELECT tmpNF
GO TOP
SCAN
   lcNumCFOP = tmpNF.fcodnat
   lcNomeCFOP = IIF(SEEK(ALLTRIM(lcNumCFOP),"operacoe","chave1"),operacoe.fdescricao,"")
   lcDescGeral = tmpNF.fDespeca
   INSERT INTO Tab_Temp (fcampo1,fcampo2,fcampo3,fcampo4,fcampo5,fcampo6) VALUES (tmpNF.fnumero,tmpNF.fempresa,tmpNF.femissao,lcNumCFOP,lcNomeCFOP,tmpNF.fnomecli)
   SELECT itemnota
   SET ORDER TO chave1
   SEEK ALLTRIM(tmpNF.fNumero) + tmpNF.fEmpresa + STR(tmpNF.fformulari,1)
   lnValorNF = 0
   DO WHILE !EOF() AND tmpNF.fnumero = ItemNota.fNumero AND tmpNF.fEmpresa = ItemNota.fEmpresa AND tmpNF.fformulari = ItemNota.fFormulari
      lcDescricao = ALLTRIM(itemnota.fdescricao)
      lcCodCFOP = TransForm(itemnota.fcfop,"@R 9,999")
      lcDescCFOP = IIF(SEEK(ALLTRIM(lcCodCFOP),"operacoe","chave1"),operacoe.fdescricao,"")
      lcCSTPis = itemnota.fcstpis
      lcCSTCof = itemnota.fcstcof
      lnValorItem = ROUND((itemnota.fquant * itemnota.funitario)-itemnota.fDesconto,2)
      lnValorNF = (lnValorNF + lnValorItem)
      INSERT INTO Tab_Temp (fCampo4,fCampo5,fCampo7,fCampo8,fCampo10,fCampo11) VALUES (lcCodCFOP,lcDescCFOP,lcDescricao,lnValorItem,lcCSTPis,lcCSTCof)
      SKIP
    ENDDO
    lnValorNF = lnValorNF + (tmpNF.fvalfrete + tmpNF.fvalseguro + tmpNF.foutradesp) - tmpNF.fDespeca - tmpNF.fDesServ
    INSERT INTO Tab_Temp (fCampo9) VALUES (lnValorNF)
   SELECT tmpNF
ENDSCAN

renatojunior2009
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por lardecristo em 26/7/2012, 12:38

Gostei da sua solução, mas posso explorar um pouco mais?
Eu gosto de explorar todas as possibilidades, para ampliar o conhecimento e soluções para o mesmo.
Perguntas:
A impressão é numa impressora matricial? Se sim, você está usando o comando "???"?
Ou você está usando o Report do VFP para impressão em Jato/Laser?
Qual versão do VFP?

Abraços.

lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida Instrução SQL

Mensagem por renatojunior2009 em 26/7/2012, 16:45

[Você precisa estar registrado e conectado para ver este link.] escreveu:Gostei da sua solução, mas posso explorar um pouco mais?
Eu gosto de explorar todas as possibilidades, para ampliar o conhecimento e soluções para o mesmo.
Perguntas:
A impressão é numa impressora matricial? Se sim, você está usando o comando "???"?
Ou você está usando o Report do VFP para impressão em Jato/Laser?
Qual versão do VFP?

Abraços.


lardecristo Não é para impressão , com o cursor criado , exportei para XLS , aproveitando a deixa, como faria para exportar para XLSX, tendo em vista que existe uma limitação quanto ao número de linhas.

renatojunior2009
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum