09-08-24, 12:54
|
Όνομα: Γιώργος Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 02-04-2013 Περιοχή: Κύπρος
Μηνύματα: 738
| |
Παράθεση:
Αρχική Δημοσίευση από Tasos Καλησπέρα σε όλους!
Γιώργο πρόσθεσε μια μονάδα κλάσης (Εντολή: 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
Καλή συνέχεια.
Τάσος |
Τάσο σε χαιρετω και ευχαριστω για την προθεση βοήθειας,
Εχω κανει ολα τα πιο πανω τα οποια παραθέτεις αλλα κτυπα ο κωδικας στο
Private Sub Form_Load() Private ctrls() As clsTextBoxes
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
|