| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Καλησπέρα σε όλους Όποια ιδέα δεκτή Προσπαθώ στην επιλογή του 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
| |||
| |||
|
Καλησπέρα Γιώργο, θα πρέπει να γίνεις πιο σαφής. Περιέγραψε αναλυτικότερο το ρόλο και τη χρησιμότητα της φόρμας frm_wait. Φιλικά/Γιώργος |
|
#3
| |||
| |||
|
Καλησπέρα Γιώργο Στην εντολή CaseIs = "FrmKin2" ο χρόνος αναμονής είναι αρκετά μεγάλος και θα ήθελα σε αυτόν να εμφανίζετε η "frm_wait" και να κλείνει όταν ολοκληρωθεί η εντολή φυσικά θα το χρησιμοποιήσω και σε άλλες εντολές |
|
#4
| |||
| |||
|
Καλησπέρα Γιώργο, δοκίμασε τον παρακάτω κώδικα: Κώδικας: 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
| |||
| |||
|
Γιώργο σε ευχαριστώ θα το ελένξω αύριο από μια μάτια μπορεί να λειτουργεί Καληνύχτα |
|
#6
| |||
| |||
|
Καλησπέρα σε όλους Γιώργο ενώ φαίνετε να τρέχει μου εμφανίζει μόνο ένα μαύρο πλαίσιο ……..! |
|
#7
| |||
| |||
|
Γιώργο, Καλησπέρα Δοκίμασε και τα εξής: 1) Από το φύλλο ιδιοτήτων κάνε τη φόρμα frm_wait αναδυόμενη (pop up). 2) Αν δεν πετύχει, πριν από την εντολή κλεισίματος της φόρμας βάλε μια καθυστέρηση. Δες το θέμα: http://www.ms-office.gr/forum/access...-diastima.html |
|
#8
| |||
| |||
|
Καλημέρα σε όλους Χρησιμοποιώντας των παρακάτω κώδικα: Κώδικας: 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
Κώδικας: 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
| ||||
| ||||
|
Καλησπέρα Προφανώς η Sub Form_Close() δεν "βλέπει" την Function IsLoaded(ByVal strFormName As String) As Boolean. Είτε έχεις λάθος όνομα, είτε την καλείς από φόρμα στη οποία δεν υπάρχει. Φτιάξε μια module και τοποθέτησε εκεί την Function IsLoaded(ByVal strFormName As String) As Boolean για να είναι ορατή από παντού. Με εκτίμηση Νίκος |
|
#10
| |||
| |||
| Καλησπέρα Νίκο Ευχαριστώ για την Βοήθεια τώρα πρόσεξα ότι μετά το Wait όλες η φόρμες μου εμφανίζονται πίσω από την ενεργή φόρμα. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| Εργαλεία Θεμάτων | |
| Τρόποι εμφάνισης | |
| |
| ||||
| Θέμα | Δημιουργός | 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.


Αλλαγή σε γραμμικό τρόπο

