Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
13 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 13 Visitantes :: 1 Motor de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Espessura do cursor intermitente

7/3/2017, 09:08 por Jefferson Matakas

Bom dia a todos !!

Existe uma opcao no windows que pode ser acessada atraves da 'central da …

Comentários: 0

DESENVOLVIMENTO EM REDES

4/3/2017, 18:45 por AJC

Pessoal tem ou conhece livros ou material para programação em
redes usando banco de dados nativo …

Comentários: 0

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: 4

Como preencher campos vazios

9/2/2017, 11:55 por Linghston

Pessoal boa tarde,

É o seguinte, eu preciso preencher os campos de uma coluna da tabela DBF que …

Comentários: 2

Enviar msg para WhatsAPP via VFP

7/2/2017, 10:31 por Eliana

Olá Pessoal!

Alguém sabe se é possível enviar mensagem para o WhatsAPP via VFP?


Grata


Comentários: 0

Estatísticas
Temos 7037 usuários registrados
O último usuário registrado atende pelo nome de GETULIO

Os nossos membros postaram um total de 31 mensagens em 17 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
avatar
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.
avatar
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.
avatar
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 ?
avatar
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

avatar
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 ?
avatar
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 !
avatar
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.
avatar
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
avatar
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.
avatar
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.
avatar
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