Εμφάνιση ενός μόνο μηνύματος
  #25  
Παλιά 21-03-10, 15:28
Το avatar του χρήστη nisgia
nisgia Ο χρήστης nisgia δεν είναι συνδεδεμένος
Super Moderator
Όνομα: Γιάννης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 12-10-2009
Περιοχή: Ηγουμενίτσα
Μηνύματα: 161
Προεπιλογή Κοινοποίηση και σύληψη δημόσιων συμβάντων φόρμας

Καλησπέρα guys!

Ένας ακόμη τρόπος να γίνει το ζητούμενο είναι και η χρήση εξειδικευμένων συμβάντων (events).

Δηλαδή στην ενότητα δηλώσεων της αρχικής φόρμας έχουμε την εξής δήλωση:
Κώδικας:
Option Compare Database
Option Explicit

Public Event CashAfterUpdate(ByVal FormName As String, _
        ByVal ControlName As String, ByVal LastName As String)
Ενώ η διαδικασία συμβάντος Υπηρεσία1_AfterUpdate μετατρέπεται σε:
Κώδικας:
Private Sub Υπηρεσία1_AfterUpdate()

    Dim strFormName As String
    Dim strCtrlName As String
    Dim strLastName As String

    If Not IsNull(Me.OptWeekDays) Then
        If Not IsNull(Me.Υπηρεσία1) Then
            strFormName = Choose(Me.OptWeekDays, "ΥΠ_ΚΑΘ", "ΥΠ_ΣΑΒ")
            strCtrlName = Array("k1", "k2", "k3")(Me.Υπηρεσία1.ListIndex)
            DoCmd.OpenForm strFormName
            RaiseEvent CashAfterUpdate(strFormName, strCtrlName, Me.Επώνυμο)
            Me.SetFocus
        End If
    End If
End Sub
Από την πλευρά των φορμών "ημέρας" έχουμε:
Κώδικας:
Option Compare Database
Option Explicit

Private WithEvents MainForm As Form_ΣΕΝΤΟΝΙ
'
Private Sub Form_Load()
    Set MainForm = Forms("ΣΕΝΤΟΝΙ")
End Sub

Private Sub MainForm_CashAfterUpdate(ByVal FormName As String, _
        ByVal ControlName As String, ByVal LastName As String)

    If Me.Name = FormName Then
        On Error Resume Next
        Me.Controls(ControlName) = LastName
    End If
End Sub
'
'...More code here...
'
Στο συνημμένο θα βρείτε και την πρακτική εφαρμογή της παραπάνω θεωρίας.

Υ.Γ.
Πάντως φίλε Παντελή, αν συνεχίσεις να δίνεις ελληνικά ονόματα στα αντικείμενα της Access,
...δεν θα τα πάμε καθόλου καλά!
Συνημμένα Αρχεία
Τύπος Αρχείου: zip TestWithEvents.zip (170,9 KB, 22 εμφανίσεις)
__________________
Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...!
-----------------------------------------------
Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης.
Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά!

Τελευταία επεξεργασία από το χρήστη nisgia : 21-03-10 στις 18:58.
Απάντηση με παράθεση