MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    RecordsetClone.FindFirst com dois critérios

    Compartilhe

    azevedolo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 15/02/2016

    RecordsetClone.FindFirst com dois critérios

    Mensagem  azevedolo em Seg 15 Fev 2016, 16:37

    Preciso encontrar o primeiro registro de um Recordset usando dois critérios
    Pelo nome da mãe da criança e pela data de nascimento da criança, pois uma mãe pode ter dois filhos com datas de nascimento diferentes.

    Criei dois campos não vinculados (Encontranome e dncrianca), coloco os valores do nome da mãe que quero encontrar  em Encontranome e da data de nascimento da criança que quero encontrar em dncrianca e fiz um botao EncontranomeRN que quando clicado executa

    Private Sub EncontranomeRN_Click()

    ' Encontrar o registro que coincide com o controle.

       Me.RecordsetClone.FindFirst "[nomemae] = '" & Me![Encontranome] & "'" And "[datanasc] = #" & Me![dncrianca] & "#"
       
       Me.Bookmark = Me.RecordsetClone.Bookmark
    End Sub

    onde nomemae é um string e datanasc é uma data no formato data abreviada.

    O programa dá o seguinte erro
    Erro em tempo de execução "13"
    Tipos incompatíveis.

    Por favor alguem pode me ajudar nestes comandos para selecionar segundo dois criterios ?

    marceloarboit
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 09/07/2015

    Re: RecordsetClone.FindFirst com dois critérios

    Mensagem  marceloarboit em Seg 15 Fev 2016, 18:57

    Olá Azevedo.

    Tente assim:

    Código:

    Dim strCriterio As String
    Dim rs As DAO.Recordset

    strCriterio = "datanasc = #" & Format(Me!datanasca, "mm/dd/yyyy") & "# And Nomemae = '" & Me!EncontraNome & "' "

    Set rs = Me.Recordset.Clone

    rs.FindFirst strCriterio

    Me.Bookmark = rs.Bookmark
    Set rs = Nothing


    Eu quebrei a cabeça um tempão porque não tinha me ligado que no VBA ele trata o campo data no formato americano mes/dia/ano.

    Abs.,
    Arboit.

    azevedolo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 15/02/2016

    [Resolvido] RecordsetClone.FindFirst com dois critérios

    Mensagem  azevedolo em Ter 16 Fev 2016, 01:06

    marceloarboit boa noite,

    Deu certo !!

    Precisei apenas alterar a linha de comando abaixo para adequar aos meus campos

    Dim strCriterio As String
    Dim rs As DAO.Recordset

    strCriterio = "datanasc = #" & Format(Me!dncrianca, "mm/dd/yyyy") & "# And [nomemae] = '" & Me![Encontranome] & "' "


    Set rs = Me.Recordset.Clone

    rs.FindFirst strCriterio

    Me.Bookmark = rs.Bookmark
    Set rs = Nothing


    Agradeço a sua ajuda

    Abraço

    Luiz Otavio

    marceloarboit
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 09/07/2015

    Re: RecordsetClone.FindFirst com dois critérios

    Mensagem  marceloarboit em Ter 16 Fev 2016, 09:18

    Bom dia amigo.

    Que bom que funcionou. O fórum agradece seu retorno.

    Abs.,
    Arboit.

      Data/hora atual: Sab 03 Dez 2016, 04:36