Help !!!

Je travaille sous ACCESS 2003.
J’appelle depuis mon formulaire, une procédure placée dans un module standard. Cette dernière doit ajouter un nouveau enregistrement dans la table mais seul un zéro est ajouté dans la table. Merci de votre aide.

Voici l'affreux code

Procédure du formulaire (placée dans un événement click) :
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
…..
Call AjouRecodForm(Me, "TProgramme")
……
 
Procédure du module standard :
Public Sub AjouRecodForm(frm As Form, nomTable As String)
' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
' le frm est un formulaire indépendant (sans source de données)
' mais les zones de texte ont exactement les mêmes noms que les
' champs de la table fournis par la procédure appelante.
' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Dim mabd As DAO.Database
Dim Rst As DAO.Recordset
Dim ctrl As Control
Dim sNomChamp, sAutreRst As String
Dim sSQL As String
 
Set mabd = CurrentDb
sSQL = "Select * From " & nomTable ' le nom de la table est donnée par le procédure appelante
Set Rst = mabd.OpenRecordset(sSQL, dbOpenDynaset)
Rst.MoveLast
 
' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
' Ajout d'un nouveau enregistrement à partir du formulaire
' """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
Rst.AddNew
For Each ctrl In frm.Controls
    sNomChamp = ""
    If ctrl.ControlType = acTextBox Then
        sNomChamp = ctrl.Name ' je récupère le nom du champ à partir du nom de la zone texte
        sAutreRst = "Rst!" & sNomChamp ' là je reconstruit le nom complet du rst
        Debug.Print sAutreRst & "  a pour valeur " & ctrl.Value 'affiche tout nickel
        sAutreRst = ctrl.Value 'là, le problème écrit uniquement un zéro dans ma table
    End If
Next ctrl
Rst.Update
Rst.Close
End Sub