Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Historique et control type

2 réponses
Avatar
MULLER
Bonsoir

J'ai trouvé dans les forums les routines pour créer une table contenant
les modifications apportées dans une autre table.
Cette routine ne mémorise que les modifications sur 3 types de contrôle
, n° 106,109 et 111.

Question: Ou trouver la liste de ces numéros de controle ?

merci

-------------------------------------------------
If Me.Dirty = True Then
frmAJouterHistorique Me
End If



Sub frmAJouterHistorique(frm As Form)
'------------------------------------
'control type 106 checkbox
' 109 textbox
' 111 combo

On Error Resume Next


For Ctr = 0 To frm.Controls.Count - 1
If frm.Controls(Ctr).ControlType = 106 Or frm.Controls(Ctr).ControlType
= 109 Or frm.Controls(Ctr).ControlType = 111 Then

If frm.Controls(Ctr).Value <> frm.Controls(Ctr).OldValue Then
Dim T_Historique As Recordset

SetT_Historique=CurrentDb.OpenRecordset("FICHIERHISTO",DB_OPEN_TABLE)
T_Historique.AddNew
T_Historique("NomTable") = frm.RecordSource
T_Historique("NomChamp") = frm.Controls(Ctr).Name
T_Historique("AncienneValeur") = frm.Controls(Ctr).OldValue
T_Historique("NouvelleValeur") = frm.Controls(Ctr).Value
T_Historique("DateHeure") = Now
T_Historique.Update
T_Historique.Close
End If
End If
Next


End Sub
'================================================

2 réponses

Avatar
Gloops
MULLER a écrit, le 23/03/2013 20:48 :
Question: Ou trouver la liste de ces numéros de controle ?



Bonjour,

Là, pour Access 2007 :

http://msdn.microsoft.com/en-us/library/office/bb225848%28v=office.12%2 9.aspx

Ma recherche était "acControlType"
Avatar
Gloops
Dans les résultats de la recherche évoquée précédemment, on tro uve ceci
qui permet de verrouiller tous les contrôles d'un formulaire, ou
seulement ceux d'un certain type :

http://access.jessy.free.fr/htm/Form/LockedControls.htm

Si un traitement différent doit être appliqué selon le type du cont rôle,
plutôt qu'un If, on utiliserait probablement plutôt

Select Case Control.Type
Case acButton
'ici le code pour un bouton
Case acTextBox
'ici le code pour une zone de texte
Case acLabel
'ici le code pour une étiquette
'...
Case Else
' ici les cas non prévus ci-dessus
End Select

Au sujet de Select Case voir illustration aussi ici :

http://officesystemaccess.seneque.net/vba/select_case.htm