Bonjour à tous ,

je cherche à rendre générique le nom d'un formulaire actif et de pouvoir l'appliquer en variable quelquesoit le formulaire, or cela coince partout ou la variable 'FormActif est utilisée, pourquoi ?


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
Public Function CreerClient()
 
Dim strSQL As String
Dim strNouveauNumClient As String
Dim FormActif As Form
 
Set FormActif = Screen.ActiveForm
 
 
'Attribution d'un nouveau numéro de client et remplissage de la table contacts
strSQL = "update contacts set contacts.numclient ='" & NumAutoClient() & "',contacts.datecréationclient=now() where contacts.numcontact = '" & FormActif.NumContact & "'"
 
 
'Vérification de l'éxistence du numéro de client pour ce contact / prospect
If IsNull(DLookup("numclient", "contacts", "[numcontact]= formactif.[numcontact]")) Then
 
Select Case MsgBox("Le contact : " & FormActif.Contact & " " & "n'est pas encore client, voulez vous le transformer en client ?", vbYesNo, "Transformer un prospect en client")
 
Case vbYes
 
    'Exécution de la requête
    DoCmd.RunSQL strSQL
 
 
    'Message de confirmation de la création d'un numéro de client
 
 
    strNouveauNumClient = DLookup("numclient", "contacts", "[numcontact]=formactif![numcontact]")
 
    MsgBox ("Le contact : " & FormActif.Contact & " a été transformé en client avec le numéro :" & vbNewLine & strNouveauNumClient)
 
 
Case vbNo
Exit Function
 
End Select
 
End If
 
End Function
Merci !