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]Run-Time error 3420

    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty [Resolvido]Run-Time error 3420

    Mensagem  toyebom 11/1/2014, 22:48

    Funcionava bem agora dá erro qual será o problema

    Private Sub Texto37_BeforeUpdate(Cancel As Integer)

    '*********************************
    'Code sample courtesy of srfreeman
    '*********************************

    Dim SID As String
    Dim stLinkCriteria As String
    Dim rsc As DAO.Recordset

    Set rsc = Me.RecordsetClone

    SID = Me.Numero.Value
    stLinkCriteria = "[numero]=" & "'" & SID & "'"

       'Check StudentDetails table for duplicate StudentNumber
       If DCount("numero", "pessoas", stLinkCriteria) > 0 Then
           'Undo duplicate entry
           Me.Undo
           'Message box warning of duplication
           MsgBox "Aviso Documento " _
           & SID & " Já foi inserido." _
           & vbCr & vbCr & "Vai ser redireccionado para o respectivo registo.", vbInformation _
           , "Documento Duplicado"
           'Go to record of original Student Number
          rsc.FindFirst stLinkCriteria
           Me.Bookmark = rsc.Bookmark
       End If

    Set rsc = Nothing
    End Sub


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 12/1/2014, 12:11

    UP


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 12/1/2014, 19:09

    up


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 13/1/2014, 23:42

    UP


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 15/1/2014, 21:04

    UP


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 17/1/2014, 16:18

    UP


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 18/1/2014, 01:20

    O que reporta o erro?

    Se possível poste um exemplo.

    Cumprimentos.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 18/1/2014, 01:43

    Ok eu tenho um form onde coloco dados respeitantes a identificações/registos no qual se encontra o campo para o numero do documento.
    Quando repito o numero (duplico) aparece um aviso de que o documento já se encontra inserido e que irei ser redirecionado para o respetivo registo, no entanto quando carrego botão "OK" dá o erro da imagem que anexo. e se fizer "DEBUG" mostra-me o texto VBA da mensagem 1 a amarelo.

    Já li em alguns foruns que possivelmente é da pagina ter muito texto VBA mas eu necessito dele todo

    Segue o texto VBA completo da página:

    Option Compare Database
    Option Explicit

    Private Sub Comando0_Click()
    Me.Refresh
    DoCmd.OpenReport "RPT_Justifi", acViewPreview, , "ContadorAccess = forms!fTexto!ContadorAccess"

    End Sub

    Private Sub CaixaCombinação238_AfterUpdate()

    End Sub



    Private Sub CaixaCombinação245_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me!CaixaCombinação245, 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    Me!CaixaCombinação245 = Null 'deixa a combo vazia, limpa.
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    End Sub


    Private Sub cbofuncionario_AfterUpdate()
    DoCmd.ApplyFilter , "n = " & Me!cbofuncionario.Column(0) ' é necessario criar uma consulta simples antes,depois criar a combo 'idcliente chave primaria,


    Me!cbofuncionario = Null 'deixa a combo vazia, limpa.
    End Sub

    Private Sub Comando107_Click()
    On Error GoTo Err_Comando107_Click

    Dim stDocName As String

    stDocName = "Ver Cartão"
    DoCmd.RunMacro stDocName

    Exit_Comando107_Click:
    Exit Sub

    Err_Comando107_Click:
    msgbox Err.Description
    Resume Exit_Comando107_Click

    End Sub

    Private Sub Comando662_Click()
    On Error GoTo Err_Comando662_Click


    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append

    Exit_Comando662_Click:
    Exit Sub

    Err_Comando662_Click:
    msgbox Err.Description
    Resume Exit_Comando662_Click

    End Sub

    Private Sub Comando283_Click()
    If Me.Comando281.Enabled = False And Me.Comando283.Caption = "#" Then
    Me.Comando283.Caption = "-"
    Me.Comando283.ForeColor = vbRed
    Me.Comando281.Enabled = True
    Exit Sub
    End If
    If Me.Comando281.Enabled = True And Me.Comando283.Caption = "-" Then
    Me.Comando283.Caption = "#"
    Me.Comando283.ForeColor = vbBlack
    Me.Comando281.Enabled = False
    Exit Sub
    End If
    End Sub

    Private Sub Comando283__Click()

    End Sub

    Private Sub Comando284_Click()
    If Me.Texto100.Enabled = False And Me.Comando284.Caption = "Editar" Then
    Me.Comando284.Caption = "Fechar Edição"
    Me.Comando284.ForeColor = vbRed
    Me.Texto100.Enabled = True
    Me.Texto100.Locked = False
    Me.Texto232.Enabled = True
    Me.Texto232.Locked = False
    Me.Command702.Enabled = False
    Me.Comando35.Enabled = True
    Me.Comando90.Enabled = False
    Me.Comando12.Enabled = False
    Exit Sub
    End If
    If Me.Texto100.Enabled = True And Me.Comando284.Caption = "Fechar Edição" Then
    Me.Comando284.Caption = "Editar"
    Me.Comando284.ForeColor = vbBlack
    Me.Texto100.Enabled = False
    Me.Texto232.Enabled = False
    Me.Command702.Enabled = True
    Me.Comando35.Enabled = False
    Me.Comando90.Enabled = True
    Me.Comando12.Enabled = True
    Exit Sub
    End If
    End Sub

    Private Sub Comando292_Click()
    On Error GoTo Err_Comando292_Click

    Dim stDocName As String

    stDocName = "Fotopessoas_1"
    DoCmd.OpenReport stDocName, acPreview

    Exit_Comando292_Click:
    Exit Sub

    Err_Comando292_Click:
    msgbox Err.Description
    Resume Exit_Comando292_Click
    End Sub

    Private Sub Comando296_Click()
    DoCmd.OpenForm "Pessoas_veiculos2", acNormal, , "[n] = " & [n]
    DoCmd.Restore
    End Sub

    Private Sub Comando299_Click()
    DoCmd.OpenForm "Pessoas_Situação Criminal2", acNormal, , "[n] = " & [n]
    DoCmd.Restore
    End Sub

    Private Sub Comando67_Click()
    On Error GoTo Err_Comando67_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "NavWeb"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_Comando67_Click:
    Exit Sub

    Err_Comando67_Click:
    msgbox Err.Description
    Resume Exit_Comando67_Click

    End Sub

    Private Sub Command702_Click()
    If Me.Rótulo26.Enabled = False And Me.Command702.Caption = "Editar" Then
    Me.Command702.Caption = "Fechar Edição"
    Me.Command702.ForeColor = vbRed
    Me.Rótulo26.Enabled = True
    Me.Rótulo26.Locked = False
    Me.Texto25.Enabled = True
    Me.Texto25.Locked = False
    Me.Comando35.Enabled = True
    Me.Comando235.visible = True
    Me.Comando235.Enabled = True
    Me.Rótulo38.Enabled = True
    Me.Rótulo38.Locked = False
    Me.Texto37.Enabled = True
    Me.Texto37.Locked = False
    Me.Caixa_de_combinação160.Enabled = True
    Me.Caixa_de_combinação160.Locked = False
    Me.Texto31.Enabled = True
    Me.Texto31.Locked = False
    Me.Rótulo34.Enabled = True
    Me.Rótulo34.Locked = False
    Me.Texto33.Enabled = True
    Me.Texto33.Locked = False
    Me.Rótulo20.Enabled = True
    Me.Rótulo20.Locked = False
    Me.Texto19.Enabled = True
    Me.Texto19.Locked = False
    Me.Rótulo99.Enabled = True
    Me.Rótulo99.Locked = False
    Me.Texto98.Enabled = True
    Me.Texto98.Locked = False
    Me.Rótulo77.Enabled = True
    Me.Rótulo77.Locked = False
    Me.Texto76.Enabled = True
    Me.Texto76.Locked = False
    Me.Rótulo22.Enabled = True
    Me.Rótulo22.Locked = False
    Me.Texto21.Enabled = True
    Me.Texto21.Locked = False
    Me.Rótulo24.Enabled = True
    Me.Rótulo24.Locked = False
    Me.Texto23.Enabled = True
    Me.Texto23.Locked = False
    Me.Rótulo85.Enabled = True
    Me.Rótulo85.Locked = False
    Me.Caixa_de_combinação84.Enabled = True
    Me.Caixa_de_combinação84.Locked = False
    Me.Rótulo87.Enabled = True
    Me.Rótulo87.Locked = False
    Me.Caixa_de_combinação86.Enabled = True
    Me.Caixa_de_combinação86.Locked = False
    Me.Rótulo97.Enabled = True
    Me.Rótulo97.Locked = False
    Me.Caixa_de_combinação96.Enabled = True
    Me.Caixa_de_combinação96.Locked = False
    Me.Rótulo40.Enabled = True
    Me.Rótulo40.Locked = False
    Me.Texto39.Enabled = True
    Me.Texto39.Locked = False
    Me.Rótulo42.Enabled = True
    Me.Rótulo42.Locked = False
    Me.Texto41.Enabled = True
    Me.Texto41.Locked = False
    Me.Rótulo44.Enabled = True
    Me.Rótulo44.Locked = False
    Me.Caixa_de_combinação43.Enabled = True
    Me.Caixa_de_combinação43.Locked = False
    Me.Rótulo53.Enabled = True
    Me.Rótulo53.Locked = False
    Me.Texto52.Enabled = True
    Me.Texto52.Locked = False
    Me.Rótulo55.Enabled = True
    Me.Rótulo55.Locked = False
    Me.Texto54.Enabled = True
    Me.Texto54.Locked = False
    Me.Rótulo57.Enabled = True
    Me.Rótulo57.Locked = False
    Me.Texto56.Enabled = True
    Me.Texto56.Locked = False
    Me.CaixaCombinação194.Enabled = True
    Me.CaixaCombinação194.Locked = False
    Me.Texto193.Enabled = True
    Me.Texto193.Locked = False
    Me.CaixaCombinação196.Enabled = True
    Me.CaixaCombinação196.Locked = False
    Me.Texto195.Enabled = True
    Me.Texto195.Locked = False
    Me.Rótulo49.Enabled = True
    Me.Rótulo49.Locked = False
    Me.Texto48.Enabled = True
    Me.Texto48.Locked = False
    Me.Texto50.Enabled = True
    Me.Texto50.Locked = False
    Me.Rótulo59.Enabled = True
    Me.Rótulo59.Locked = False
    Me.Caixa_de_combinação58.Enabled = True
    Me.Caixa_de_combinação58.Locked = False
    Me.Rótulo61.Enabled = True
    Me.Rótulo61.Locked = False
    Me.Caixa_de_combinação60.Enabled = True
    Me.Caixa_de_combinação60.Locked = False
    Me.Rótulo63.Enabled = True
    Me.Rótulo63.Locked = False
    Me.Texto62.Enabled = True
    Me.Texto62.Locked = False
    Me.Rótulo95.Enabled = True
    Me.Rótulo95.Locked = False
    Me.Texto94.Enabled = True
    Me.Texto94.Locked = False
    Me.Rótulo108.Enabled = True
    Me.Rótulo108.Locked = False
    Me.Texto107.Enabled = True
    Me.Texto107.Locked = False
    Me.Rótulo149.Enabled = True
    Me.Rótulo149.Locked = False
    Me.Texto148.Enabled = True
    Me.Texto148.Locked = False
    Me.Rótulo152.Enabled = True
    Me.Rótulo152.Locked = False
    Me.Texto151.Enabled = True
    Me.Texto151.Locked = False
    Me.Texto158.Enabled = True
    Me.Texto158.Locked = False
    Me.Rótulo74.Enabled = True
    Me.Rótulo74.Locked = False
    Me.Rótulo71.Enabled = True
    Me.Rótulo71.Locked = False
    Me.Texto70.Enabled = True
    Me.Texto70.Locked = False
    Me.Rótulo73.Enabled = True
    Me.Rótulo73.Locked = False
    Me.Texto72.Enabled = True
    Me.Texto72.Locked = False
    Me.Rótulo65.Enabled = True
    Me.Rótulo65.Locked = False
    Me.Texto64.Enabled = True
    Me.Texto64.Locked = False
    Me.Rótulo68.Enabled = True
    Me.Rótulo68.Locked = False
    Me.Texto67.Enabled = True
    Me.Texto67.Locked = False
    Me.CaixaCombinação253.Enabled = True
    Me.CaixaCombinação253.Locked = False
    Me.Texto251.Enabled = True
    Me.Texto251.Locked = False
    Me.OLEDependente111.Enabled = True
    Me.OLEDependente111.Locked = False
    Me.OLEVinculado287.Enabled = True
    Me.OLEVinculado287.Locked = False
    Me.CaixaCombinação255.Enabled = True
    Me.CaixaCombinação255.Locked = False
    Me.Texto100.Enabled = True
    Me.Texto100.Locked = False
    Me.Comando35.Enabled = True
    Me.Comando235.Enabled = True
    Me.Comando79.Enabled = True
    Me.Comando284.Caption = "Fechar Edição"
    Me.Comando284.ForeColor = vbRed
    Me.Comando284.Enabled = False
    Me.Texto232.Enabled = True
    Me.Texto232.Locked = False
    Me.Comando90.Enabled = False
    Me.Comando12.Enabled = False
    Exit Sub
    End If
    If Me.Rótulo26.Enabled = True And Me.Command702.Caption = "Fechar Edição" Then
    Me.Command702.Caption = "Editar"
    Me.Command702.ForeColor = vbBlack
    Me.Rótulo26.Enabled = False
    Me.Texto25.Enabled = False
    Me.Comando35.Enabled = False
    Me.Comando235.visible = False
    Me.Comando235.Enabled = False
    Me.Rótulo38.Enabled = False
    Me.Texto37.Enabled = False
    Me.Caixa_de_combinação160.Enabled = False
    Me.Texto31.Enabled = False
    Me.Rótulo34.Enabled = False
    Me.Texto33.Enabled = False
    Me.Rótulo20.Enabled = False
    Me.Texto19.Enabled = True
    Me.Texto19.Locked = True
    Me.Rótulo99.Enabled = False
    Me.Texto98.Enabled = False
    Me.Rótulo77.Enabled = False
    Me.Texto76.Enabled = False
    Me.Rótulo22.Enabled = False
    Me.Texto21.Enabled = False
    Me.Rótulo24.Enabled = False
    Me.Texto23.Enabled = False
    Me.Rótulo85.Enabled = False
    Me.Caixa_de_combinação84.Enabled = False
    Me.Rótulo87.Enabled = False
    Me.Caixa_de_combinação86.Enabled = False
    Me.Rótulo97.Enabled = False
    Me.Caixa_de_combinação96.Enabled = False
    Me.Rótulo40.Enabled = False
    Me.Texto39.Enabled = False
    Me.Rótulo42.Enabled = False
    Me.Texto41.Enabled = False
    Me.Rótulo44.Enabled = False
    Me.Caixa_de_combinação43.Enabled = False
    Me.Rótulo53.Enabled = False
    Me.Texto52.Enabled = False
    Me.Rótulo55.Enabled = False
    Me.Texto54.Enabled = False
    Me.Rótulo57.Enabled = False
    Me.Texto56.Enabled = False
    Me.CaixaCombinação194.Enabled = False
    Me.Texto193.Enabled = False
    Me.CaixaCombinação196.Enabled = False
    Me.Texto195.Enabled = False
    Me.Rótulo49.Enabled = False
    Me.Texto48.Enabled = False
    Me.Texto50.Enabled = False
    Me.Rótulo59.Enabled = False
    Me.Caixa_de_combinação58.Enabled = False
    Me.Rótulo61.Enabled = False
    Me.Caixa_de_combinação60.Enabled = False
    Me.Rótulo63.Enabled = False
    Me.Texto62.Enabled = False
    Me.Rótulo95.Enabled = False
    Me.Texto94.Enabled = False
    Me.Rótulo108.Enabled = False
    Me.Texto107.Enabled = False
    Me.Rótulo149.Enabled = False
    Me.Texto148.Enabled = False
    Me.Rótulo152.Enabled = False
    Me.Texto151.Enabled = False
    Me.Texto158.Enabled = False
    Me.Rótulo74.Enabled = False
    Me.Rótulo71.Enabled = False
    Me.Texto70.Enabled = False
    Me.Rótulo73.Enabled = False
    Me.Texto72.Enabled = False
    Me.Rótulo65.Enabled = False
    Me.Texto64.Enabled = False
    Me.Rótulo68.Enabled = False
    Me.Texto67.Enabled = False
    Me.CaixaCombinação253.Enabled = False
    Me.Texto251.Enabled = False
    Me.OLEDependente111.Enabled = False
    Me.CaixaCombinação255.Enabled = False
    Me.OLEVinculado287.Enabled = False
    Me.OLEVinculado287.Locked = False
    Me.Texto100.Enabled = False
    Me.Comando35.Enabled = False
    Me.Comando235.Enabled = False
    Me.Comando79.Enabled = False
    Me.Comando284.Caption = "Editar"
    Me.Comando284.ForeColor = vbBlack
    Me.Comando284.Enabled = True
    Me.Texto232.Enabled = False
    Me.Comando90.Enabled = True
    Me.Comando12.Enabled = True
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    Exit Sub
    End If
    End Sub

    Private Sub Form_Activate()

    End Sub



    Private Sub Form_GotFocus()

    End Sub

    Private Sub Form_Load()
    ' Turn the MouseWheel Off
    Dim blRet As Boolean
    ' Call our MouseHook function in the MouseHook dll.
    ' Please not the Optional GlobalHook BOOLEAN parameter
    ' Several developers asked for the MouseHook to be able to work with
    ' multiple instances of Access. In order to accomodate this request I
    ' have modified the function to allow the caller to
    ' specify a thread specific(this current instance of Access only) or
    ' a global(all applications) MouseWheel Hook.
    ' Only use the GlobalHook if you will be running multiple instances of Access!
    blRet = MouseWheelOFF(False)
    End Sub

    Private Sub Form_Open(Cancel As Integer)
    DoCmd.Maximize

    End Sub

    Private Sub Form_Unload(Cancel As Integer)
    ' Turn the MouseWheel On
    Dim blRet As Boolean
    blRet = MouseWheelON
    End Sub
    Private Sub Comando5_Click()
    On Error GoTo Err_Comando5_Click


    DoCmd.Quit

    Exit_Comando5_Click:
    Exit Sub

    Err_Comando5_Click:
    msgbox Err.Description
    Resume Exit_Comando5_Click

    End Sub
    Private Sub Comando6_Click()
    On Error GoTo Err_Comando6_Click

    Dim stDocName As String

    stDocName = "Ver DVD"
    DoCmd.RunMacro stDocName

    Exit_Comando6_Click:
    Exit Sub

    Err_Comando6_Click:
    msgbox Err.Description
    Resume Exit_Comando6_Click

    End Sub
    Private Sub Comando7_Click()
    On Error GoTo Err_Comando7_Click


    DoCmd.GoToRecord , , acFirst

    Exit_Comando7_Click:
    Exit Sub

    Err_Comando7_Click:
    msgbox Err.Description
    Resume Exit_Comando7_Click

    End Sub
    Private Sub Comando12_Click()
    On Error GoTo Err_Comando12_Click


    DoCmd.Close

    Exit_Comando12_Click:
    Exit Sub

    Err_Comando12_Click:
    msgbox Err.Description
    Resume Exit_Comando12_Click

    End Sub
    Private Sub Caixa_de_combinação13_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[NUIPCS] = '" & Me![Caixa de combinação13] & "'"
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub

    Private Sub Caixa_de_combinação17_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[ContadorAccess] = " & Str(Nz(Me![Caixa de combinação17], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub

    Private Sub Comando27_Click()
    On Error GoTo Err_Comando27_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "Tipo documento"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_Comando27_Click:
    Exit Sub

    Err_Comando27_Click:
    msgbox Err.Description
    Resume Exit_Comando27_Click

    End Sub
    Private Sub Comando35_Click()

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

    If Me.Rótulo26.Enabled = True And Me.Command702.Caption = "Fechar Edição" Then
    Me.Command702.Caption = "Editar"
    Me.Command702.ForeColor = vbBlack
    Me.Command702.Enabled = True
    Me.Rótulo26.Enabled = False
    Me.Texto25.Enabled = False
    Me.Comando567.SetFocus
    Me.Comando35.Enabled = False
    Me.Comando235.visible = False
    Me.Comando235.Enabled = False
    Me.Rótulo38.Enabled = False
    Me.Texto37.Enabled = False
    Me.Caixa_de_combinação160.Enabled = False
    Me.Texto31.Enabled = False
    Me.Rótulo34.Enabled = False
    Me.Texto33.Enabled = False
    Me.Rótulo20.Enabled = False
    Me.Texto19.Enabled = True
    Me.Texto19.Locked = True
    Me.Rótulo99.Enabled = False
    Me.Texto98.Enabled = False
    Me.Rótulo77.Enabled = False
    Me.Texto76.Enabled = False
    Me.Rótulo22.Enabled = False
    Me.Texto21.Enabled = False
    Me.Rótulo24.Enabled = False
    Me.Texto23.Enabled = False
    Me.Rótulo85.Enabled = False
    Me.Caixa_de_combinação84.Enabled = False
    Me.Rótulo87.Enabled = False
    Me.Caixa_de_combinação86.Enabled = False
    Me.Rótulo97.Enabled = False
    Me.Caixa_de_combinação96.Enabled = False
    Me.Rótulo40.Enabled = False
    Me.Texto39.Enabled = False
    Me.Rótulo42.Enabled = False
    Me.Texto41.Enabled = False
    Me.Rótulo44.Enabled = False
    Me.Caixa_de_combinação43.Enabled = False
    Me.Rótulo53.Enabled = False
    Me.Texto52.Enabled = False
    Me.Rótulo55.Enabled = False
    Me.Texto54.Enabled = False
    Me.Rótulo57.Enabled = False
    Me.Texto56.Enabled = False
    Me.CaixaCombinação194.Enabled = False
    Me.Texto193.Enabled = False
    Me.CaixaCombinação196.Enabled = False
    Me.Texto195.Enabled = False
    Me.Rótulo49.Enabled = False
    Me.Texto48.Enabled = False
    Me.Texto50.Enabled = False
    Me.Rótulo59.Enabled = False
    Me.Caixa_de_combinação58.Enabled = False
    Me.Rótulo61.Enabled = False
    Me.Caixa_de_combinação60.Enabled = False
    Me.Rótulo63.Enabled = False
    Me.Texto62.Enabled = False
    Me.Rótulo95.Enabled = False
    Me.Texto94.Enabled = False
    Me.Rótulo108.Enabled = False
    Me.Texto107.Enabled = False
    Me.Rótulo149.Enabled = False
    Me.Texto148.Enabled = False
    Me.Rótulo152.Enabled = False
    Me.Texto151.Enabled = False
    Me.Texto158.Enabled = False
    Me.Rótulo74.Enabled = False
    Me.Rótulo71.Enabled = False
    Me.Texto70.Enabled = False
    Me.Rótulo73.Enabled = False
    Me.Texto72.Enabled = False
    Me.Rótulo65.Enabled = False
    Me.Texto64.Enabled = False
    Me.Rótulo68.Enabled = False
    Me.Texto67.Enabled = False
    Me.CaixaCombinação253.Enabled = False
    Me.Texto251.Enabled = False
    Me.OLEDependente111.Enabled = False
    Me.OLEVinculado287.Enabled = False
    Me.CaixaCombinação255.Enabled = False
    Me.Texto100.Enabled = False
    Me.Comando35.Enabled = False
    Me.Comando235.Enabled = False
    Me.Comando79.Enabled = False
    Me.Texto232.Enabled = False
    Me.Texto100.Enabled = False
    Me.Comando35.Enabled = False
    Me.Comando284.Caption = "Editar"
    Me.Comando284.ForeColor = vbBlack
    Me.Comando284.Enabled = True
    Me.Comando90.Enabled = True
    Me.Comando12.Enabled = True
    End If
    If Me.Texto100.Enabled = True And Me.Comando284.Caption = "Fechar Edição" Then
    Me.Comando284.Caption = "Editar"
    Me.Comando284.ForeColor = vbBlack
    Me.Texto100.Enabled = False
    Me.Command702.Enabled = True
    Me.Comando90.Enabled = True
    Me.Texto232.Enabled = False
    Me.Comando567.SetFocus
    Me.Comando35.Enabled = False
    Me.Comando12.Enabled = True
    End If
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    Exit Sub
    End Sub
    Private Sub Caixa_de_combinação46_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me![Caixa de combinação46], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    Me![Caixa de combinação46] = Null 'deixa a combo vazia, limpa.
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    End Sub
    Private Sub Comando79_Click()
    On Error GoTo Err_Comando79_Click


    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

    Exit_Comando79_Click:
    Exit Sub

    Err_Comando79_Click:
    msgbox Err.Description
    Resume Exit_Comando79_Click

    End Sub
    Private Sub Comando90_Click()
    If msgbox(" Deseja Criar nova pessoa ?", vbOKCancel + vbDefaultButton1 + vbInformation, "AVISO DO SISTEMA !!") = vbOK Then
    DoCmd.GoToRecord , , acNewRec

    Me.Rótulo26.Enabled = True
    Me.Rótulo26.Locked = False
    Me.Texto25.Enabled = True
    Me.Texto25.Locked = False
    Me.Comando35.Enabled = True
    Me.Comando235.visible = True
    Me.Comando235.Enabled = True
    Me.Rótulo38.Enabled = True
    Me.Rótulo38.Locked = False
    Me.Texto37.Enabled = True
    Me.Texto37.Locked = False
    Me.Caixa_de_combinação160.Enabled = True
    Me.Caixa_de_combinação160.Locked = False
    Me.Texto31.Enabled = True
    Me.Texto31.Locked = False
    Me.Rótulo34.Enabled = True
    Me.Rótulo34.Locked = False
    Me.Texto33.Enabled = True
    Me.Texto33.Locked = False
    Me.Rótulo20.Enabled = True
    Me.Rótulo20.Locked = False
    Me.Texto19.Enabled = True
    Me.Texto19.Locked = False
    Me.Rótulo99.Enabled = True
    Me.Rótulo99.Locked = False
    Me.Texto98.Enabled = True
    Me.Texto98.Locked = False
    Me.Rótulo77.Enabled = True
    Me.Rótulo77.Locked = False
    Me.Texto76.Enabled = True
    Me.Texto76.Locked = False
    Me.Rótulo22.Enabled = True
    Me.Rótulo22.Locked = False
    Me.Texto21.Enabled = True
    Me.Texto21.Locked = False
    Me.Rótulo24.Enabled = True
    Me.Rótulo24.Locked = False
    Me.Texto23.Enabled = True
    Me.Texto23.Locked = False
    Me.Rótulo85.Enabled = True
    Me.Rótulo85.Locked = False
    Me.Caixa_de_combinação84.Enabled = True
    Me.Caixa_de_combinação84.Locked = False
    Me.Rótulo87.Enabled = True
    Me.Rótulo87.Locked = False
    Me.Caixa_de_combinação86.Enabled = True
    Me.Caixa_de_combinação86.Locked = False
    Me.Rótulo97.Enabled = True
    Me.Rótulo97.Locked = False
    Me.Caixa_de_combinação96.Enabled = True
    Me.Caixa_de_combinação96.Locked = False
    Me.Rótulo40.Enabled = True
    Me.Rótulo40.Locked = False
    Me.Texto39.Enabled = True
    Me.Texto39.Locked = False
    Me.Rótulo42.Enabled = True
    Me.Rótulo42.Locked = False
    Me.Texto41.Enabled = True
    Me.Texto41.Locked = False
    Me.Rótulo44.Enabled = True
    Me.Rótulo44.Locked = False
    Me.Caixa_de_combinação43.Enabled = True
    Me.Caixa_de_combinação43.Locked = False
    Me.Rótulo53.Enabled = True
    Me.Rótulo53.Locked = False
    Me.Texto52.Enabled = True
    Me.Texto52.Locked = False
    Me.Rótulo55.Enabled = True
    Me.Rótulo55.Locked = False
    Me.Texto54.Enabled = True
    Me.Texto54.Locked = False
    Me.Rótulo57.Enabled = True
    Me.Rótulo57.Locked = False
    Me.Texto56.Enabled = True
    Me.Texto56.Locked = False
    Me.CaixaCombinação194.Enabled = True
    Me.CaixaCombinação194.Locked = False
    Me.Texto193.Enabled = True
    Me.Texto193.Locked = False
    Me.CaixaCombinação196.Enabled = True
    Me.CaixaCombinação196.Locked = False
    Me.Texto195.Enabled = True
    Me.Texto195.Locked = False
    Me.Rótulo49.Enabled = True
    Me.Rótulo49.Locked = False
    Me.Texto48.Enabled = True
    Me.Texto48.Locked = False
    Me.Texto50.Enabled = True
    Me.Texto50.Locked = False
    Me.Rótulo59.Enabled = True
    Me.Rótulo59.Locked = False
    Me.Caixa_de_combinação58.Enabled = True
    Me.Caixa_de_combinação58.Locked = False
    Me.Rótulo61.Enabled = True
    Me.Rótulo61.Locked = False
    Me.Caixa_de_combinação60.Enabled = True
    Me.Caixa_de_combinação60.Locked = False
    Me.Rótulo63.Enabled = True
    Me.Rótulo63.Locked = False
    Me.Texto62.Enabled = True
    Me.Texto62.Locked = False
    Me.Rótulo95.Enabled = True
    Me.Rótulo95.Locked = False
    Me.Texto94.Enabled = True
    Me.Texto94.Locked = False
    Me.Rótulo108.Enabled = True
    Me.Rótulo108.Locked = False
    Me.Texto107.Enabled = True
    Me.Texto107.Locked = False
    Me.Rótulo149.Enabled = True
    Me.Rótulo149.Locked = False
    Me.Texto148.Enabled = True
    Me.Texto148.Locked = False
    Me.Rótulo152.Enabled = True
    Me.Rótulo152.Locked = False
    Me.Texto151.Enabled = True
    Me.Texto151.Locked = False
    Me.Texto158.Enabled = True
    Me.Texto158.Locked = False
    Me.Rótulo74.Enabled = True
    Me.Rótulo74.Locked = False
    Me.Rótulo71.Enabled = True
    Me.Rótulo71.Locked = False
    Me.Texto70.Enabled = True
    Me.Texto70.Locked = False
    Me.Rótulo73.Enabled = True
    Me.Rótulo73.Locked = False
    Me.Texto72.Enabled = True
    Me.Texto72.Locked = False
    Me.Rótulo65.Enabled = True
    Me.Rótulo65.Locked = False
    Me.Texto64.Enabled = True
    Me.Texto64.Locked = False
    Me.Rótulo68.Enabled = True
    Me.Rótulo68.Locked = False
    Me.Texto67.Enabled = True
    Me.Texto67.Locked = False
    Me.CaixaCombinação253.Enabled = True
    Me.CaixaCombinação253.Locked = False
    Me.Texto251.Enabled = True
    Me.Texto251.Locked = False
    Me.OLEDependente111.Enabled = True
    Me.OLEDependente111.Locked = False
    Me.OLEVinculado287.Enabled = True
    Me.OLEVinculado287.Locked = False
    Me.CaixaCombinação255.Enabled = True
    Me.CaixaCombinação255.Locked = False
    Me.Texto100.Enabled = True
    Me.Texto100.Locked = False
    Me.Texto232.Enabled = True
    Me.Texto232.Locked = False
    Me.Comando35.Enabled = True
    Me.Comando235.Enabled = True
    Me.Comando79.Enabled = True
    Me.Comando284.Enabled = False
    Me.Rótulo26.SetFocus
    Me.Command702.Caption = "Fechar Edição"
    Me.Command702.ForeColor = vbRed
    Me.Comando284.Caption = "Editar"
    Me.Comando284.ForeColor = vbBlack
    Me.Comando284.Enabled = False
    Me.Comando12.Enabled = False
    Else ' caso não queira cadastrar, ação cancelada
    msgbox " Ação cancelada, Pessoa não criada", vbInformation, " AVISO DO SISTEMA !!"

    End If
    Exit Sub
    End Sub

    Private Sub Comando102_Click()
    On Error GoTo Err_Comando102_Click


    DoCmd.GoToRecord , , acFirst
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If

    Exit_Comando102_Click:
    Exit Sub

    Err_Comando102_Click:
    msgbox Err.Description
    Resume Exit_Comando102_Click
    End Sub
    Private Sub Comando103_Click()
    On Error GoTo Err_Comando103_Click


    DoCmd.GoToRecord , , acPrevious
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If

    Exit_Comando103_Click:
    Exit Sub

    Err_Comando103_Click:
    msgbox Err.Description
    Resume Exit_Comando103_Click
    End Sub
    Private Sub Comando104_Click()
    On Error GoTo Err_Comando104_Click


    DoCmd.GoToRecord , , acNext
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If

    Exit_Comando104_Click:
    Exit Sub

    Err_Comando104_Click:
    msgbox Err.Description
    Resume Exit_Comando104_Click
    End Sub
    Private Sub Comando105_Click()
    On Error GoTo Err_Comando105_Click


    DoCmd.GoToRecord , , acLast
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If

    Exit_Comando105_Click:
    Exit Sub

    Err_Comando105_Click:
    msgbox Err.Description
    Resume Exit_Comando105_Click
    End Sub
    Private Sub Comando106_Click()
    On Error GoTo Err_Comando106_Click


    DoCmd.GoToRecord , , acNewRec

    Exit_Comando106_Click:
    Exit Sub

    Err_Comando106_Click:
    msgbox Err.Description
    Resume Exit_Comando106_Click

    End Sub
    Private Sub Comando165_Click()
    On Error GoTo Err_Comando165_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "Auto de Identificação"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_Comando165_Click:
    Exit Sub

    Err_Comando165_Click:
    msgbox Err.Description
    Resume Exit_Comando165_Click

    End Sub
    Private Sub Comando231_Click()
    On Error GoTo Err_Comando231_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "Tir"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_Comando231_Click:
    Exit Sub

    Err_Comando231_Click:
    msgbox Err.Description
    Resume Exit_Comando231_Click

    End Sub







    Private Sub Texto151_DblClick(Cancel As Integer)
    'Determina o nome do formulário e campo ativo
    NomForm = Screen.ActiveForm.Name
    NomCampo = Screen.ActiveControl.Name
    'Posiciona o calendário
    Dim blRet As Boolean
    blRet = PositionFormRelativeToControl("Calendario", Me.Texto151, 2)

    End Sub

    Private Sub Texto158_DblClick(Cancel As Integer)
    'Determina o nome do formulário e campo ativo
    NomForm = Screen.ActiveForm.Name
    NomCampo = Screen.ActiveControl.Name
    'Posiciona o calendário
    Dim blRet As Boolean
    blRet = PositionFormRelativeToControl("Calendario", Me.Texto158, 2)

    End Sub

    Private Sub Texto19_AfterUpdate()
    ConvertToUpper
    Me.Form.Caption = "Pessoas " & Nome
    End Sub

    Private Sub Texto19_BeforeUpdate(Cancel As Integer)

    '*********************************
    'Code sample courtesy of srfreeman
    '*********************************

    Dim SID As String
    Dim stLinkCriteria As String
    Dim rsc As DAO.Recordset

    Set rsc = Me.RecordsetClone

    SID = Me.Nome.Value
    stLinkCriteria = "[Nome]=" & "'" & SID & "'"

    'Check StudentDetails table for duplicate StudentNumber
    If DCount("Nome", "Pessoas", stLinkCriteria) > 0 Then
    'Undo duplicate entry
    Me.Undo
    'Message box warning of duplication
    msgbox "Aviso Nome " _
    & SID & " Já foi inserido." _
    & vbCr & vbCr & "Vai ser redireccionado para o respectivo registo.", vbInformation _
    , "Pessoa Duplicada"
    'Go to record of original Student Number
    rsc.FindFirst stLinkCriteria
    Me.Bookmark = rsc.Bookmark
    End If

    Set rsc = Nothing
    End Sub

    Private Sub Texto232_DblClick(Cancel As Integer)
    'Determina o nome do formulário e campo ativo
    NomForm = Screen.ActiveForm.Name
    NomCampo = Screen.ActiveControl.Name
    'Posiciona o calendário
    Dim blRet As Boolean
    blRet = PositionFormRelativeToControl("Calendario", Me.Texto232, 2)

    End Sub

    Private Sub Texto25_GotFocus()
    Me!Texto25.Dropdown
    End Sub

    Private Sub Texto31_DblClick(Cancel As Integer)
    'Determina o nome do formulário e campo ativo
    NomForm = Screen.ActiveForm.Name
    NomCampo = Screen.ActiveControl.Name
    'Posiciona o calendário
    Dim blRet As Boolean
    blRet = PositionFormRelativeToControl("Calendario", Me.Texto31, 2)

    End Sub

    Private Sub Texto37_AfterUpdate()
    ConvertToUpper
    Me.Form.Caption = "Pessoas " & Numero
    End Sub

    Private Sub Texto37_BeforeUpdate(Cancel As Integer)

    '*********************************
    'Code sample courtesy of srfreeman
    '*********************************

    Dim SID As String
    Dim stLinkCriteria As String
    Dim rsc As DAO.Recordset

    Set rsc = Me.RecordsetClone

    SID = Me.Numero.Value
    stLinkCriteria = "numero=" & "'" & SID & "'"

    'Check StudentDetails table for duplicate StudentNumber
    If DCount("numero", "pessoas", stLinkCriteria) > 0 Then
    'Undo duplicate entry
    Me.Undo
    'Message box warning of duplication
    msgbox "Aviso Documento " _
    & SID & " Já foi inserido." _
    & vbCr & vbCr & "Vai ser redireccionado para o respectivo registo.", vbInformation _
    , "Documento Duplicado"
    'Go to record of original Student Number
    rsc.FindFirst stLinkCriteria
    Me.Bookmark = rsc.Bookmark
    End If

    Set rsc = Nothing
    End Sub
    Private Sub Comando236_Click()
    On Error GoTo Err_Comando236_Click

    Dim stDocName As String

    stDocName = "Fotopessoas"
    DoCmd.OpenReport stDocName, acPreview

    Exit_Comando236_Click:
    Exit Sub

    Err_Comando236_Click:
    msgbox Err.Description
    Resume Exit_Comando236_Click

    End Sub
    Private Sub CaixaCombinação237_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me![Caixa de combinação237], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub

    Private Sub CaixaCombinação239_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me![CaixaCombinação239], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub

    Private Sub CaixaCombinação241_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me!CaixaCombinação241, 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    Me!CaixaCombinação241 = Null 'deixa a combo vazia, limpa.
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    End Sub

    Private Sub CaixaCombinação243_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me!CaixaCombinação243, 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    Me!CaixaCombinação243 = Null 'deixa a combo vazia, limpa.
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    End Sub

    Private Sub CaixaCombinação247_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me![CaixaCombinação247], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub

    Private Sub CaixaCombinação249_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me!CaixaCombinação249, 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    Me!CaixaCombinação249 = Null 'deixa a combo vazia, limpa.
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    End Sub

    Private Sub Comando260_Click()
    On Error GoTo Err_Comando260_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "Mandado"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_Comando260_Click:
    Exit Sub

    Err_Comando260_Click:
    msgbox Err.Description
    Resume Exit_Comando260_Click

    End Sub
    Private Sub CaixaCombinação263_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me![CaixaCombinação263], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    Me!CaixaCombinação263 = Null 'deixa a combo vazia, limpa.
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    End Sub

    Private Sub Comando265_Click()
    On Error GoTo Err_Comando265_Click

    Dim stDocName As String

    stDocName = "Pessoas lista"
    DoCmd.OpenReport stDocName, acPreview

    Exit_Comando265_Click:
    Exit Sub

    Err_Comando265_Click:
    msgbox Err.Description
    Resume Exit_Comando265_Click

    End Sub
    Private Sub Caixa_de_combinação271_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me![Caixa de combinação271], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    Me![Caixa de combinação271] = Null 'deixa a combo vazia, limpa.
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    End Sub

    Private Sub Caixa_de_combinação275_AfterUpdate()
    ' Localizar o registo que corresponde ao controlo.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[n] = " & Str(Nz(Me![Caixa de combinação275], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    Me![Caixa de combinação275] = Null 'deixa a combo vazia, limpa.
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    End Sub

    Private Sub Texto41_DblClick(Cancel As Integer)
    'Determina o nome do formulário e campo ativo
    NomForm = Screen.ActiveForm.Name
    NomCampo = Screen.ActiveControl.Name
    'Posiciona o calendário
    Dim blRet As Boolean
    blRet = PositionFormRelativeToControl("Calendario", Me.Texto41, 2)

    End Sub

    Private Sub Texto54_DblClick(Cancel As Integer)
    'Determina o nome do formulário e campo ativo
    NomForm = Screen.ActiveForm.Name
    NomCampo = Screen.ActiveControl.Name
    'Posiciona o calendário
    Dim blRet As Boolean
    blRet = PositionFormRelativeToControl("Calendario", Me.Texto54, 2)

    End Sub

    Private Sub Texto76_AfterUpdate()
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    End Sub

    Private Sub Texto76_DblClick(Cancel As Integer)
    'Determina o nome do formulário e campo ativo
    NomForm = Screen.ActiveForm.Name
    NomCampo = Screen.ActiveControl.Name
    'Posiciona o calendário
    Dim blRet As Boolean
    blRet = PositionFormRelativeToControl("Calendario", Me.Texto76, 2)

    End Sub

    Private Sub Texto76_LostFocus()
    If Me.Texto76 > "" Then
    Me.txtIdadeSimples.Value = CalculaIdade(Me.Texto76) & " " & "Anos"
    Me.txtIdadeCompleta.Value = AnoMesDia(Me.Texto76)
    Me.txtIdadeSimples.Requery
    Me.txtIdadeCompleta.Requery
    End If
    End Sub


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 18/1/2014, 02:01

    Segue cópia da minha página, se criar novo registo e no campo numero colocar um idêntico aos já existentes aparece o erro
    Coloquei uma seta a apontar para o campo é o form pessoas


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 18/1/2014, 11:30

    Abro o formulário....
    Clico em Registro Novo?

    Digito este número onde?

    Cite o que fazer para que eu reproduza o erro aqui.

    Cumprimentos.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 18/1/2014, 14:12

    Abro o furmulário pessoas, clico em registo novo e no campo onde coloco o numero, para onde aponta a seta coloco um numero já inserido e fasso tab onde me aparece o aviso Documento já inserido irá ser redirecionado para o respetivo registo. Fasso OK e aparece o erro.

    Vai por exemplo ao registo anterior, copia o numero do documento e cria registo novo, cola e muda para outro campo que o erro aparece.

    Não ligues ao erro ao fechar no botão com a porta isso é porque falta uma referência que não copiei para o exemplo na minha base não da esse erro ao sair do form.


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 22/1/2014, 21:47

    UP


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 26/1/2014, 21:46

    Amigão este formulário teu está com Pau
    Crie um novo banco de dados.. importe tudo para o mesmo, crie um novo formulário e importe os dados e código do teu formulário antigo.

    Veja o frmExemplo que criei, nele o código funciona perfeitamente...

    https://dl.dropboxusercontent.com/u/26441349/ToyeBom.rar

    Cumprimentos.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 26/1/2014, 21:55

    Deu erro a abrir o arquivo zip.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 26/1/2014, 21:59

    Creio que encontrei o problema..

    Você faz o undo do formulário e está utilizando a caixa texto Numero para direcionar o ponteiro do recordset para o registro, como o undo remete o formulário ao estado anterior (em branco) a caixa texto numero portanto está vazia e o objeto FindFirst falha.


    Tente assim:


    '********************************************
    'Code sample courtesy of srfreeman
    'Adaptado por Harysohn - Fórum Maximo Access
    'em 26/01/2014
    '********************************************
    Dim SID As String
    Dim stLinkCriteria As String
    Dim Rs As DAO.Recordset
    Dim StrSQL As String
    StrSQL = "SELECT * FR   OM Pessoas"
    Set Rs = Me.RecordsetClone
    MsgBox Rs.RecordCount
    Me.recebeFoco.SetFocus
    SID = Me.numero.Value
    stLinkCriteria = "numero=" & "'" & SID & "'"
       'Check StudentDetails table for duplicate StudentNumber
       If DCount("numero", "pessoas", stLinkCriteria) > 0 Then
            'Undo duplicate entry
            Me.Undo
            'Message box warning of duplication
            MsgBox "Aviso Documento " _
                & SID & " Já foi inserido." _
                & vbCr & vbCr & "Vai ser redireccionado para o respectivo registo.", vbInformation, "Documento Duplicado"

        Rs.FindFirst "[Numero] = '" & SID & "'"
        If Not Rs.EOF Then Me.Bookmark = Rs.Bookmark
       End If

    Set Rs = Nothing


    Cumprimentos.


    Veja que sua caixa texto deve estar nomeada de numero
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 26/1/2014, 22:42

    A parte

    Me.recebeFoco.SetFocus

    fica a amarelo dando erro


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 27/1/2014, 00:12

    Pode excluir.. fiz apenas para testes.

    Cumprimentos.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 27/1/2014, 02:05

    Peço desculpa mais uma vez, consegui abrir o seu exemplo mas não era isso que queria, o problema é que ao cadastrar uma nova pessoa, no campo numero coloco o numero do documento tipo passaporte ou outro e se o mesmo for idêntico a um registo anterior de pessoa cadastrada ai dá o aviso e redirecciona para o respectivo registo.

    O aviso aparece só não redirecciona para o registo.

    Antes o código funcionava, agora dá erro e não sei o motivo. No bd não preciso da caixa desvinculada que tem no teu exemplo, apenas do campo numero "Texto37"


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 27/1/2014, 08:43

    Coloque o codigo acima no teu formulário.


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 27/1/2014, 09:10

    Cara na realidade está dando um erro que gera este que posto...

    O Erro 2108 que condiz com regras de validação para o campo...

    Você está utilizando o código no evento errado.

    Coloque no evento após atualizar da caixa texto:


    'ConvertToUpper
    Me.Form.Caption = "Pessoas " & numero
    'Code sample courtesy of srfreeman
    'Adaptado por Harysohn - Fórum Maximo Access
    'em 26/01/2014
    '********************************************
    Dim SID As String
    Dim stLinkCriteria As String
    Dim Rs As DAO.Recordset


    'Check StudentDetails table for duplicate StudentNumber
    If DCount("numero", "pessoas", stLinkCriteria) > 0 Then
        Set Rs = Me.RecordsetClone
        Me.recebefoco.SetFocus
        SID = Me.Texto37.Value
        Me.Undo
        'Message box warning of duplication
        MsgBox "Aviso Documento " _
                & SID & " Já foi inserido." _
                & vbCr & vbCr & "Vai ser redireccionado para o respectivo registo.", vbInformation, "Documento Duplicado"
        Rs.FindFirst "[Numero] = '" & SID & "'"
        If Not Rs.EOF Then Me.Bookmark = Rs.Bookmark
       End If
    Set Rs = Nothing


    Cumprimentos.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 27/1/2014, 21:32

    Continua-me a aprecer

    rsc.FindFirst stLinkCriteria

    a amarelo com erro

    segue a pagina do código que utilizei com o bd no qual funciona

    http://www.databasedev.co.uk/duplicates.html

    ----------------------

    o meu codigo encontra o duplicado só não remete para o registo


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 27/1/2014, 22:19

    Vou te mandar o que fiz..

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 28/1/2014, 01:10

    Tente este:


    '********************************************
    'Code sample courtesy of srfreeman
    'Adaptado por Harysohn - Fórum Maximo Access
    'em 26/01/2014
    '********************************************
    Dim SID As String
    Me.recebefoco.SetFocus
    SID = Me.numero.Value
    'Check StudentDetails table for duplicate StudentNumber
    If DCount("numero", "pessoas", "[Numero] = '" & SID & "'") > 0 Then
        Dim Rs As Object
        Set Rs = Me.Recordset.Clone
        'Message box warning of duplication
        MsgBox "Aviso Documento " _
                & SID & " Já foi inserido." _
                & vbCr & vbCr & "Vai ser redireccionado para o respectivo registo.", vbInformation, "Documento Duplicado"
        Rs.FindFirst "[Numero] = '" & SID & "'"
        If Not Rs.EOF Then Me.Bookmark = Rs.Bookmark
    End If
    Set Rs = Nothing


    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 28/1/2014, 01:12

    Eis:

    https://dl.dropboxusercontent.com/u/26441349/Toyebom%20%282%29.rar

    Cumprimentos.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 28/1/2014, 20:28

    Muito obrigado, consegui resolver após ver o que tinhas feito na bd.

    Como não preciso do campo desvinculado e do botão que criaste, eliminei os mesmos e adaptei o código, ficou

    Me.Texto37.SetFocus

    Voltou a dar erro então pensei que poderia ser por estar a tentar fazer o foco para o campo onde escrevo os dados ao que redireccionei para outro, ficou:

    Me.Rótulo26.SetFocus que é o primeiro campo do form. Resultou na perfeição.

    De seguida, deparei-me com um problema, o teu código detectava o registo duplicado e remetia-me para o já criado mas não me eliminava o novo registo que estava a duplicar, vi o código antigo e descobri:

    Me.Undo

    após isso ficou 100%, obrigado pela ajuda.

    O código completo após as minhas alterações ficou:


    Private Sub Texto37_AfterUpdate()
    '********************************************
    'Code sample courtesy of srfreeman
    'Adaptado por Harysohn - Fórum Maximo Access
    'em 26/01/2014
    '********************************************
    Dim SID As String
    Me.Rótulo26.SetFocus
    SID = Me.Numero.Value
    'Check StudentDetails table for duplicate StudentNumber
    If DCount("numero", "pessoas", "[Numero] = '" & SID & "'") > 0 Then
       Me.Undo
       Dim Rs As Object
       Set Rs = Me.Recordset.Clone
       'Message box warning of duplication
       MsgBox "Aviso Documento " _
               & SID & " Já foi inserido." _
               & vbCr & vbCr & "Vai ser redireccionado para o respectivo registo.", vbInformation, "Documento Duplicado"
       Rs.FindFirst "[Numero] = '" & SID & "'"
       If Not Rs.EOF Then Me.Bookmark = Rs.Bookmark
    End If
    Set Rs = Nothing
    End Sub


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 28/1/2014, 20:32

    Esqueci o resolvido lol

    já agora, gostaste bd que enviei para o mail???


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 28/1/2014, 20:59

    Ainda o baixarei.. Estou corrido aqui.. Mas obrigado por enviar..

    O Fórum agradece o Retorno.
    toyebom
    toyebom
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1128
    Registrado : 18/07/2012

    [Resolvido]Run-Time error 3420 Empty Run-Time error 3420

    Mensagem  toyebom 28/1/2014, 21:29

    Ok

    Já agora, peço desculpa mas visto que já me ajudaste uma vez, já estas familiarizado com o form do meu bd, podias-me dar uma ultima ajuda?

    http://maximoaccess.forumeiros.com/t16973-resolvidofiltro-problema-com-data

    Gostava de acrescentar mais um filtro. Filtro entre datas que funcionasse com os outros e fosse buscar a data inicial e final da mesma forma do filtro de data que me ajudaste. Agradecia. Não te torno a incomodar (por enquanto lol ).

    Já agora, mando-te os desenhos dos botões da bd

    http://maximoaccess.forumeiros.com/t17216-desenhos-para-botoes#128685


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Convidado
    Convidado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Convidado 1/2/2014, 01:44

    Esta feito..

    Cumprimentos.

    Conteúdo patrocinado


    [Resolvido]Run-Time error 3420 Empty Re: [Resolvido]Run-Time error 3420

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 18:23