Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Φόρμες ] Άνοιγμα και κλείσιμο φόρμας wait

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 07-12-14, 16:56
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 05-02-2010
Μηνύματα: 196
Exclamation Άνοιγμα και κλείσιμο φόρμας wait

Καλησπέρα σε όλους
Όποια ιδέα δεκτή
Προσπαθώ στην επιλογή του treeview1 να τρέξω μόνο στον κενό χρόνο την φόρμα wait πριν το άνοιγμα της φόρμας που καλό με παρακάτω κώδικα:
Κώδικας:
Function IsLoaded(ByVal strFormName As String) As Boolean
' Returns True if the specified form is open in Form view or Datasheet view.
' Use form name according to Access, not VBA.
' Only works for Access
    Dim oAccessObject As AccessObject

    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
        If oAccessObject.CurrentView <> acCurViewDesign Then
            IsLoaded = True
        End If
    End If

End Function
Κώδικας:
Private Sub TreeView1_DblClick()
'-------------------------------
   DoCmd.OpenForm "frm_wait"
    Do While Not IsLoaded("frm_wait")
        DoEvents
    Loop
   Dim strKey As String
   Dim strTag As String
   
   ' If key is greater than 2, then open form.
   ' My node keys less than length 3 have no tags.
   strKey = Me.TreeView1.SelectedItem.Key
   If Len(strKey) > 2 Then
      strTag = Nz(Me.TreeView1.Nodes(strKey).Tag, "")
      If Len(strTag) > 0 Then
    
        Select Case strTag
            Case Is = "FrmBiblia"
                DoCmd.OpenForm strTag, acFormDS
            Case Is = "FrmEidEl"
                DoCmd.OpenForm strTag, acFormDS
            Case Is = "FrmEidhEntyp"
                DoCmd.OpenForm strTag, acFormDS
            Case Is = "FrmKatHmer"
                DoCmd.OpenForm strTag, acFormDS
            Case Is = "FrmEidEpix"
                DoCmd.OpenForm strTag, acFormDS
            Case Is = "FrmIdMelon"
                DoCmd.OpenForm strTag, acFormDS
            Case Is = "FrmKin2"
                DoCmd.OpenForm strTag, , , , acFormAdd
                Form_FrmKin2.NeoParasrtatiko = 1
                Form_FrmKin2.Ektypose.Enabled = False
                Form_FrmKin2.PerPar.Caption = ""
            Case Is = "FrmBank"
                DoCmd.OpenForm strTag, acFormDS
            Case Is = "FrmTrpl"
                DoCmd.OpenForm strTag, acFormDS
            Case Is = "FrmSthles"
                DoCmd.OpenForm strTag, acFormDS
            Case Else
         DoCmd.OpenForm strTag
        End Select
      End If
   End If
   
End Sub

Τελευταία επεξεργασία από το χρήστη anestaki : 07-12-14 στις 17:09.
Απάντηση με παράθεση
  #2  
Παλιά 08-12-14, 15:58
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Γιώργο, θα πρέπει να γίνεις πιο σαφής.

Περιέγραψε αναλυτικότερο το ρόλο και τη χρησιμότητα της φόρμας frm_wait.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #3  
Παλιά 08-12-14, 18:00
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 05-02-2010
Μηνύματα: 196
Προεπιλογή

Καλησπέρα Γιώργο
Στην εντολή CaseIs = "FrmKin2" ο χρόνος αναμονής είναι αρκετά μεγάλος και θα ήθελα σε αυτόν να εμφανίζετε η "frm_wait" και να κλείνει όταν ολοκληρωθεί η εντολή φυσικά θα το χρησιμοποιήσω και σε άλλες εντολές
Απάντηση με παράθεση
  #4  
Παλιά 08-12-14, 21:12
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Γιώργο, δοκίμασε τον παρακάτω κώδικα:

Κώδικας:
Private Sub TreeView1_DblClick()
'-------------------------------
    Dim strKey As String
    Dim strTag As String

    If IsLoaded("frm_wait") Then
        Forms("frm_wait").Visible = True
    Else
        DoCmd.OpenForm "frm_wait"
    End If

    ' If key is greater than 2, then open form.
    ' My node keys less than length 3 have no tags.
    strKey = Me.TreeView1.SelectedItem.Key
    If Len(strKey) > 2 Then
        strTag = Nz(Me.TreeView1.Nodes(strKey).Tag, "")
        If Len(strTag) > 0 Then

            Select Case strTag
            Case Is = "FrmBiblia", "FrmEidEl", "FrmEidhEntyp", "FrmKatHmer", _
                 "FrmEidEpix", "FrmIdMelon", "FrmBank", "FrmTrpl", "FrmSthles"
                DoCmd.OpenForm strTag, acFormDS
            Case Is = "FrmKin2"
                DoCmd.OpenForm strTag, , , , acFormAdd
                Form_FrmKin2.NeoParasrtatiko = 1
                Form_FrmKin2.Ektypose.Enabled = False
                Form_FrmKin2.PerPar.Caption = ""
            Case Else
                DoCmd.OpenForm strTag
            End Select
        End If
    End If
    Forms("frm_wait").Visible = False
End Sub
Δεν είχα τη δυνατότητα να τον ελέγξω. Πιθανόν να εξυπηρετεί.
Απάντηση με παράθεση
  #5  
Παλιά 08-12-14, 23:33
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 05-02-2010
Μηνύματα: 196
Προεπιλογή

Γιώργο σε ευχαριστώ θα το ελένξω αύριο από μια μάτια μπορεί να λειτουργεί
Καληνύχτα
Απάντηση με παράθεση
  #6  
Παλιά 09-12-14, 18:36
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 05-02-2010
Μηνύματα: 196
Προεπιλογή

Καλησπέρα σε όλους
Γιώργο ενώ φαίνετε να τρέχει μου εμφανίζει μόνο ένα μαύρο πλαίσιο ……..!
Απάντηση με παράθεση
  #7  
Παλιά 09-12-14, 22:37
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Γιώργο, Καλησπέρα

Δοκίμασε και τα εξής:

1) Από το φύλλο ιδιοτήτων κάνε τη φόρμα frm_wait αναδυόμενη (pop up).

2) Αν δεν πετύχει, πριν από την εντολή κλεισίματος της φόρμας βάλε μια καθυστέρηση.

Δες το θέμα: http://www.ms-office.gr/forum/access...-diastima.html
Απάντηση με παράθεση
  #8  
Παλιά 13-12-14, 10:19
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 05-02-2010
Μηνύματα: 196
Προεπιλογή

Καλημέρα σε όλους
Χρησιμοποιώντας των παρακάτω κώδικα:
Κώδικας:
Function IsLoaded(ByVal strFormName As String) As Boolean
' Returns True if the specified form is open in Form view or Datasheet view.
' Use form name according to Access, not VBA.
' Only works for Access
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
        If oAccessObject.CurrentView <> acCurViewDesign Then
            IsLoaded = True
        End If
        
    End If
End Function
Sub frm_wait()
DoCmd.OpenForm "frm_wait"
Form_frm_wait.Repaint
    Do While Not IsLoaded("frm_wait")
       DoEvents
Loop
Στο παρακάτω μου εμφανίζει σφάλμα (Ambiguous name detected)
Κώδικας:
Private Sub Form_Close()
   On Error GoTo Form_Close_Error
If IsLoaded("Frmkin2") = True Then
    Form_FrmKin2.ΚΩΔΠΕΛΑΤΗ.Requery
End If
   On Error GoTo 0
   Exit Sub
Form_Close_Error:
    MsgBox "ΣΦΑΛΜΑ " & Err.Number & " (" & Err.Description & ")"
End Sub

Γιατί δεν ξέρω αγγλικά μήπως γνωρίζει κάνης τι είναι και πως διορθώνετε.
Απάντηση με παράθεση
  #9  
Παλιά 13-12-14, 15:09
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα
Προφανώς η Sub Form_Close() δεν "βλέπει" την Function IsLoaded(ByVal strFormName As String) As Boolean. Είτε έχεις λάθος όνομα, είτε την καλείς από φόρμα στη οποία δεν υπάρχει.
Φτιάξε μια module και τοποθέτησε εκεί την Function IsLoaded(ByVal strFormName As String) As Boolean για να είναι ορατή από παντού.

Με εκτίμηση
Νίκος
Απάντηση με παράθεση
  #10  
Παλιά 13-12-14, 18:51
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 05-02-2010
Μηνύματα: 196
Προεπιλογή

Καλησπέρα Νίκο
Ευχαριστώ για την Βοήθεια τώρα πρόσεξα ότι μετά το Wait όλες η φόρμες μου εμφανίζονται πίσω από την ενεργή φόρμα.
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Κλείσιμο αναδυόμενης φόρμας όταν κλείνει η κύρια φόρμα athanassiab Access - Ερωτήσεις / Απαντήσεις 4 27-04-15 19:26
ενημέρωση πεδίων με το κλείσιμο της κύριας φόρμας γιώργοςΚ Access - Ερωτήσεις / Απαντήσεις 0 09-06-14 14:03
Ενημέρωση cbo μετά από κλείσιμο Φόρμας Χρήστος Access - Ερωτήσεις / Απαντήσεις 3 27-04-12 07:28
Ενημέρωση Φόρμας με το κλείσιμο μιας άλλης Χρήστος Access - Ερωτήσεις / Απαντήσεις 12 19-06-11 18:49


Η ώρα είναι 14:33.