Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 05-08-24, 20:23
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.010
Προεπιλογή

Καλησπέρα σε όλους!

Γιώργο πρόσθεσε μια μονάδα κλάσης (Εντολή: Insert > Class Module), μετονόμασε την σε "clsTextBoxes", πέρασε της τον παρακάτω κώδικα:

Κώδικας:
Option Compare Database
Option Explicit

Private WithEvents tBox As TextBox
Private refTextBox As TextBox

Public Sub SetTextBoxWithEvent(txtBox As TextBox)
    Set tBox = txtBox
    txtBox.OnEnter = "[Event Procedure]"
End Sub

Public Sub SetRefTextBox(refTBox As TextBox)
    Set refTextBox = refTBox
End Sub

Private Sub tBox_Enter()
    If Not tBox Is Nothing Then
        refTextBox.Value = tBox.Name
    End If
    
End Sub
... και αποθήκευσε.

Κατόπιν επίλεξε όλα τα πεδία κειμένου που σε ενδιαφέρουν και στην ιδιότητα "Ετικέτα" ("Tag") πληκτρολόγησε τον αριθμό 1.

Στη φόρμα σου (Form1) αφαίρεσε τα πάντα από τον κώδικα, επικόλλησε τον παρακάτω και κάνε τις δοκιμές σου:

Κώδικας:
Option Compare Database
Option Explicit

Private ctrls() As clsTextBoxes

Private Sub Form_Load()
    Dim i      As Integer
    Dim ctlCount As Integer
    Dim ctl    As Control
    
    For Each ctl In Me.Section(0).Controls
        If TypeOf ctl Is Access.TextBox Then
            If ctl.Tag = 1 Then
                i = i + 1
                ReDim Preserve ctrls(i)
                Set ctrls(i) = New clsTextBoxes
                ctrls(i).SetTextBoxWithEvent ctl
                ctrls(i).SetRefTextBox Me.txtControlName
            End If
        End If
    Next
End Sub
Καλή συνέχεια.

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 06-08-24 στις 15:35.
Απάντηση με παράθεση