Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
17 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 17 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
TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

Controlar Scanner Twain

31/3/2017, 17:31 por Kleber R Bento

Estou usando o EZTW32.DLL para criar uma ferramenta que escaneia e gera PDF. Porém com esses …

Comentários: 0

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

Os nossos membros postaram um total de 48 mensagens em 25 assuntos

Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Página 1 de 2 1, 2  Seguinte

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

Resolvido Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por Julio em 28/9/2010, 16:02

Boar Tarde PEssoal

Estou tentando fazer uma estatistica que envolve tres tabelas e não estou conseguindo montar.

Tabela 1
Contem os codigos das unidades
(codigo C(7))

Tabela 2
Contem os procedimentos
(Codigo C(7))

tabela 3
Contem os codigos das unidade e os procedimentos realizados e suas quantidades
(Codigo (7), procedimento (C10), quantidade c(10))

Preciso montar uma quarta tabela.

Pegar o codigo da unidade na tabela 1; pega o primeiro procedimento na tabela2 e verificar na tabela tres sua quantidade e salvar nesta tabela 4, caso exista mais proceidmento vai acumulando.
Pegar o codigo da unidade na tabela 1(mesma unidade), pega o proximo procedimento e verificar a quantidade e salvar na tabela 4.

Terminou esta unidade da tabela 1, pega a proxima unidade da tabela 1 e repete o processo.

To quebrando a cabeça mas não consegui resolver ainda.

Alguem tem alguma ideia?

Obrigado

Julio scratch

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por _batmanvfp_ em 28/9/2010, 16:20

se voce colar o codigo no seu projeto e tentar fazer apartir dele trocando as variaveis
posso te passar um modelo pra voce

só que voce quer gerar a 4a tabela ..... ou somente alimentar ???



_batmanvfp_
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por Julio em 28/9/2010, 16:25

A quarta tabela ja existe so preciso alimentar.

Exemplo Tabela 4:

unidade, procedimento, qtde

2040931, 0125985620, 100
2040931, 0125845821, 120
2040931, 2356965211, 300

2041011, 0125985620, 501
2041011, 0125845821, 10
2041011, 0304052120, 600
2041011, 0404070315, 111

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por _batmanvfp_ em 28/9/2010, 16:32

e o que esta incorreto ?
voce quer verificar ?

utilize seek ?

if seek(cursor.valor1,"tabela4")
executa
else
message Não existe resultado para a pesquisa
endif


a tah os numeros acima voce colou , pra mostrar como é o resultado que será
os campos tem , e falta alimentar ?

_batmanvfp_
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por Julio em 28/9/2010, 16:42

Sim, to com a cabeça quente, e nao to raciocinando direito.
Preciso fazer para hoje ainda isso.

Preciso saber por cada unidade a quantidade de cada procedimento.

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por _batmanvfp_ em 28/9/2010, 16:43

Código:
cCodPed = tabela1.unidade
SELECT tabela3
Do While !eof() .AND. cCodPed = tabela1.unidade
select tabela4
if Seek( tabela3.procedimento )
Replace tabela4.unidade with tabela4.unidade + tabela3.unidade
Replace tabela4.procedimento with tabela4.procedimento + tabela3.procedimento
Replace tabela4.qtde with tabela4.qtde + tabela3.qtde
endif
sele tabela3
SKIP
ENDDO
ENDIF


Tenta fazer algo assim
acima estou verificando pela3 para gravar na 4 a partir do codigo da selecionada que seria a 1 ....

nesse caso seu caminho iria ficar 3 .... sendo que na tabela 3 voce tem o codigo da 1 e da 2 ....
caso precisar fazer alguma verificacao pode ser desse genero para essa variavel

Código:
cCodPed = CADPED.PED_COD && Código do Pedido que sera processado
sele CADPEDI
if !Seek( cCodPed )
   Messagebox('Pedido não tem itens')
   Return .F.
ENDIF

mais ve se ajuda

_batmanvfp_
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por m@r<3|o em 28/9/2010, 16:59

para voce selecionar o source principal buscar uma tabela filha e depois gravar em outra tabela filha é como acima para verificar essa busca 1 - N - N
passando disso acho que somente com innerjoin
ou fazer 1 - N - N 1 - N - N um abaixo do outro tambem da certo

mais voce quer somar ???

seria melhor utilizar
Select Sum as total
where tabela2.procedimento = tabela3.procedimento
into cursor Total

o resultado voce grava direto na tabela 4
nao seria mais facil ???

tipo total de tal , conforme aumentar o valor esse valor tem que ser gerado novamente é isso ?

eu haveria aberto capaz um novo campo na tabela 3

é saldo que voce quer calcular ?

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por _batmanvfp_ em 28/9/2010, 17:14


já que esta fazendo estatisticas nao entendi que esta fazendo

uns comandos novos pra te refrescar
coloca ai num prg

onde tenha numerico valores e muda pra sua variaveis olha quanta estatistisca

CLOSE DATABASES
USE cadloca

SET TALK ON
CLEAR
CALCULATE AVG(loca_valor), MIN(loca_valor), MAX(loca_valor)
CALCULATE STD(loca_valor), VAR(loca_valor) TO gnStd, gnVar

_batmanvfp_
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por Julio em 28/9/2010, 17:18

To fazendo um pouco diferente, acho que nao esta dando certo pois, estou fazendo no select que cria o cursor.

Primeiro cursor seleciona somente a competencia que eu preciso.
Código:
m.x = "201008"
SELECT * FROM g_s_prd WHERE m.x = prd_cmp;
 ORDER BY prd_cmp, prd_pa INTO CURSOR gsprd readwrite

Segundo select faz a soma:
Código:
select prd_uid, prd_pa,;
 COUNT(*) as prd_qt_a from gsprd GROUP BY prd_uid, prd_pa INTO CURSOR pesquisa

index on ALLTRIM(prd_uid) tag pesquisa           
           
SELECT pesquisa
BROWSE

Não to conseguindo colocar os procedimento em grupo, alguns procedimentos sao somados sozinhos e outros em grupo, existe preocedimento que pode ter um ou mais procedimentos.

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por m@r<3|o em 28/9/2010, 17:27

count com gruop by ql o erro ?
tem que saber referenciar o group by tem que informar o set

vo postar um exemplo legal de um prg pra voce ver .,...



está limitado no codigo coloca o group by antes , e resolve a verificacao no where do segundo select

ou mesmo , monta um exemplo e poem aqui ai te devolvo


m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por m@r<3|o em 28/9/2010, 17:30


[Você precisa estar registrado e conectado para ver este link.]

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por Julio em 28/9/2010, 17:42

No load do form eu crio e alimento quais procedimento teria que pequisar

Código:
*!* Cria tabela de procedimento a pesquisar
create table procedimento(codigo C(10), descricao C(40), grupo C(2))
select procedimento

insert into procedimento (codigo,descricao,grupo) values ('0301010137','Médico Visita Domiciliar','1')
insert into procedimento (codigo,descricao,grupo) values ('0101030029','Terapeuta Ocupacional','2')
insert into procedimento (codigo,descricao,grupo) values ('0101040024','Auxiliar de Enfermagem','3')
insert into procedimento (codigo,descricao,grupo) values ('0301050058','Auxiliar de Enfermagem','3')
insert into procedimento (codigo,descricao,grupo) values ('0101030010','Agente Comunitario de Saude','4')
insert into procedimento (codigo,descricao,grupo) values ('0301010013','Médico Consulta naUnidade','5')
insert into procedimento (codigo,descricao,grupo) values ('0301010021','Médico Consulta naUnidade','5')
insert into procedimento (codigo,descricao,grupo) values ('0301010064','Médico Consulta naUnidade','5')
insert into procedimento (codigo,descricao,grupo) values ('0301010099','Médico Consulta naUnidade','5')
insert into procedimento (codigo,descricao,grupo) values ('0301010110','Médico Consulta naUnidade','5')
insert into procedimento (codigo,descricao,grupo) values ('0301060037','Médico Consulta naUnidade','5')
insert into procedimento (codigo,descricao,grupo) values ('0301060053','Médico Consulta naUnidade','5')
insert into procedimento (codigo,descricao,grupo) values ('0301010080','Enfermeira','6')
insert into procedimento (codigo,descricao,grupo) values ('0301010129','Enfermeira','6')
insert into procedimento (codigo,descricao,grupo) values ('0301010030','Outros Prof. Nivel Superior','7')
insert into procedimento (codigo,descricao,grupo) values ('0101020040','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0101020066','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0101020074','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0101020082','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0101020090','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0301010153','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0307010015','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0307010023','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0307010031','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0307010040','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0307020010','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0307020029','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0307020070','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0307030016','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0307030024','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0414020120','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0414020138','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0204010187','Cirurgião Dentista Consulta na Unidade','8')
insert into procedimento (codigo,descricao,grupo) values ('0301010013','Pré e pós Consulta','9')
insert into procedimento (codigo,descricao,grupo) values ('0301010021','Pré e pós Consulta','9')
insert into procedimento (codigo,descricao,grupo) values ('0301010064','Pré e pós Consulta','9')
insert into procedimento (codigo,descricao,grupo) values ('0301010099','Pré e pós Consulta','9')
insert into procedimento (codigo,descricao,grupo) values ('0301010110','Pré e pós Consulta','9')
insert into procedimento (codigo,descricao,grupo) values ('0301060037','Pré e pós Consulta','9')
insert into procedimento (codigo,descricao,grupo) values ('0301060053','Pré e pós Consulta','9')
insert into procedimento (codigo,descricao,grupo) values ('0401010023','Curativos','10')
insert into procedimento (codigo,descricao,grupo) values ('0401010031','Curativos','10')
insert into procedimento (codigo,descricao,grupo) values ('0301100152','Retirada de Pontos','11')
insert into procedimento (codigo,descricao,grupo) values ('0201020041','Coleta Para Exames','12')
insert into procedimento (codigo,descricao,grupo) values ('0201020050','Coleta de PKU','13')
insert into procedimento (codigo,descricao,grupo) values ('0301100187','Medicação V.O.','14')
insert into procedimento (codigo,descricao,grupo) values ('0214010015','Glicemia Capilar','15')
insert into procedimento (codigo,descricao,grupo) values ('0301100020','Medicação EV + IM','16')
insert into procedimento (codigo,descricao,grupo) values ('0301100101','Inalação','17')
insert into procedimento (codigo,descricao,grupo) values ('0201020033','Coleta de Papanicolau','18')
insert into procedimento (codigo,descricao,grupo) values ('0101010010','Atividade Educat. Unidade','19')
insert into procedimento (codigo,descricao,grupo) values ('0101010036','Atividade Educat. Comunidade','20')
insert into procedimento (codigo,descricao,grupo) values ('0301100039','Aferição de P.A.','21')
insert into procedimento (codigo,descricao,grupo) values ('0301100136','Outras Atividades','22')
insert into procedimento (codigo,descricao,grupo) values ('0301100144','Outras Atividades','22')

index on ALLTRIM(codigo) TAG codigo

Agora preciso agrupar os procedimentos pelos grupos.


Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por m@r<3|o em 28/9/2010, 18:04

Very Happy


Última edição por marcelofazan em 28/9/2010, 18:21, editado 1 vez(es)

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por m@r<3|o em 28/9/2010, 18:18

[Você precisa estar registrado e conectado para ver este link.]

select grupo, codigo,;
COUNT(*) as descricao from gsprd GROUP BY grupo, codigo INTO CURSOR pesquisa

index on ALLTRIM(grupo) tag pesquisa

SELECT pesquisa
BROWSE

apartir dessa imagem qual resultado voce quer que dá ?

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por Julio em 29/9/2010, 08:10

Preciso dar o resultado, todos os codigos do grupo 5 resulto um total de ...

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por m@r<3|o em 29/9/2010, 09:12

chegou no resultado ?

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por Julio em 29/9/2010, 09:31

Ainda não.

Descobri "noite afora", que o select que fiz ele conta os registros de quantidade, e na verdade eu preciso somar suas quantidas (12+35 = 47)


Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por m@r<3|o em 29/9/2010, 09:45

entao .... acho que descobri pq nada resulta em grupo

o campo grupo voce coloco como caracter tem que ser numerico para dar a ordem certa ........

agora das quantidades isso nao foi postado , qualquer coisa posta ai



Código:
select grupo, codigo,;
COUNT(*) as descricao from pesquisa GROUP BY pesquisa.grupo, pesquisa.codigo INTO CURSOR pesquisa
index on VAL(grupo) tag grupo
set ORDER to grupo                   
SELECT pesquisa
BROWSE


m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por lardecristo em 29/9/2010, 10:24

Olá Júlio, tudo bem?

Então tem como você disponibilizar uma parte das tabelas para eu fazer um teste aqui?

Só para eu entender melhor o que você deseja.

Das três você quer gerar uma resultante, certo?
Este resultado seria a quantidade de procedimentos por unidade e procedimento, certo?

Eu sei que fui repetitivo, mas é que quero entender melhor, para não ficar escrevendo besteira.

Abraços,
avatar
lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por Julio em 29/9/2010, 11:15

Segue as tabelas e meu form

Ta um pouco bagunçado o form, no load tem as duas tabelas que crio e alimento usf e procedimento.

Na tabela g_s_prd tem as quantidades.

Preciso somar por unidade (prd_uid), os procedimentos (prd_pa), a quantidade por grupo (prd_qt_a)

No form monto os grupos, agora so nao estou conseguindo SOMAR, pq o select conta os registros e não adiciona.

Um exemplo verifique a unidade 2028875 tem 4 de quantidade no procedimento 0101010010 e o resultado que obtenho é 3, pq tenho tres registros com as quantidades 1,1,2, o que devria somar 1+1+2 = 4.

Observe o resultado do ultimo browse onde tem o "wait esta certo", veja o registro recno() = 69 deste browse e vera o erro.

Clique Aqui Para Fazer o Download

Obrigado

julio

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por lardecristo em 29/9/2010, 15:55

Cara fiz algumas adptações para rodar aqui, mas dá para você ter uma noção do que fiz, coloque em um local aparte para não misturar com o que você já tem, direcione pelo comando SET DEVICE para a pasta nova e teste.

Mudei o escopo do DataSession para ficar no ar todas as tabelas geradas, para ficar mais facil de você e eu visualizar o resultado.

O que coloquei de novo está no botão e começa com
*************

Qualquer dúvida me envie que te explico melhor o que fiz.

Click aqui para Baixar o exemplo alterado

Abraços,
avatar
lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por Julio em 29/9/2010, 16:27

Luiz

So nao consegui identificar em qual tabela esta a quantidade dos procedimentos???

Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por lardecristo em 29/9/2010, 16:41

c_soma

Abraços,
avatar
lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por lardecristo em 29/9/2010, 16:47

Uma dica legal para fechar uma tabela sem precisar verificar se está aberta.

Esta é a forma que você usa:
Código:

IF USED('usf')
  USE IN usf
ENDIF

Esta seria a forma simplificada

Código:
USE IN SELECT("usf")

Abraços,
avatar
lardecristo
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Fazer levantamento estatistica entre 3 tabelas DBF e gravar em uma 4

Mensagem por Julio em 29/9/2010, 16:57

Obrigado Luiz

Acabei descobrindo aqui vendo com masi calma o seu codigo, é o C_SOMA.

Quando criava não costumava encerrar os cursores ai me passaram a maneira que utilizo.

Sempre aprendendo.

Obrigado

abs

julio


Julio
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Página 1 de 2 1, 2  Seguinte

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