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

Καλησπέρα και πάλι!
Παντελή απ ότι κατάλαβα, θέλεις να περνάς περισσότερες τιμές στις φόρμες
ΥΠ_ΣΑΒ και ΥΠ_ΚΑΘ που επιλέγεις από την αρχική φόρμα ΣΕΝΤΟΝΙ
ανεξάρτητα από την τρέχουσα κατάσταση τους (ανοιχτές ή κλειστές).

Τότε έτσι:

Κώδικας:
Private Sub Υπηρεσία1_AfterUpdate()
      Dim FormOpemArgs$, TargetTextBoxName$
      If IsNull(Me.OptWeekDays) And Not IsNull(Me.Υπηρεσία1) Then Exit Sub
      Select Case Me.Υπηρεσία1
          Case "ΤΑΜ1"
              TargetTextBoxName = "k1"
          Case "ΤΑΜ2"
              TargetTextBoxName = "k2"
          Case "ΤΑΜ3"
              TargetTextBoxName = "k3"
      End Select
      strForname = Choose(Me.OptWeekDays, "ΥΠ_ΚΑΘ", "ΥΠ_ΣΑΒ")
      
      If IsOpen(strForname) Then
          Forms(strForname).Controls(TargetTextBoxName) = Me.Επώνυμο
          Exit Sub
      Else
          FormOpemArgs = TargetTextBoxName & ";" & Me.Επώνυμο
          DoCmd.OpenForm strForname, , , , , , FormOpemArgs
      End If
    End Sub

Function IsOpen(FormName$) As Boolean
    If SysCmd(10, 2, FormName) <> 0 Then
        If Forms(FormName).CurrentView = 1 Then IsOpen = True
    End If
End Function
Ακολουθώντας την προσέγγιση που επέλεξες, ίσως να ήταν καλύτερα να έχεις τις φόρμες εξαρχής ανοιχτές και να χρησιμοποιήσεις μονο το:

Κώδικας:
Forms(strForname).Controls(TargetTextBoxName) = Me.Επώνυμο
Φιλικά

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

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