MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Referências cruzadas com campos sem valores

    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 24/1/2012, 12:53

    Trabalho no Ramo da Saúde, e criei uma base de dados em Access, para monitorizar as visitas dos meus doentes.

    Criei várias tabelas, que depois liguei, de maneira a introduzir os dados no formulário principal com caixas de combinação.

    Devo dizer que nesse aspecto está tudo a funcionar muito bem.

    A dificuldade surgiu na hora de criar as consultas!
    Por exemplo, tenho uma tabela para Hábitos tabágicos:
    1 - Não fumador
    2 - Fumador
    3 - Ex-fumador

    No final de cada mês, quando quero obter os dados relativos a este parâmetro, se por acaso durante o mês eu não tiver Fumadores, a linha que devia ter: Fumadores = 0, pura e simplesmente não aparece. Ou seja passo a ter só dois parâmetros contabilizados.

    O que eu pretendia era ajuda, no sentido de me dizerem como fazer aparecer essa linha mesmo que nenhum fumador tenha aparecido, e que essa linha mostre o valor 0, ou seja

    Masculinos Femininos Total
    Fumadores: 0 0 0
    Não-fumadores: 10 20 30
    Ex- fumadores: 15 35 50
    Totais: 25 55 80

    E já agora é melhor usar uma referência cruzada ou uma consulta simples? O Objectivo é apresentar os dados num relatório tal como exemplifiquei acima.


    Muito obrigado pela ajuda
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 24/1/2012, 13:09


    Olá, bem vindo ao fórum!

    Para atribuir um valor a um campo nulo, e evitar uma quebra de cálculo, usa-se a função Nz.

    Ao invés de indicar apenas o campo (seu respectivo valor), colocamos o campo na função:

    no VBA:
    Nz(NomeDoCampo, 0)

    em consultas:
    Nz([NomeDoCampo]; 0)

    Se o campo não contiver um valor, lhe será atribuído o valor zero.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 24/1/2012, 14:07

    Já testei a função Nz 1 milhão de vezes e não consigo fazer funcionar a coisa utilizando esse sistema.

    [Resolvido]Referências cruzadas com campos sem valores 66544097




    Esta imagem mostra bem o que pretendo. Neste caso quero fazer uma consulta que me dê as patologias apresentadas pelos meus doentes. Vou buscar dados a 3 tabelas:
    1 - Tabela Patologias (Onde estão os códigos de todas as minhas patologias)
    2 - Tabela Utentes (Onde vou buscar os dados relativos ao utente - Neste caso só me interessa o sexo);
    3 - Tabela Histórico datas (Onde vou buscar os dados relativos a cada visita - Neste caso a Patologia)

    Eu tenho 63 patologias codificadas na tabela Patologias, mas nesta consulta só me aparecem 25, ou seja, só me aparecem aquelas que tiveram ocorrências durante o ano. Todas as Patologias que não apareceram, e cujo resultado da contagem é zero, não aparecem na consulta.

    [Resolvido]Referências cruzadas com campos sem valores 88141866




    Nesta outra imagem apresento a consulta em modo estrutura. E aqui pergunto: Onde uso o comando Nz? Já usei em todo o lado, e ou desaparecem todos os dados, ou curiosamente aparecem menos.

    Não consigo fazer uma listagem com as 63 patologias possíveis em que as que não têm ocorrências pura e simplesmente apareçam com um zero à frente.

    Agradecia muito a vossa ajuda!
    Um abraço a todos os que se ocupam a ajudar o próximo!


    Última edição por crazy_guns em 24/1/2012, 15:09, editado 2 vez(es)
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 24/1/2012, 14:23


    Amigo, as imagens não estão acessíveis.
    Administrador
    Administrador
    Administrador
    Administrador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 432
    Registrado : 02/11/2009

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Administrador 24/1/2012, 15:07

    Imagens acessiveis.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 24/1/2012, 15:15

    Penso que agora já dá para ver as fotos. É no que dá ser novato. LOL

    Devo confessar que contornei o meu problema, mas de uma forma arcaica, que foi fazer uma consulta para cada paramatro para cada sexo, o que me deu um número incrível de consultas que depois compilei em relatórios e no final criei um relatório com os relatórios parciais. Imaginam a trabalheira???

    Quando me deparei com 63 patologias... bem, nem tentei fazer as consultas necessárias (Seriam precisas perto de 200), depois elaborar mais 200 relatórios e depois resumir tudo num relatório.

    Tem de haver uma solução mais prática. SÓ PODE!!!!

    Laughing

    Se for necessário eu envio a base de dados por mail, para verem até onde fui e onde posso melhorar.

    Mais uma vez agradeço!
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 24/1/2012, 15:27


    Parece ser necessário um ajuste nos relacionamentos entre as tabelas.

    A imagem também não exibe a consulta de forma que possa esclarecer sua necessidade.

    Convem mesmo disponibilizar o bd.

    No caso, converta uma cópia para a versão A2003.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 24/1/2012, 15:33

    O formato original está em 2003, mas o ficheiro é enorme. Vou ter de compactar e depois enviar por mail. Vou compactar em *.RAR e depois envio.

    Preciso do e-mail para enviar, se me quiser contactar por mail o meu é: ehc_rangel@hotmail.com

    NOTA: A minha base de dados está separada em dois ficheiros.
    1 - Dados - Onde estão as tabelas
    2 - Cardiostat onde estão o resto dos elementos (Formulários, consultas, relatórios e Macros)

    Quando puder enviar a BD é só dizer que eu envio

    Muito obrigado
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 24/1/2012, 15:53


    Pode anexar o bd na mensagem, mesmo.
    Só tem que ser no formato zip.
    Para anexar, clique me Procurar, indique o arquivo, e depois em Enviar Consulta.

    Ou use um servidor como o Dropbox e cole um link na mensagem.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 24/1/2012, 16:20

    O ficheiro em ZIP fica com 25,9 MB. Não dá para enviar!

    O Ficheiro em RAR fica com 14 MB, assim já consigo enviar para um mail.

    Não tenho conta no DropBox Crying or Very sad

    Mande um toque para o meu mail que eu respondo com a base de dados.

    Peço imensa desculpa pelo incómodo


    Obrigado!
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 24/1/2012, 17:15


    Tá parecendo grande demais...

    Abra a base de dados do bd (o backend), e faça um Reparar e Compactar.

    Fica em Ferramentas > Utilitários de banco de dados > Compactar e Reparar Banco de Dados.

    Depois faça o zip.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 24/1/2012, 17:32

    Já fiz o compactar e reparar, mesmo assim ficou com 105 MB - Tamanho original, em ZIP fica por volta de 25 MB.

    Em RAR como já disse consigo compactar melhor e ficar em volta de 14 MB

    Tá muito grande, porque tem muito coisa dentro.
    Muitas consultas e muitos relatórios sobretudo. Foi a maneira que eu arranjei para resolver o meu problema, e até que resolveu para as procuras mais simples. Quando chegou à parte de pesquisar pelas patologias (63) é que desisti de fazer consultas e relatórios em série.

    Para resolver este problema arranjei outra artimanha que exporta os dados para Excell, faz as contas lá e depois importa dos dados de novo para Access. Um coisa do outro mundo LOL

    O problema é que sempre que for preciso adicionar mais patologias tenho de perder imenso tempo a corrigir os ficheiros de Excell e a compor o relatório do Access.

    Tem de haver uma maneira mais fácil de certeza. Eu é que não estou a conseguir.
    Estou a dar os meus primeiros passos em Access e não é tão fácil quanto parece...

    Só mesmo vendo a Base de Dados para analisar os meus erros e ver o que se pode arranjar. Se calhar o mais fácil é começar de novo...

    Só dá mesmo para enviar por mail. Preciso de um endereço para poder enviar. O meu endereço é ehc_rangel@hotmail.com

    Obrigado!
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 24/1/2012, 17:59


    Amigo,
    Creio que a troca de arquivos diretamente entre membros não é uma prática permitida aqui no fórum.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 24/1/2012, 18:44

    https://www.dropbox.com/home#/CARDIOSTAT:::


    Criei uma conta DropBox, mas não sei se a coisa vai funcionar, espero que funcione assim. Se não funcionar diz como fazer.

    Obrigado
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 24/1/2012, 18:51


    O arquivo deve ser colocado na pasta Public do Dropbox, então copie o link e cole no post.

    Se instalou o Dropbox no pc, foi criada a pasta Dropbox e a subpasta Public na sua máquina.
    Com o Dropbox carregado, coloque o arquivo nesta pasta Public, e logo após o Dropbox atualizar, clique direito nele e em Copy Public Link. E cole no post.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 24/1/2012, 23:00

    Ok. Bem me pareceu que não estava a fazer a coisa como deve ser. Coloquei tudo o que compõe o programa num ficheiro *.RAR, é só descompactar dar uma olhadela.

    E não me canso de agradecer a ajuda que me está a dar.
    O ficheiro contém um ficheiro *.EXE - NÃO É UM VÍRUS, é só um aplicativo que uso numa macro para que depois de fazer os cálculos das patologias em Excell me feche o Excell, de outra foram o Excell ficava aberto. (Para funcionar esse aplicativo tem de estar em C:\Windows\System)
    Mas se não quiser usar esse aplicativo não há problema, só tem de fechar o excell manualmente no fim.
    Outra coisa, O relatório Patologias não dá para visualizar, só permite imprimir logo directo, por isso é melhor seleccionar uma impressora virtual para não gastar papel.

    Se calhar fazer bem tinha dado bem menos trabalho.


    cá vai então a base de dados finalmente:

    http://dl.dropbox.com/u/58792496/CARDIOSTAT.rar

    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 25/1/2012, 00:03


    Meu caro, sua estrutura de tabelas precisa muitas modificações.

    Primeiramente, existem muitas tabelas desnecessárias. Todas as tabelas de patologias poderiam ser resumidas em apenas uma, e nesta haver um campo que identificasse o tipo de patologia, relacionado com uma tabela de tipos.
    Do jeito que está, e para obter os resultados que deseja, seria preciso criar uma consulta que reunisse as patologias das várias tabelas, e esta seria usada como uma das fontes de outra consulta principal.

    Além disso, há dados que ferem a integridade referencial.
    Exemplo: Não pode haver uma venda de produto X se este produto não existir na tabela produtos.
    Na sua estrutura, há patologias registradas que não existem nas tabelas-base, o que impede o estabecimento de relacionamentos.

    E por aí vai...

    Gostaria de ajudar, mas não disponho do tempo que estas correções vão demandar.

    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 25/1/2012, 09:35

    Essas correcções podem ser efectuadas sem afectar os dados já recolhidos?

    Não percebi o que queres dizer quando dizes que existem patologias registadas que não estão nas tabelas base:

    É necessário que as Patologias apareçam pelo menos uma vez? É isso?

    Também já notei que as tabelas Patologias estão a mais, uma bastava pelos vistos. Posso alterar isso sem afectar os dados já recolhidos?
    E posso criar a tabela tipos de patologias e ligar com a tabela patologias? Nesse caso preciso também de criar um formulário para introduzir os dados na tabela Patologias, certo?

    Podemos ir fazendo as correcções assim passo a passo? Tu vais dizendo e eu vou fazendo.

    Preciso muito dessa BD a funcionar.

    Obrigado pela ajuda.
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 25/1/2012, 10:46

    Um exemplo é a relação entre a tabela Historico_Datas e a tabela Patologias. O campo H_Pat1_ECG contem dados que não existem no campo Cod_Patologia. Então para relacionar é preciso inserir antes estes dados em falta. Tudo manualmente, para não perder dados existentes.

    Tabelas que vão ser eliminadas precisam ter seus dados transferidos antes para outra tabela.

    No que for possível, vamos auxiliando!
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 25/1/2012, 11:16


    Caro Amigo,

    Já eliminei as relações que estavam a mais entre a tabela Patologias - Histórico_Datas. Agora tenho uma só tabela Patologias com ligação aos 5 campos H_Patx_ECG. Na realidade não eliminei nenhuma tabela, uma vez que eram todas cópias da primeira, por isso o programa continua a trabalhar na perfeição (Fiz essa alteração no ficheiro DADOS)

    Agora o que não entendo é como o campo H_Pat1_ECG pode ter dados que não existam na tabela Patologias? Isso porque todos os dados inseridos nesse campo são os que constam dessa tabela, ou seja é impossível eu inserir em H_Pat1_ECG um código que não conste da tabela Patologias. O que acontece é exactamente o contrário. Há códigos da tabela Patologia que nunca foram usados no H_Pat1_ECG ou qualquer outro campo H_Pat, porque nunca houve nenhum doente que apresentasse essas patologias em nenhuma consulta. Por isso quando faço a consulta só me aparecem 25 Patologias, as restantes como nunca apareceram ficam de fora. O que eu pretendo é fazer um consulta para cada H_Pat em que tenha uma listagem com as 63 Patologias e respectivas contagens (Incluindo as que tem total zero), depois usar essas cinco consultas e agregar os resultados todos numa consulta só, e depois elaborar um relatório com isso.
    Se der para fazer uma consulta só logo aos 5 campos H_Pat isso era mel (É possível?).

    Há ainda outro problema a considerar: Ir mexer no tipo de relação entre tabelas, pode ir chocar com os dados já recolhidos, ou seja só eliminando os dados de Histórico_Datas (Certo?)

    Se puderes, faz um print do relatório Patologias ECG, mesmo para PDF. Isso é o que eu quero que aconteça, mas sem o Excel. E que adicionar patologias não implique ir mexer num milhão de coisas.

    Obrigado!
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 25/1/2012, 11:55


    Veja o resultado de uma tentativa de criar o relacionamento necessário:

    [Resolvido]Referências cruzadas com campos sem valores CardioStat_Relations1

    Veja os registros - são 74, todos código 0 (que não existe em Patologias):

    [Resolvido]Referências cruzadas com campos sem valores CardioStat_Relations2

    * Notei que na janela de Relacionamentos aparecem tabelas que não existem. Delete-as.
    * Compactei e Reparei o Front (CardioStat.mdb) e ficou com a metade do tamanho.

    * Se fizer alterações no seu bd (tanto no front como no back), disponibilize o link para poder ver como está.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 25/1/2012, 12:17

    Caro Amigo,

    Estou agora a perceber o que me queres dizer.
    Além de gerir a Consulta de ECG, a Base de Dados também gere a Consulta de Espirometria e M.A.P.A. (Outros exames que executo), esses 74 registos que apresentam código zero referem-se às 74 Espirometria que fiz. Nessas Só introduzi dados nos campos relativos à Espirometria e como o valor predefinido para os campos H_Patx_ECG é zero, aparecem esses valores.
    Esse problema pode ser resolvido se eu adicionar o código 0 na Tabela de Patologias?
    Por Exemplo: 0 - Nulos - Seleccionar patologia

    Assim todos os zeros teriam correspondência na Tabela - Patologias.
    Assim sendo já daria para estabelecer as relações necessárias?

    Obrigado!
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 25/1/2012, 13:07


    Para corrigir faça assim:

    1 - Acrescente um registro na tab Patologias: campo Cod_Patologia = 64 (que aqui na cópia é o próximo número considerando os existentes), e complete os outros campos cfe lhe convier.
    2 - Abra a tabela Historico_Datas e na coluna H_Pat1_ECG substitua os valores com o código 0(zero) por 64 (ou o número que vc usou no quando cadastrou a patologia).
    3 - Estabeleça o relacionamento.

    Entendeu a lógica?
    Pois examine os relacionamentos e faça estes procedimentos em toda sua estrutura.

    * Apague o valor padrão 0 nas propriedade de campos chave-primária das tabelas.
    * Todo campo chave-primária nas tabelas deve ter sua propriedade Requerido definida como Sim.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 25/1/2012, 13:54


    Percebi a lógica sim.

    Mas tenho outra sugestão. Possivelmente mais fácil:
    Se em vez de criar a Patologia 64 e ir à tabela Histório_Data substituir os zeros por 64 eu for à tabela Histórico_Datas e apagar todos os zeros dos campos H_Patx_ECG? Eliminando o valor predefinido 0 na Tabela Patologias claro.
    Assim todos os campos que que neste momento têm valor 0, passariam a estar vazios. e todos os que vierem a ser criados estarão também vazios. Será mais prático assim?

    Outra dúvida:
    Reparei que quando estabeleço a relação entre o campo Cod_Patologia da Tabela Patologias com o campo H_Pat1_ECG, não preciso de estabelecer mais relações com os restantes H_Patx_ECG. É mesmo assim? (É que os campos continuam a funcionar).

    Pelo que me dá a perceber, até estabelecendo a relação com qualquer campo de Histórico_Datas as caixas de combinação no formulário continuam a trabalhar!!!!!
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 25/1/2012, 13:57

    Todos os dias, ao fim do dia, eu coloco o link na dropbox das alterações que fiz em CardioStat e Dados com a tua ajuda, assim vais monitorizando os meus avanços, pode ser?

    Agradeço muito a ajuda que me estás a dar.
    Não imaginas o quanto te fico agradecido!
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 25/1/2012, 14:21


    Eliminando o valor predefinido 0 na Tabela Patologias claro.

    Este valor não existe na tabela Patologias.
    É justamente o que estamos a avaliar: Cria-lo (ou não, como vc sugere) para permitir o estabelecimento do relacionamento.
    Se, como parece, os registros não tem importância, pode-se, sim, simplesmente deletar o valor 0 no campo H_Pat1_ECG onde aparece.
    E o Access permitirá o relacionamento com integridade referencial.

    Sobre suas demais dúvidas, terei que ver seu bd atualizado antes de responder.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 25/1/2012, 16:06

    E é mesmo necessário na Chave Primária da Tabela Patologias colocar Necessário: Sim?
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 25/1/2012, 16:22


    Com certeza. Para evitar que os erros ocorram novamente.

    O ideal mesmo é toda chave-primária ser do tipo AutoNumeração, quando possível.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 25/1/2012, 19:12

    Caro amigo,

    Acho que a sua ajuda já está a dar fruto, ou assim julgo eu. Vamos lá ver se estou no bom caminho.
    Estou a carregar os ficheiros para a DropBox, depois no final deixo o link. Agora vou explicar o que já fiz, e o que já consegui obter:

    No ficheiro DADOS, procedi às seguintes alterações:
    *Na tabela PATOLOGIAS determinei o valor predefinido como nulo, ou seja tirei o 0;
    *Também na tabela PATOLOGIAS determinei que a chave primária seria obrigatória, conforme sugeriste - Necessário: SIM;
    *Na tabela HISTORICO_DATAS eliminei todos os zeros que estavam nos campos H_Patx_ECG;
    *Na tabela HISTORICO_DATAS, alterei também os valores predefinidos dos campos H_Patx_ECG, para valores nulos, ou seja, o valor predefinido já não é 0;
    *Já verifiquei que está a funcionar, ou seja, para novos doentes os campos não preenchidos já ficam sem dados e não com zeros;

    Ainda no ficheiro DADOS, mas agora a nível das relações entre Tabelas, fiz algumas alterações:
    *Liguei a tabela PATOLOGIAS ao campo H_Pat1_ECG da tabela HISTORICO_DATAS e consegui:
    -Impor Integridade referencial
    -Propagar actualizações dos campos relacionados
    -Propagar eliminação dos registos relacionados

    Tipo de Associação - 2:Incluir TODOS os registos de 'Patologias' e apenas os registos de 'Historico_Datas' em que os campos são iguais

    Aqui coloco uma dúvida: Quando tento juntar o Campo H_Pat2_ECG na mesma ligação, tudo isto que descrevi acima deixa de funcionar????? Ou seja, pelo que percebi, Só é permitido uma ligação por Tabela?
    Curiosamente, e embora, só o campo H_Pat1_ECG esteja ligado à tabela PATOLOGIAS, todos os outros campos continuam a funcionar, ou seja é possível continuar a inserir dados. Será mesmo assim?
    Se não for assim como proceder para ligar a tabela PATOLOGIAS com os outros campos H_Ptx_ECG?

    Alterações em CardioStat:
    Tentei fazer uma consulta, já com as alterações que referi acima, e já consegui obter um output parecido com o desejável. Ou seja, já consegui que aparecessem todas as patologias constantes na tabela PATOLOGIAS e as que não têm dados aparecem em branco.
    Mas assim como aparece o campo H_Pat1_ECG sem dados, também o campo Data aparece em branco, o que é lógico. Se nunca apareceu aquela Patologia não pode haver uma data relacionada.
    Mas aqui uma questão se levanta: Se não há data, como filtrar os dados por data para obter o output pretendido?

    Devo ainda acrescentar que isto só funciona em consulta simples, relacionando a tabela PATOLOGIAS com a tabela HISTORICO_DATAS, quando tento contar os totais, volto só a ter as que têm valores, ou seja, as Patologias sem dados somem-se. LOL

    Podes verificar o que te estou a descrever na consulta: Historico_DatasConsulta2 que está no CardioStat.

    Devo ainda referir que mais uma vez tentei usar a função Nz em todos os locais possíveis e imagináveis e os resultados foram desoladores (LOL) - Não funcionou!

    Por hoje foram estes os progressos que conseguimos, deixo a seguir o link para o DropBox:

    CardioStat: http://dl.dropbox.com/u/58792496/CardioStat.mdb
    Dados: http://dl.dropbox.com/u/58792496/Dados.mdb

    Não te conheço, mas acredita que te fico imensamente grato pelas dicas que me estás a dar. Estás a ter uma paciência de santo comigo. LOL

    Um abraço e não me canso de agradecer a ajuda divina que me estás a dar.
    Obrigado por tudo!
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 25/1/2012, 19:22

    Tipo de Associação - 2:Incluir TODOS os registos de 'Patologias' e apenas os registos de 'Historico_Datas' em que os campos são iguais

    Desfaça isto. Deixe como Impor... e Propagar...
    Se uma relação especial for necessária em alguma consulta, pode ser estabelecida na própria consulta, sem comprometer os relacionamenbtos normais.

    Quanto ao demais, verei seu bd assim que possível.

    Parabens pelo progresso!

    cheers
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 25/1/2012, 20:08

    Feito!

    Voltei a por no tipo de associação:
    - 1:Incluir só as linhas onde os campos associados de ambas as tabelas são iguais

    Confere lá os meus progressos e depois diz de tua justiça. É que eu não tenho bem a certeza se fiz progressos LOL.

    Sinceramente espero que sim!
    What a Face
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 26/1/2012, 10:22

    Olá bom dia!

    Alguma boa novidade para me dar? Afinal o que fiz está bem feito?
    Vamos conseguir por isso a funcionar?

    Um abraço
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 27/1/2012, 11:43


    Olá

    Na mensagem 21 comentei que havia feito um reparar/compactar no arquivo front (CardioStat.mdb).
    Faça isto também na sua cópia, depois compacte em rar ou zip, e disponibilize no Dropbox. Fica com apenas 7 Mb.
    Na verdade o 'tamanhão' do seu bd está no front e não no backend.



    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 27/1/2012, 19:30

    http://dl.dropbox.com/u/58792496/CARDIOSTAT.rar

    Aqui está a minha Base de Dados com os meus progressos.
    Aqui deixo uma nota: O ficheiro tem de ser descompactado na raiz do dico. Só funciona correctamente em C:\

    Como podes ver, fiz as alterações que sugeriste, e consegui obter resultados, mas ainda deve faltar algo que me está a escapar.

    Eu pretendo contar as patologias para os indivíduos de sexo masculino e sexo feminino em separado:

    * Já percebi que para isso tenho que fazer uma consulta simples usando as tabelas HOSTORICO_DATAS e UTENTE --> Consulta 1
    *Depois usando essa consulta com a tabela PATOLOGIAS, faço uma consulta para me contar os dados. Uma coisa estranhíssima acontece:

    - Quando filtro essa consulta para um mês (por exemplo de 01/10/2011 a 31/10/2011), há um número considerável de Patologias que não aparecem, o mais curioso é que as que não aparecem têm pelo menos um registo no ano. As que tem contagem zero, acho que aparecem todas.
    - Agora quando eu filtro essa mesma consulta para uma ano inteiro (de 01/01/2011 a 31/12/2011), tudo funciona na perfeição. Aparecem todas as Patologias (de 1 a 63) sem uma única falta.

    COMO EXPLICAR ISTO????????
    Já queimei os fusíveis às voltas com isto é não consigo dar com o erro. Esta noite quase nem dormi a batalhar com isso.

    Curiosamente, embora a tabela PATOLOGIAS esteja só relacionada com o campo H_Pat1_ECG da tabela HISTÓRICO DATAS, parece que a consulta funciona na mesma. Ainda não verifiquei se os valores estão correctos, mas à primeira vista acho que sim. (Mas lá está, só com dados de um ano inteiro, ou períodos alargados)

    Tentei incluir relacionar a Tabela PATOLOGIAS com todos os campos H_Patx_ECG da tabela HISTÓRICO_DATAS, mas relacionando todos não dá para impor integridade referencial.

    O facto de a tabela HISTÓRICO_DATAS, ter dois campos indexados (Campo ID_Histórico datas - Numeração Automática e Campo NR_Utente, que faz a ligação com a tabela UTENTE) interfere alguma coisa?

    Acho que estou perto, mas de tão perto se calhar não consigo ver.
    Se puderes dar uma vista de olhos e ajudar a ultrapassar este obstáculo ficarei muito grato.

    Obrigado por tudo amigo!
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 27/1/2012, 19:52


    Ok, arquivo baixado.
    Como havia lhe prevenido, tenho pouco tempo e conto com sua paciência.



    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 27/1/2012, 23:31

    Não te preocupes com o tempo. Ajuda quando puderes.

    Quando a ajuda vem assim de boa vontade não se pode exigir.

    Eu já estou a usar a base de dados desde Fevereiro do ano passado. Como não domino bem o Access econtrei uma forma de contornar os problemas que foram aparecendo.
    Se analisares bem a base de dados, todos os relatórios estão uma pouco às 3 pancadas. Acredito até que fazer certo teria sido muito mais fácil. Para apresentar os dados dos Escalões etários repara só no horror de consultas e relatórios que me demorou a fazer. Mas pronto, sempre serve a finalidade para que serve. O que ficou mesmo feio, foi a parte das Patologias. E é nesse que tenho andado a batalhar junto de pessoas amigas por cá, lendo em livros e pesquisando em foruns na net.
    Ter de exportar os dados para o Excell e todas essas trapalhadas que é preciso para contar as patologias é uma loucura sem nome. Tem de haver uma solução mais fácil.

    O grande problema pode ser a questão da construção da Base de Dados logo desde início. A criação das tabelas e sua relações. Foi uma coisa a que não dei muita importância e criei um bocado a correr, de tal forma que agora talvez seja até impossível resolver o problema sem perder todos os dados já recolhidos.

    Quando puderes perder um pouco de tempo, faz-me o favor de olhar para isso com atenção e diz-me se vale a pena continuar a batalhar ou se mais vale manter isso a funcionar mesmo do jeito que está.
    Afinal, embora um pouco atabalhoada, essa Base de Dados dá-me uma jeitão a gerir as minhas consultas.

    Um forte abraço e bom fim-de-semana!
    Obrigado!
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 28/1/2012, 15:23

    Amigo Norbs,

    Acabei de fazer um teste:
    O ficheiro de Dados que te enviei é referente a uma Unidade de Saúde onde vou só desde Meio do ano passado.
    Então usei a consulta para obter os dados de um mês com produção zero:
    Exemplo Janeiro:
    *A consulta dá uma lista de 36 patologias com contagem 0. Agora porque não mostra as restantes 27 também com contagem zero?

    Mês sem produção deveria dar uma listagem das 63 Patologias possíveis com todos os valores a serem 0.
    Se mostra umas, por que não mostra todas?
    E se oculta algumas, porque não oculta todas?

    Já agora se ajudar: As que ficam ocultas são sempre as mesmas?

    Shocked

    Isto está-me a parecer uma caso para Sherlock Holmes

    Um bem haja,
    O seu caro amigo Watson!!!!
    LOL
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 1/2/2012, 19:16

    Penso ter resolvido o problema amigo Norbs, agradecia que visses só a minha base de dados e desses uma vista de olhos nas consultas que consegui fazer.

    Já me está a dar as 63 Patologias em todos os campos, com os valores todos certos.
    Fiz até uma separação entre sexos. Tenho 2 consultas para cada campo H_Patx_ECG (1 por cada sexo) que estão por sua vez a ir buscar a uma Consulta inicial que vai buscar todos os campos de Patologias.

    Penso que o problema de ligação da tabela PATOLOGIAS com os campos H_Patx_ECG, na tabela HISTORICO_DATAS não está a dar problemas. Embora a tabela esteja só ligada ao campo H_Pat1_ECG, parece que funciona tudo direito.

    Testei várias vezes, para vários meses, e para outros períodos e parece que tudo funciona na maior.

    Faz só o favor de baixar a base de dados e dar uma olhadela profissional.
    As consultas que fiz são as primeiras da lista e estão ligadas ao formulário PATOLS (tens de meter um intervalo de datas nesse formulário)

    Um obrigadão pela ajuda.

    A seguir vou precisar de ajuda para montar os relatórios a partir das consultas. Para isso devo abrir outro Tópico ou mantenho este?

    Um abraço


    http://dl.dropbox.com/u/58792496/CARDIOSTAT.rar
    avatar
    Convidad
    Convidado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Convidad 1/2/2012, 19:43


    Olá
    Seu formulário Form_Patols tem a opção de abrir 2 relatórios, mas estes não tem Fonte do Registro. Precisam estar baseados numa tabela ou consulta, e ter um campo Data para que se possa definir um intervalo (data inicial e final).

    Realmente é mais indicado abrir novo tópico específico daqui pra frente, até porque este já está ficando pesado.

    Pode marcar este com resolvido.
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 2/2/2012, 18:55

    Sim eu sei isso do Formulário

    Copiei um dos outros à pressa só para adaptar nas consultas, eu depois resolvo isso do formulário. Aquilo que eu queria mesmo saber era se as Consultas estavam bem.

    E mais importante ainda é se a ligação entre a Tabela PATOLOGIAS e HISTORICO_DATAS estando só ligado a um campo H_Pat1_ECG não haverá problema no futuro. Em todos os testes que fiz com as consultas que fiz funciona sempre tudo bem.

    Se achas que está tudo bem, podemos então colocar isto como resolvido, e avançar para a criação dos relatórios.

    È fácil construir um relatório com base nessas consultas, que me mostre os dados numa listagem separada por sexos e com os totais de cada linha?

    Um obrigado gigante
    A tua ajuda foi muito preciosa para ultrapassar o meu problema
    Espero continuar com a contar com atua ajuda de futuro

    Eduardo
    avatar
    crazy_guns
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 27
    Registrado : 24/01/2012

    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  crazy_guns 12/2/2012, 10:48

    Assunto resolvido.


    Muito obrigado Norbs pela tua ajuda!

    Conteúdo patrocinado


    [Resolvido]Referências cruzadas com campos sem valores Empty Re: [Resolvido]Referências cruzadas com campos sem valores

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 21:05