Bonjour tout le monde,
J'aimerai avoir votre aide sur ce problème ci:
J'ai un formulaire qui est basée sur une requête. Il est ouvert ouvert en appliquant un filtre. Voici l'instruction d'ouverture
Voici la requête source de mon formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 stFiltre = saisieValeur(msg, titre) If Len(stFiltre) = 0 Then MsgBox "Ouverture annulée!" Exit Sub Else stLinkCriteria = "Code_postal LIKE '" & stFiltre & "*'" End If stDocName = IIf(Me.opgMotif.Value = 1, "Fiches_vierges", "Rappels") DoCmd.OpenForm stDocName, , , stLinkCriteria
J'utilise également une fonction qui permet de verrouiller les enregistrement contenus dans le RecordSource de mon formulaire dont je viens de parler ci haut. Voici la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Entreprises.*, * FROM Entreprises WHERE (((Entreprises.Num_serie) Not In (SELECT DISTINCT Entreprise FROM Prospections)));
Le problème est que le formulaire s'ouvre normalement avec les bons enregistrements. Mais ma fonction qui s'exécute lors du chargement des données ne marche pas. La méthode Find du RecordSet ne retourne rien parce que c'est comme si l'exécution sautait la boucle Do Until.
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 'Vérrouillage de toutes les fiches des entreprises Private Sub deverrouillage() Dim bd As New ADODB.Connection Dim rs As New ADODB.Recordset Set bd = CurrentProject.Connection 'Ouvrir la table Entreprises 'rs.Open "Entreprises", bd, adOpenDynamic, adLockOptimistic Dim stSql As String stSql = "SELECT * FROM Entreprises WHERE " & Me.Filter rs.Open stSql, bd, adOpenDynamic, adLockOptimistic 'Verrouiller tous ceux qui satisfond 'à la condition du filtre With rs '.Find Me.Filter Do Until .EOF rs("Verrouille") = Null .Update .MoveNext Loop End With 'Fermeture des objets et 'libération de la mémoire rs.Close Set rs = Nothing bd.Close End Sub
J'ai beau chercher et vérifié mais je n'arrive toujours pas à retrouver où se cache l'erreur.
J'espère avoir été clair dans les explications.
Quelqu'un pourrait-il m'aider à voir ce qui cloche.
Je vous remercie d'avance pour vos interventions.
@omzo
Partager