Rafraichissement de formulaire

Résolu
Bonjour,
Dans un formulaire de Stock, j'ai mit des cases à cocher qui affichent ou cachent des zones de textes:
    If Consommable.Value = True Then
        [N_Serie].Visible = False
        [N_Bureau].Visible = False
    Else
        [N_Serie].Visible = True
        [N_Bureau].Visible = True
    End If

Et pour rafraichir mon formulaire:
Private Sub Consommable_AfterUpdate()
    
    Me.Requery
    
End Sub

Mais en fait, le rafraichissement me repositionne sur mon premier enregistrement, quelqu'un peut-il me guider, s'il vous plaît?
Configuration: Windows XP
Firefox 2.0.0.16

2 réponses

  1. bonjour,

    Il suffirait peut-être d'enregistrer la valeur du bookmark dans une variable avant le requery afin de te repositionner dessus après le requery.
    -1
    1. Merci de ton information, mais même si je me débrouille, je ne connais pas cette manip., ni ne sais où le faire, pourrais tu m'expliquer ?

      Edit:
      C'est bon j'ai trouvé une formule:
      Sub sMajForm()
      Dim lngClé As Long
      Dim lngEnrActif As Long
      Dim rs As DAO.Recordset
      
      On Error GoTo GestErr
      
      'Désactive le rafraîchissement de l'écran
      Echo False
       
      'S'il n'y a pas d'enregistrement, on quitte la procédure
      If Me.RecordsetClone.RecordCount = 0 Then Exit Sub
      lngClé = Me!ChampCléPrimaire
      lngEnrActif = Me.CurrentRecord
      
      Me.Requery
      Set rs = Me.RecordsetClone
      With rs
       'S'il n'y a plus d'enregistrement, on quitte la procédure
        If rs.RecordCount = 0 Then Exit Sub
        .FindFirst "ChampCléPrimaire=" & lngClé
        Select Case .NoMatch
          Case True 'Si l'enregistrement qui était actif a disparu...
            DoCmd.GoToRecord , , acGoTo, lngEnrActif
          Case False
            Me.Bookmark = .Bookmark
        End Select
      End With
      rs.Close
      Set rs = nothing
      
      'Active le rafraîchissement de l'écran
      Echo True
      
      Exit Sub
      
      GestErr:
      Select Case Err
        Case 2105 'Si le numéro d'enregistrement n'est plus valide...
            'C'est qu'il y a moins d'enregistrements depuis le Requery,
            ' donc on active le dernier enregistrement
            DoCmd.GoToRecord , , aclast
        Case Else
          MsgBox Err.Description, Err.Number
      End Select
      rs.close
      Set rs = nothing
      
      'Active le rafraîchissement de l'écran
      Echo True
      
      End Sub
      

      Où ChampCléPrimaire est N° auto et ça remplace mon Me.Requery
      -1