Saut tout le monde,
En fait j'ai rencontré un erreur :
Erreur d'exécution "91" :
Variable objet ou variable de bloc non définie,
Je veux faire un sélection d'un enregistrement d'une table Affaire selon un Num_Affaire choisi à partir d'une liste déroulante qui affiche tous les Num_Affaire disponible, tous sa pour Modifier avec Update !
dans un module nommé ModuleConnexion j'ai utilisé sa :

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
 
Option Compare Database
 
Public Com As String 'Variable qui va contenir les commandes SQL de type INSERT, UPDATE...
Public affaire As DAO.Database 'La variable qui va faire le lien entre l'application et la base de données, pour pouvoir exécuter les commandes SQL
Public dataset As DAO.Recordset 'Variable qui va contenir les données d'une resultat sql temporairememnt dans la RAM
 
Function Connect()
    Set affaire = CurrentDb 'Initialiser la variable affaire à la base de données courante
End Function
 
Function valider_selection()
 
  Set dataset = affaire.OpenRecordset(Com, dbOpenDynaset) 'Initialise dataset exécute la dernière commande SQL par le biais de la variable de commande et remplit l'ensemble de données dans la mémoire
End Function
j'ai écrit le code pour l'ajout dans tous les tables sa tourne bien avec cette méthode !
Dans un formulaire nommé frmModification j'ai une bouton pour rechercher l'affaire à modifier, la partie qui nous intéresse :

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
 
Private Sub b_rech_aff_Click()
Dim numaff As String
 
 
'Vérifier que l'utilisateur a bien choisi un numéro
 
If IsNull(ld_numaff_mod.Value) Or IsEmpty(ld_numaff_mod.Value) Then
MsgBox "Vous devez choisir un numéro d'affaire !"
Else:
    numaff = ld_numaff_mod.Value
    Com = "SELECT * FROM Affaire WHERE Num_Affaire=" & numaff    'J'ai essayer avec les crochets, toujours pas de résultat 
    valider_selection
   Form_frmModCons2.zt_statut = dataset("Statut") 'Statut est un champ dans la table affaire, je veux affecter la valeur récupérer de la requête SELECT à un champ d'un Formulaire nommé frmModCons2  préalablement  
 
    MsgBox "Trés bien !!"   'juste en mode Test lol :p
 
DoCmd.Close acForm, "Modification"
DoCmd.OpenForm "frmModCons1"
End If
 
End Sub
Alors il affiche l'erreur 91 comme cité ci-dessus, et lors du débogage ce ligne du ModuleConnexion :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Set dataset = affaire.OpenRecordset(Com, dbOpenDynaset)
devient jaune !

Merci bien les amis de vouloir m'aider à sortir de cette problème.