MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Como atribuir valores a VARIÁVEIS com dados de uma tabela?

    Compartilhe
    avatar
    Walter
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 292
    Registrado : 17/04/2011

    [Resolvido]Como atribuir valores a VARIÁVEIS com dados de uma tabela?

    Mensagem  Walter em Ter 06 Jun 2017, 10:51

    Bom dia.

    Gostaria que me ajudassem com o código abaixo:
    Pretendo buscar em uma tabela a Data de Nascimento (DataNasc) e popular a Variável "DataNas"

    O código abaixo dá erro! "Era esperado: )" na primeira vírgula.


    Dim DataNas As Date
    DataNas = ("DataNasc", "Tbl_MembrosDaFamilia", "#" & forms!Fm_CalculaRiscoCV_EntrarDados!CódigoMembrosFamilia & "#")

    Como se faz isso? A sintaxe do código acima está correta?

    OBS: O FORMULARIO É BASEADO NA TABELA.

    Obrigado.

    --------------- -
    Vou explicar mais detalhadamente o que estou pretendendo...
    Na minha tabela "Tbl_MembrosDaFamilia" tenho, entre outros, os campos "CódigoMembrosFamilia" que é a chave primária, o campo "NomeMembroFamilia" e o campo "DataNasc".

    Estou querendo "pegar" a data de nascimento da pessoa e coloca-la na MsgBox.
    Para isso criei a Variável "DataNas", mas não estou sabendo defini-la....
    Veja o código completo abaixo: acho que o erro está na linha 7(sete).

    Private Sub txtconsulta_BeforeUpdate(Cancel As Integer)
    Dim Busca As String ' Cria a variável "Busca" tipo String
    Dim stLinkCriteria As String ' Cria a variável "stLinkCriteria" tipo String
    Dim DataNas As Date ' Cria a variável "DataNas" do tipo Data
    Busca = Me.txtconsulta.Value 'Define a variável "Busca" como o mesmmo valor que está no campo txtconsulta
    stLinkCriteria = "NomeMembroFamilia= '" & Busca & "'" 'Define a variável "stLinkCriteria"
    DataNas = Table.Tbl_MembrosDaFamilia.DataNasc.Value
    ' assim não funcionou: DataNas = ("DataNasc", "Tbl_MembrosDaFamilia", "#" & forms!Fm_CalculaRiscoCV_EntrarDados!CódigoMembrosFamilia & "#")
    If DCount("NomeMembroFamilia", "Tbl_MembrosDaFamilia", stLinkCriteria) > 0 Then 'Se na Tabela existe o nome....
    Me.Undo ' Se existe, cancela o que foi digitado
    Cancel = True
    MsgBox "Atenção!" & vbCr & vbCr & "O Paciente " & Busca & "Data de Nascimento: " & DataNas & " , já está cadastrado." & vbCr & vbCr & vbCr & vbCr & "Clique em 'Retornar' ou cadastre um Novo Paciente.", vbInformation, "Duplicado"
    End If


    Última edição por Walter em Qui 08 Jun 2017, 10:34, editado 4 vez(es) (Razão : Melhorar a pergunta)


    .................................................................................
    "A verdade é filha do tempo, e não da autoridade!"
    avatar
    Dilson
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1697
    Registrado : 11/11/2009

    Re: [Resolvido]Como atribuir valores a VARIÁVEIS com dados de uma tabela?

    Mensagem  Dilson em Qui 08 Jun 2017, 10:30

    Poderia usar Dlookup. veja a sintaxe:
    DataNas = Dlookup("NomeDoCampo", "NomeDaTabela", "Critério")

    avatar
    Walter
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 292
    Registrado : 17/04/2011

    Re: [Resolvido]Como atribuir valores a VARIÁVEIS com dados de uma tabela?

    Mensagem  Walter em Qui 08 Jun 2017, 10:39

    Bom dia, Dilson

    Obrigado por responder.

    O que devo colocar em critério????

    Um abraço.


    .................................................................................
    "A verdade é filha do tempo, e não da autoridade!"
    avatar
    Dilson
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1697
    Registrado : 11/11/2009

    Re: [Resolvido]Como atribuir valores a VARIÁVEIS com dados de uma tabela?

    Mensagem  Dilson em Qui 08 Jun 2017, 11:20

    DataNas = Dlookup("NomeDoCampo", "NomeDaTabela", "NomeDoCampoChavePrimaria=" & forms!Fm_CalculaRiscoCV_EntrarDados!CódigoMembrosFamilia)
    avatar
    Walter
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 292
    Registrado : 17/04/2011

    Re: [Resolvido]Como atribuir valores a VARIÁVEIS com dados de uma tabela?

    Mensagem  Walter em Qui 08 Jun 2017, 16:42

    Boa tarde, Dilson.

    Tentei o código que você sugeriu, mas dá erro:
    "Erro em tempo de execução: 94 - Uso de Null inválido".

    Acho que o VBA não está encontrando o registro na tabela talvez porque o CódigoMembrosFamilia não está no formulário... Será isso???

    Em anexo estou colocando parte do BD para você analisar quando tiver um tempinho....

    No "Fm_CalculaRiscoCV_EntrarDados", entre com um nome já cadastrado .... Por exemplo: Abilio Felicio de Souza, cuja data de Nascimento é 20/08/1940.


    Obrigado.
    Anexos
    Calculadoras Médicas - Copia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (913 Kb) Baixado 2 vez(es)


    .................................................................................
    "A verdade é filha do tempo, e não da autoridade!"
    avatar
    Dilson
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1697
    Registrado : 11/11/2009

    Re: [Resolvido]Como atribuir valores a VARIÁVEIS com dados de uma tabela?

    Mensagem  Dilson em Sex 09 Jun 2017, 02:35

    Walter, olhei o projeto e vi que dessa forma não retornará resultado algum porque a chave primária no critério está filtrando o próprio registro atual, fato que emite erro de proibido null porque a data ainda nem foi digitada, sem falar que campo chave primária não é [campo chave] significativo porque não tem como duplicar.

    Deves analisar e determinar um campo chave mais adequado como um número de um documento, que seria ideal ou mesmo o próprio nome completo resguardando nesse caso o tratamento de homônimos.

    Checando pelo nome olha como ficaria:
    DataNas = DLookup("DataNasc", "Tbl_MembrosDaFamilia", "NomeMembroFamilia='" & Me!txtconsulta & "'")

    Copie cole lá que já vai ver funcionando.

    Espero ter ajudado.


    avatar
    Walter
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 292
    Registrado : 17/04/2011

    Re: [Resolvido]Como atribuir valores a VARIÁVEIS com dados de uma tabela?

    Mensagem  Walter em Sex 09 Jun 2017, 02:58

    Muito bom, Dilson!

    Agora funcionou e, melhor ainda, entendi a lógica da expressão...

    Muito obrigado por mais essa ajuda.

    Um grande abraço prá você.


    Walter


    .................................................................................
    "A verdade é filha do tempo, e não da autoridade!"

      Data/hora atual: Sab 18 Nov 2017, 19:19