|
|
Postada em 14/03/2007 07:02 hs
Uso VB, DAO 3.6 e access 2000. Criei uma Tabela chamada Tab_atendimentos_SUS, na qual tem os campos: NOME, ENDEREÇO e a Tab_Procedimentos, com os campos: CODPROCEDIMENTO, NOMEPROCEDIMENTO. Coloquei como chave secundária o CODPROCEDIMENTO dentro da tabela de atendimentos, pois no FORM do Visual basic cadastro os nomes,endereços dos pacientes e clico em várias combobox com os nomes dos Procedimentos. Ex: tem uma combo (quadradinho) para eu assinalar os procedimentos que serão realizados com o paciente, por exemplo, “vacinas”, outra, “testes alérgicos”, e assim vai. Então um paciente pode ter várias combobox assinaladas no form a depender dos procedimentos que o médico precise fazer nele.Eu Já consegui imaginar como buscar o nome do paciente existente, gravar e editar os pacientes: eu busco o nome, se não existe, eu cadastro o nome e o endereço, e vou clicando em cada combobox que quero assinalar, e no botão GRAVAR NOVO eu digo que se ao selecionar uma combobox determinada e se eu clicar no botão GRAVAR NOVO , o sistema vai gravar o paciente através do código com autonumeração do access. Mas tem um porém, eu quero que ao fazer isto eu tenha que cadastrar dentro da tabela “tab atendimentos” um mesmo nome e endereço do paciente para cada procedimento, ou seja, “João Carlos” vai receber o código nº 1 do registro e com procedimento de “vacinas”, “João Carlos” vai receber o código nº 2 do registro e com procedimento de “vacinas ao clicar no combobox “testes alergicos” e assim, o programa vai GRAVAR e criar um novo registro nº 2 na tabela, de maneira que eu não precisse cadastrar todas os dados de novo daquele paciente, mais se crie novos registros do mesmo paciente e os dados que sejam diferentes serão somente os que eu clicar nas combobox. Já fiz isto e deu certo porém, na lista de pacientes LSTPACIENTES aparece todos os “Joões Carlos”. Gostaria de uma sugestão de como organizar as tabelas ou então outra forma de se fazer isto para que eu ao cadastrar os dados, lá por dentro da tabela se crie vários registros de um mesmo paciente quando clicarmos nas combobox (JÁ CONSEGUIR FAZER), porém que não aparecesse vários “Joões Carlos” no listbox LSTPACIENTES ????? pois estou fazendo busca automática dos nomes e vem todos os nomes iguais no listbox. Queria chamar o nome e mesmo dentro da tabela tendo vários registros de um mesmo paciente , no exterior eu clicasse somente num nome igual e aparecesse o nome, o endereço e as combobox que foram selecionadas e as que ainda não foram daquele determinado paciente, A repetição dos pacientes parece redundante mas é exigida e obrigatória por outra empresa que não a nossa,pois depois os dados do access serão importados para uma planilha do excel exatamente com a repetição dos mesmos pacientes em registros diferentes. Se fosse apenas para cadastrar nomes distintos no clique nas combobox eu já estava com a solução. Agradeço desde já a quem puder me clarear uma idéia, muito obrigado, Rogério.
|
|
|
|
|
|
|
|
Postada em 14/03/2007 11:21 hs
Não sei se entendi, mas voce pode fazer na tabela de atendimentos criar uma numeração automatica, e em todas as outras tabelas quando forem gravar os procedimentos identificar o procedimento, além do seu código por este numero único da tabela de atendimento. No caso de vários João Carlos, quando voce consultar, voce pega este número único da numeração automática e traz todos os procedimentos deste número na consulta, e ao gravar novos procedimentos sempre este número indexado com duplicação autorizada. Em Acces com DAO, isto fica muito fácil, pois voce pode até mesmo acoplar este numero em um text invisivel e em consultas rolar na Tabela de Atendimento aparecendo instantaneamento os procedimentos do paciente. Bem, espero que seja isto, alguma dúvida poste, se não for desculpe, ignore. vlu//
|
|
|
|
|
|
Postada em 16/03/2007 02:45 hs
Muito obrigado colega LC Ramos, por esta informação. Deixa eu te esclarecer melhor. Eu só possuo 2 tabelas, uma de atendimentos e outra de procedimentos. O que eu quis falar foi: na tabela procedimentos tenho os campos CodProcedimento (chave primária) e o Procedimento. Na tabela atendimentos tem os campos codpaciente (chave primaria) o campo pacientes e codProcedimento como chave secundaria vinda da tabela procedimentos. Foi isto que você quis dizer ??? Para Gravar na tabela atendimentos vários “Joões carlos’ eu digito nos textbox “nome” e “endereço” do paciente e eu clico na mesma hora as combobox de “vacinas”, “testes alergicos”, e “testes Cutâneos”. Automaticamente na tabela atendimentos criam os registros 1, 2, 3 de João Carlos com o registro 1, com o nome “joão Carlos” e o procedimento “vacinas”, o registro 2 com o nome “joão carlos” e o “testes alérgicos”, o registro 3 com o nome “João Carlos” e o procedimento “ testes cutâneos”. Mas Quando eu no faço a busca na tela por nome paciente vem na listadePacientes os três “Joões Carlos” na lista, com os registro 1, 2, 3 respectivamente. Aí eu coloquei de modo para quando clicar no “João Carlos“ do registro 1, aparecer o nome dele no textbox NOME e o procedimento ”vacinas” FICARÁ ACIONADO na combobox cbmVacinas, indicando que ele usou este procedimento, clico na listapacietnes no registro 2, e aparece o nome dele no textbox NOME e o combobox cmbTestesAlergicos aparecerá acionado. Tudo isto que falei já consegui fazer. Só que eu queria que mesmo cadastrando por dentro da tabela atendimentos 3 (três) “Joões Carlos”, quando eu fosse para a tela principal do programa, quando eu buscasse “João Carlos” aparecesse somente “UM” dos 3(três) “Joões Carlos” na listaPacientes e eu ao clicar nele, aparecesse no textbox txtNome.text o nome dele, e mostrasse de vez na tela “OS 3 COMBOBOX DE VEZ ACIONADOS”. (cmbVacinas, cmbTestes, cmbCutâneos). Eu já deixo no form load e na tela principal do programa todos os 3 combobox desabilitados. A dúvida não é em deixar os componentes acionados ou gravados ou mostrar na tela os textbox ou os combobox, mais sim como organizar a tabela ou talvez a listaPacientes para mostrar na telinha do programa “UM” “PACIENTE” E “TODAS” as “COMBOBOX” de vez acionadas daquele paciente clicado. Atualmente aparece na listaPacientes os 3 “Joões Carlos”, cada um com o seu respectivo combobox gravado e acionado anteriormente. Aí para eu saber quais procedimentos ele tem, eu tenho que clicar em cada um dos “Joões Carlos “ para ver um procedimento (uma combobox) de cada vez acionada, quando na verdade eu queria clicar em “UM” “João Carlos“ somente na lista e aparecer acionada todas as combobox de procedimentos que anteriormente foi gravada pra ele. Desculpe se eu não fui claro, Agradeço desde já obrigado, Rogério.
|
|
|
|
Ama
|
UBERLÂNDIA MG - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 18/03/2007 15:40 hs
já tentou list additens o nome do paciente e subitens os procedimentos
|
|
|
|
|
|
Postada em 19/03/2007 05:37 hs
Já tentei sim, fica o nome do paciente e o procedimento ao lado, porém quando eu cadastro por exemplo 15 procedimentos, automaticamente na lista de pacientes aparece 15 nomes iguais do mesmo paciente, e assim para o usuário que faz a busca fica muito trabalhoso ver os 15 nomes para identificar os procedimentos selecionados.
|
|
|
|
|
|
Postada em 19/03/2007 16:09 hs
Olhe, como que na tabela de atendimentos voce tem o código do paciente (chave unica), voce pesquisa todo atendimento por este código, agora não entendo como pode ser chave unica, se um mesmo paciente tem vários atendimentos, como voce mesmo disse. Mas, trocando em miúdos, para melhorar, coloque um código de identificação do paciente na tabela de atendimento, e pesquise o atendimento por este código, que deve ser unico, sim, mas para cada paciente. De outra forma, voce cadastra o paciente em cada atendimento? Se não entendeu, poste de novo, te mando um exemplo. vlu//
|
|
|
|
|