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


    [Resolvido]Identificando uma impressão digital pesquisando em diversos campos para a busca

    avatar
    Convidado
    Convidado


    [Resolvido]Identificando uma impressão digital pesquisando em diversos campos para a busca Empty Identificando uma impressão digital pesquisando em diversos campos para a busca

    Mensagem  Convidado Qua 10 Ago 2011, 8:12 am

    Amigos... o código abaixo ja funciona perfeitamente para identificar a digital no primeiro campo da tblDigital... o que preciso é que busque a digital nos 10 campos referente aos Dedos.

    Campos:
    PolDir PolEsq
    IndDir IndEsq
    MedDir MedEsq
    AneDir AneDir
    MinDir MinDir

    Código:
    Private Sub IdentificaDig()
    'On Error GoTo TrataErro

    Parametros_de_Inicializacao "SysPen.par"
    Dim db As DAO.Database
    Dim ws As DAO.Workspace
    Dim rs As DAO.Recordset
    Dim rsDet As DAO.Recordset
    Dim NomeBD As String
    Dim StrPath As String
    Dim StrSqlDetentos As String, StrSqlDigital As String
    Dim DetIdent As String

    NomeBD = "Bio_be.accdb"
       
        'String com path para conexão com a base de dados.
        StrPath = DirBancoDados & NomeBD    ' Conecta ao banco de dados comum
        Set db = OpenDatabase(StrPath)

       
    Set ws = DBEngine.Workspaces(0)
    Set db = ws.OpenDatabase(DirBancoDados & "\Bio_Be.accdb", False, False, "MS Access;PWD=senha")

                    StrSqlDigital = ("SELECT * FROM tblDigital")
                    StrSqlDetentos = ("SELECT * FROM Detentos")
                   
    Set rs = db.OpenRecordset(StrSqlDigital)
    Set rsDet = db.OpenRecordset(StrSqlDetentos)

     
    '********DIGITAIS*************************************************************************
         
            If Not MoldeValido() Then
                EscreveLog ("Erro na captura da digital")
            Exit Sub
        End If
            Do While Not r.EOF
                score = 0
                [color=darkblue]digi = rs!PolDir[/color]
                tpt = Deserialize(digi)
                ret = Verifica(score)
            If ret <= 0 Then
                rs.MoveNext
        Else
            Exit Do
            End If
        Loop
        If rs.EOF Then
            EscreveLog1 ("Detento Não identificado")
        Exit Sub
            Else
            rsDet.FindFirst "ID = " & rs!ID_Detento  ' Encontrar primeiro registro com o código do detento."
            DetIdent = rsDet!Nome & Space(1) & rsDet!Sobrenome
            EscreveLog1 ("Detento identificado: " & DetIdent)
            Me.txtScore = score
            Me.txtScore.Visible = True
                If Me.btIdentificar.Caption = "Identificar" Then
                    Me.btIdentificar.Caption = "IDENTIFICADO"
                    Me.btIdentificar.ForeColor = vbRed
                End If
        End If
        Exit Sub
    TrataErro:
        DoCmd.SetWarnings True
        DoCmd.Hourglass False
        MsgBox Error, , "Erro nº" & err & " ao clicar em Cadastrar"
    End Sub

    Fico grato pela ajuda

    Saudações
    avatar
    Convidado
    Convidado


    [Resolvido]Identificando uma impressão digital pesquisando em diversos campos para a busca Empty Re: [Resolvido]Identificando uma impressão digital pesquisando em diversos campos para a busca

    Mensagem  Convidado Qua 10 Ago 2011, 12:02 pm

    Bem amigos, utilizando uma dica do Mestre Criquio em outro tópico relacionado com este, no post de numero 18

    http://maximoaccess.forumeiros.com/t3751-resolvidogravar-dados-em-campo-via-recordset-aplicando-variavel-para-o-nome-do-campo

    Eis a solução:

    Código:

    Private Sub IdentificaDig()
    On Error GoTo TrataErro

    Parametros_de_Inicializacao "SysPen.par"
    Dim db As DAO.Database
    Dim ws As DAO.Workspace
    Dim rs As DAO.Recordset
    Dim rsDet As DAO.Recordset
    Dim NomeBD As String
    Dim StrPath As String
    Dim StrSqlDetentos As String, StrSqlDigital As String
    Dim DetIdent As String



    NomeBD = "Bio_be.accdb"
       
        'String com path para conexão com a base de dados.
        StrPath = DirBancoDados & NomeBD    ' Conecta ao banco de dados comum
        Set db = OpenDatabase(StrPath)

       
    Set ws = DBEngine.Workspaces(0)
    Set db = ws.OpenDatabase(DirBancoDados & "\Bio_Be.accdb", False, False, "MS Access;PWD=senha")

                    StrSqlDigital = ("SELECT * FROM tblDigital")
                    StrSqlDetentos = ("SELECT * FROM Detentos")
                   
    Set rs = db.OpenRecordset(StrSqlDigital)
    Set rsDet = db.OpenRecordset(StrSqlDetentos)

     
    '********DIGITAIS*************************************************************************
         
            If Not MoldeValido() Then
                EscreveLog ("Erro na captura da digital")
            Exit Sub
        End If
       
        Do While Not rs.EOF
                score = 0
                digi = rs("" & Me.txtBotao & "")
                tpt = Deserialize(digi)
                ret = Verifica(score)
                If ret <= 0 Then
                rs.MoveNext
        Else
            Exit Do
            End If
               
        Loop

        If rs.EOF Then
            EscreveLog1 ("Detento Não identificado")
        Exit Sub
            Else
            rsDet.FindFirst "ID = " & rs!ID_Detento  ' Encontrar primeiro registro com o código do detento."
            DetIdent = rsDet!Nome & Space(1) & rsDet!Sobrenome
            EscreveLog1 ("Detento identificado: " & DetIdent)
            Me.txtScore = score
            Me.txtScore.Visible = True
                If Me.btIdentificar.Caption = "Identificar" Then
                    Me.btIdentificar.Caption = "IDENTIFICADO"
                    Me.btIdentificar.ForeColor = vbRed
                End If
        End If

        Exit Sub
    TrataErro:
        DoCmd.SetWarnings True
        DoCmd.Hourglass False
        MsgBox Error, , "Erro nº" & err & " ao clicar em Cadastrar"
    End Sub

    Saudações

      Data/hora atual: Seg 04 Nov 2024, 2:02 pm