Bonjour membres du forum !
Permettez moi de reprendre la discussion avec le deuxième sous formulaire"OUMARCOMMERCE_ARTICLES_ACHETES_EN_GROS_Solde_SF"du sous formulaire "Sous_Entete_Autres_Projets_Divers_SF" du formulaire principal"Entete_AUTRES_PROJETS_DIVERS" dont voici le contrôle onglet"Ctrl_CommerceGD".
Alors le sous formulaire se trouve sur le deuxième onglet dont l'indexe page est 1.
Voici mon souci:
- la procédure suivante ne répond pas et bloque mon ma base de données. Voici le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
Sub sMajSousDeSousFormSolde()
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 Forms("Entete_AUTRES_PROJETS_DIVERS").Sous_Entete_Autres_Projets_Divers_SF.Form.OUMARCOMMERCE_ARTICLES_ACHETES_EN_GROS_Solde_SF.Form.RecordsetClone.RecordCount = 0 Then Exit Sub
lngClé = Forms("Entete_AUTRES_PROJETS_DIVERS").Sous_Entete_Autres_Projets_Divers_SF.Form.OUMARCOMMERCE_ARTICLES_ACHETES_EN_GROS_Solde_SF.Form.Controls("NumAuto_SoldeFact")
lngEnrActif = Forms("Entete_AUTRES_PROJETS_DIVERS").Sous_Entete_Autres_Projets_Divers_SF.Form.OUMARCOMMERCE_ARTICLES_ACHETES_EN_GROS_SF.Form.CurrentRecord
 
Forms("Entete_AUTRES_PROJETS_DIVERS").Sous_Entete_Autres_Projets_Divers_SF.Form.OUMARCOMMERCE_ARTICLES_ACHETES_EN_GROS_Solde_SF.Form.Requery
Set rs = Forms("Entete_AUTRES_PROJETS_DIVERS").Sous_Entete_Autres_Projets_Divers_SF.Form.OUMARCOMMERCE_ARTICLES_ACHETES_EN_GROS_Solde_SF.Form.RecordsetClone
With rs
 'S'il n'y a plus d'enregistrement, on quitte la procédure
  If rs.RecordCount = 0 Then Exit Sub
  .FindFirst "NumAuto_SoldeFact=" & lngClé
  Select Case .NoMatch
    Case True 'Si l'enregistrement qui était actif a disparu...
      DoCmd.GoToRecord , , acGoTo, lngEnrActif
    Case False
      Forms("Entete_AUTRES_PROJETS_DIVERS").Sous_Entete_Autres_Projets_Divers_SF.Form.OUMARCOMMERCE_ARTICLES_ACHETES_EN_GROS_Solde_SF.Form.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
- Les messages d'erreur sont les mêmes que j'avais indiqués bien avant la résolution de la première partie de la discussion plus en haut.
Voir https://www.developpez.net/forums/d1...us-formulaire/
Cordialement.