Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Καταχώρηση ονοματος πεδίου επιλογής στο Current event
Καλησπέρα, Στην συνημμένη βάση σε μια φόρμα έχω 6 πεδία [D1_1 - D1_6]. Προσπάθησα ανεπιτυχώς στο On Current της φόρμας να καταχωρείται στο πεδίο txtControlName το όνομα οποιουδήποτε πεδίου κάνω κλικ. Θα εκτιμήσω την βοήθεια σας καθως στην πργματική βάση τα πεδία είναι 96 (αντι 6) και ο κωδικας σε καθε ένα απο αυτά αρκετός και θα πρέπει να βρώ λύσεις |
#2
| ||||
| ||||
Καλησπέρα σε όλους! Γιώργο πρόσθεσε μια μονάδα κλάσης (Εντολή: 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 στις 16:35. |
#3
| |||
| |||
Παράθεση:
Τάσο σε χαιρετω και ευχαριστω για την προθεση βοήθειας, Εχω κανει ολα τα πιο πανω τα οποια παραθέτεις αλλα κτυπα ο κωδικας στο 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 |
#4
| |||
| |||
Τασο συγνωμη για το προηγούμενο μηνυμα, δεν προσεξα οτι η γραμμή Private ctrls() As clsTextBoxes επρεπε να παει κατω απο το Option Explicit. Ολα δουλεύουν ομως κατι επιπροσθετο, πως μπορω τωρα να αναφερθώ στο ονομα πεδίου που λαμβανει το txtControlName ετσι ωστε να φτιαξω κωδικα κλπ. Δοκίμασα το txtControlName.Value χωρις αποτελεσμα |
#5
| ||||
| ||||
Καλησπέρα σε όλους! Γιώργο δοκίμασε το συνημμένο και πες μου αν είναι αυτό που χρειάζεσαι. Καλή συνέχεια. Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Τιμές πεδίου από άλλον πίνακα και αυτόματη καταχώρηση | jamman | Access - Ερωτήσεις / Απαντήσεις | 3 | 15-07-20 11:57 |
Cancel Event | γιώργοςΚ | Access - Ερωτήσεις / Απαντήσεις | 2 | 26-04-18 15:40 |
Πρόβλημα με αυτόματη καταχώρηση πεδίου φόρμας | smasak | Access - Ερωτήσεις / Απαντήσεις | 22 | 21-03-14 23:22 |
Αυτόματη καταχώρηση πεδίου από κουμπί | Ρούλα | Access - Ερωτήσεις / Απαντήσεις | 0 | 11-12-13 15:19 |
[ Φόρμες ] Αυτοματη ενημέρωση πεδίου με την τελευταια καταχωρηση | athigb | Access - Ερωτήσεις / Απαντήσεις | 5 | 07-02-10 03:03 |
Η ώρα είναι 20:23.