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]ajuda com o campo histórico da consulta..

    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 19/2/2013, 10:28

    Bom dia pra todos!!!

    Novamente, preciso da ajuda de voces..
    Criei um campo histórico (memorando)- que tem a finalidade de conter a evolução da doença do paciente a cada consulta;
    Não estou sabendo fazer:-
    1- Gostaria de que a cada nova consulta o campo histórico trouxesse as informações das consultas passadas

    2- Gostaria de imprimir - apenas trechos do histórico (tipo marcar um trecho e enviar para impressão)

    Agradeço, antecipadamente a ajuda..
    gracy
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 19/2/2013, 10:36

    Bom dia Gracy, utilize o Dlookup para isto, diminuindo 1 do campo ID no critério

    = Dlookup("CampoHistorico";"SuaTabela";"SeuCampoID = " & Me.SeuCampoIDNoForm] -1 )

    Tente assim, a única desvantagem é que se numeração automática para o campo ID e tiver excluido o registro anterior dará erro pois suponha que se tens 3 registros

    1, 2 e 3.... caso tenha excluido o reg. 2 o codigo não encontrara a consulta anterior pois 3-1 = 2 e o registro 2 fora excluído

    Podes tambem no evento ao carregar utilizar um recordset filtrado para isto, algo assim:


    Dim Rs as Dao.Recordset
    Dim StrID as Long

    Set Rs = CurrentDb.OpenRecordset("SELECT * FROM suaTabela")
    Rs.FindPrevious "CampoIDNaTabela = " & StrID & ""

    SuaCaixaTexto = Rs.SeuCampoMemorando

    Esta opção creio ser a melhor, pois busca o registro anterior ao seu registro aberto no form.


    Cumprimentos.
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 19/2/2013, 14:45

    Piloto, infelizmente, não deu certo...

    Com certeza, estou fazendo alguma coisa errada.. vou tentar explicar melhor:-
    - tenho um cadastro de Pacientes com os campos codpac - paciente - nficha
    - tenho um cadastro de Consultas com os campos codAnam - historico - contPaciente

    No cadastro de pacientes há um botão que abre o Cadastro de Consultas
    onde contPaciente=codpac

    então.. um paciente com o codpac = 23 irá ter "n" consultas e o campo histórico
    seria tipo "cumulativo"..

    tentei colocar no evento "ao carregar" (do formulário de Cadastro de Consultas)
    a insrução que vc sugeriu:-

    Dim Rs as Dao.Recordset
    Dim StrID as Long

    Set Rs = CurrentDb.OpenRecordset("SELECT * FROM T_Consulta")
    Rs.FindPrevious "ContPaciente = " & StrID & ""

    historico1 = Rs.historico


    SuaCaixaTexto = Rs.SeuCampoMemorando (não entendi aqui:- porque meu campo memorando chama-se historico...
    então, criei uma caixa texto historico1 => mas, mesmo assim não deu certo)

    Enfim, se você puder "dar uma luz pra mim"... agradeço...
    gracy

    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 19/2/2013, 16:15

    Sei campo memorando.. é o nome do campo memorando na tabela..

    qualquer coisa poste o BD

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 19/2/2013, 16:18

    Se a instruação ficará em um sub form veja no mesmo qual campo é o campo que contém o codigo do paciente. e na instrução:

    Dim Rs as Dao.Recordset
    Dim StrID as Long

    StrID = Me.SeuCampoNoSubFormOndeFicaOCodigoDoPaciente

    Set Rs = CurrentDb.OpenRecordset("SELECT * FROM T_Consulta")
    Rs.FindPrevious "ContPaciente = " & StrID & ""

    Me.Historico1 = Rs.NomeDoCampoHistorico naTabela

    Cumprimento.
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 19/2/2013, 19:48

    Boa tarde!! pessoal...

    Estou postando o BD.. e até já agradeço sua paciência em ajudar-me

    gracy
    Anexos
    [Resolvido]ajuda com o campo histórico da consulta.. AttachmentPaciente.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (497 Kb) Baixado 41 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 19/2/2013, 19:58

    Boa tarde Gracy, me fale os passos a seguira para que eu teste e o resultado esperado por si.


    Cumprimentos.
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 19/2/2013, 20:18

    ..desculpe.. o botão da Consulta ficou desativado..
    Então..

    1°- Escolher o Paciente (escolha Antonio Heleno) porque já fiz uma consulta pra exemplificar

    2° Click no botão já vai pra uma consulta Nova -

    o que eu quero.. é que no campo 'histórico' - da Nova consulta => aparecesse as anteriores

    Anexos
    [Resolvido]ajuda com o campo histórico da consulta.. AttachmentPacienteC.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (497 Kb) Baixado 14 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 20/2/2013, 00:09

    háaaa... todas as anteriores... e não apenas a anterior.. é isso?


    Cumprimentos.
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 20/2/2013, 00:15

    é isso ... todas as consultas...
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 20/2/2013, 00:18

    Piloto,

    Agradeço a sua paciência...

    gracy
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 20/2/2013, 00:24

    Desacople a caixa texto ObsTr do campo da tabela, deixe-o desacoplado

    Cole esta sub no módulo do form consulta:

    Sub CarregaHistorico()
    Dim Rs As DAO.Recordset
    Dim StrSQL As String
    StrSQL = "SELECT Historico FROM T_Consulta WHERE ContPaciente = " & Me.ContPaciente & ""
    Set Rs = CurrentDb.OpenRecordset(StrSQL)
    Rs.MoveFirst
    Do While Not Rs.EOF
    Me.ObsTr = Me.ObsTr & vbNewLine & Rs!historico
    Rs.MoveNext
    Loop
    End Sub


    No evento ao carregar:

    Me.CarregaHistorico


    Crie duas ou mais consultas para ver o resultado.

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 20/2/2013, 00:35

    Agora, para não ter que criar duas caixas texto no seu form, uma para exibir o historico e outra para digitar a nova consulta:

    Vimos que no código acima, concatenamos o texto no campo historico + Quebra de linha + Proximo registro, sendo incrementado a cada loop....

    Para isso utilizamos a caixa texto desacoplada do campo historico.... como fazer para poder digitar neste mesmo campo sendo que o mesmo é desacoplado da tabela..

    Bem... aqui fiz para um botào, adapte conforme sua necessidade...

    O campo descoplado tem seu .ControlSource em branco, então carregaremos o .ControlSource da caixa texto com o nome do campo historico
    Para isso limparemos a caixa texto e carregamos o seu .ControlSource. veja:

    Private Sub btnNova_Click()
    Me.ObsTr = ""
    Me.ObsTr.ControlSource = "=Historico"
    DoCmd.GoToRecord , , acNewRec
    End Sub

    Coloque este codigo em um botão, abra a consulta, será exibido o historico, clique no botão e experimente navegar pelos registros..


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 20/2/2013, 01:47

    Para esta parte:
    2- Gostaria de imprimir - apenas trechos do histórico (tipo marcar um trecho e enviar para impressão)

    Seleccione uma parte do texto na caixa texto, ao soltar o botão do mouse copia para área de transferëncia, clique no botão para abrir o relatorio e observe.

    Cumprimentos.
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 20/2/2013, 09:33

    vou testar e te dou retorno.... por enquanto, muito obrigadaaaaaa...

    gracy
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 20/2/2013, 19:28

    .. deu super certo!!!...
    - agradeço a paciência Piloto..
    braçaço..
    gracy
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 20/2/2013, 22:08

    O Fórum agradece o Retorno.

    Bom trabalho!
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 20/2/2013, 23:03

    Se autorizar gostaria de postar este exemplo na sala de repositório, pois foi uma solução interessante para histórico e demais usuários poderiam se beneficiar ainda mais.

    Cumprimentos.
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 21/2/2013, 11:29

    Sempre um bom dia!!!

    Piloto, desculpe em não responder ontem.. mas, tive um compromisso e vi
    somente hoje a sua solicitação.
    Nem seria preciso você perguntar, afinal o objetivo desse site é o aprendizado;
    recebi ajuda, muito justo.. passarmos pra "todos"..
    agradeço, mais uma vez, a sua orientação...
    braçaço..
    gracy
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 21/2/2013, 12:39

    O Fórum agradece o Retorno.

    Bom trabalho.
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty a duvida persiste:- quanto ao historico...

    Mensagem  gracymary 22/2/2013, 08:44

    Bom Dia!!!.. pra todos..

    Pessoal, não sei como proceder para "reabrir" uma dúvida, então coloquei
    "e a dúvida persiste".. porque os testes com as rotinas não deram certo;
    enviei mensagem privada para o Piloto mas, como não obtive resposta (e ele
    disponibilizou as rotinas no forum).. estou aqui novamente..

    - o que fiz:-

    zerei o banco de dados das consultas e constatei o seguinte:
    1- ao entrar no módulo das consultas: dá erro em Me.CarregaHistorico (erro 3021 - nenhum registro atual)
    então clickei em e prossegui
    2- digitei a data da consulta em seguida preenchi o histórico (apenas 3 linhas- pra teste)
    3- Não consegui visualizar os dados na impressão
    4- Fechei a consulta
    Então retornei para o cadastramento de uma nova consulta:-
    1- O histórico não apareceu (não foi gravado no banco de dados)

    Voltei a estaca zero.. ou.. estou fazendo alguma coisa errada..
    Agradeço, se puderem continuar me ajudando..
    gracy
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 23/2/2013, 13:46

    Bom dia, estou em viagem... na segunda posso ver isto pra ti.

    Abrços.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Assis 23/2/2013, 15:24

    Gracymary


    Teste:

    Com o paciente António Heleno e com os outros.

    - Consultas
    - Imprimir

    Aguardo


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 24/2/2013, 11:33

    Bom dia!!! pra todos..

    Assis,
    Vou testar agora, depois retorno..
    obrigado
    gracy
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 24/2/2013, 11:56

    Assis, não deu certo..

    Coloquei 2 exemplos de históricos (1a. consulta e 2a. consulta no paciente Antonio Heleno e nos outros nenhum histórico)
    o que está acontecendo:-
    1- já tenho 2 consultas (no Antionio Heleno)- vou pra terceira: digito a data, em seguida pressiono F2 e incluo um novo
    histórico... consigo digitar o novo histórico, mas:- não está gravando o histórico da "nova consulta"
    2- não consigo vizualizar o histórico na impressão

    Então entrei em um novo paciente:

    1- digito a data da consulta, digito o histórico
    - Não está gravando o histórico no Banco de Dados

    vou continuar "pelejando" aqui.. se tiver alguma idéia do que está acontecendo.. agradeço a ajuda...
    abraço
    gracy
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 25/2/2013, 03:38

    Recapitule sua dúvida por gentileza querida..

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Convidado 25/2/2013, 04:02

    Se bem entendi eis sua solução:

    Evento ao liberar mouse:
    Código:
    Private Sub ObsTr_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Me.ObsTr = "" Or IsNull(Me.ObsTr) = True Then Exit Sub
    Me.ObsTr.SetFocus
    Call PutInClipboard(Me.ObsTr.SelText)
    MsgBox "Copiado para Área de Transferëncia", vbInformation, "COPIADO"
    End Sub

    Sub CarregaHistorico:
    Código:

    Sub CarregaHistorico()
    On Error GoTo TrataErro
    Dim Rs As DAO.Recordset
    Dim StrSQL As String
        StrSQL = "SELECT  Historico FROM T_Consulta WHERE ContPaciente = " & Me.ContPaciente & ""
        Set Rs = CurrentDb.OpenRecordset(StrSQL)
    Rs.MoveFirst
    Do While Not Rs.EOF
        Me.ObsTr = Me.ObsTr & vbNewLine & Rs!Historico
        Rs.MoveNext
    Loop
    Exit Sub
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    'Tratamento de Erros
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Exit_TrataErro:
        DoCmd.Hourglass False
        DoCmd.Echo True
    Exit Sub
    TrataErro:
        Select Case Err.Number
      Case 3021
          MsgBox "Paciente sem Consultas Anteriores, Efetue a consulta!", vbInformation, "PRIMEIRA CONSULTA"
            Me.ObsTr = ""
            Me.ObsTr.ControlSource = "Historico"
            DoCmd.GoToRecord , , acNewRec
      Case Else
          DoCmd.Hourglass False
          DoCmd.Echo True
            MsgBox "Erro Gerado no: " & Me.Name & "" _
            & vbNewLine & "No Procedimento: " & Screen.ActiveControl.Name & "" _
            & vbNewLine & "Erro Número: " & Err.Number _
            & vbNewLine & "linha: " & Erl _
            & vbNewLine & "Descrição: " & Err.Description _
            & vbNewLine & "Por favor contate o Administrador de Sistema.", vbCritical, Err.Number & ", linha:" & Erl
      End Select
    End Sub

    Evento Click do Botão:
    Código:

    Private Sub btnNova_Click()
    On Error GoTo TrataErro
    Me.dtDtaCons = Date
    Me.ObsTr = ""
    Me.ObsTr.ControlSource = "Historico"
        DoCmd.GoToRecord , , acNewRec
        MsgBox Me.ObsTr.ControlSource
    Exit Sub
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    'Tratamento de Erros
    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Exit_TrataErro:
        DoCmd.Hourglass False
        DoCmd.Echo True
    Exit Sub
    TrataErro:
        Select Case Err.Number
      Case -2147352567
            Resume Next
      Case Else
          DoCmd.Hourglass False
          DoCmd.Echo True
            MsgBox "Erro Gerado no: " & Me.Name & "" _
            & vbNewLine & "No Procedimento: " & Screen.ActiveControl.Name & "" _
            & vbNewLine & "Erro Número: " & Err.Number _
            & vbNewLine & "linha: " & Erl _
            & vbNewLine & "Descrição: " & Err.Description _
            & vbNewLine & "Por favor contate o Administrador de Sistema.", vbCritical, Err.Number & ", linha:" & Erl
      End Select
    End Sub

    Bem.... a solução acima reza o seguinte:
    1 - o controlSource não necessita então do sinal de igualdade (=)
    2 - Ao abrir o form de consulta verifico se o mesmo está em branco, significando que é a primeira consulta, portante carregando o ControlSource e habilitando a caixa texto para digitação
    3 - Tratamento de erros para quando não há consulta cadastrada para o paciente, direcionar a uma primeir consulta..

    é por ai... demais adaptações como deseja, seja para nova consulta ou imprimir, pode ser em um botão como ai está ou mesmo com teclas de atalho.

    Bom trabalho.
    avatar
    gracymary
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 192
    Registrado : 16/10/2010

    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  gracymary 25/2/2013, 09:07

    bom dia!!!
    Valeu , Piloto!!!.. vou testar e te dou retorno...
    brigadaço (mais uma vez)
    gracy


    Última edição por PILOTO em 30/4/2013, 15:37, editado 1 vez(es) (Motivo da edição : Tópico marcado como resolvido por falta de resposta - MODERAÇÃO)

    Conteúdo patrocinado


    [Resolvido]ajuda com o campo histórico da consulta.. Empty Re: [Resolvido]ajuda com o campo histórico da consulta..

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 22:08