Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Συναρτήσεις ] Διακοπη εκτελεσης κωδικα σε φορμα (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/3795-diakopi-ektelesis-kodika-se-forma.html)

artchrist73 23-08-15 11:03

Διακοπη εκτελεσης κωδικα σε φορμα
 
Παιδιά καλο φθινόπωρο σε όσους έχουν γυρίσει από άδεια η έχουν μείνει εδώ!
Απλά έχω μια απορία στο κώδικα.
Πως μπορεί να διακόπτεται προσωρινά όσο έχω ανοίξει τι βάση δεδομένων μετά από μια φορα εκτέλεσης του?
Στη φόρμα ο κώδικας βρίσκετε "με το κλείσιμο" στην ιδιότητες φόρμας.
Υπάρχει κάποιος επιπρόσθετος κώδικας που πρέπει να προσθέσω?
Με το που ανοίγω την βάση λειτουργεί κανονικά,δηλαδή με ενημερώνει,μετά όμως φεύγοντας σε άλλη φόρμα και επιστρέφοντας στην αρχική μου το ξανά βγάζει.Αυτό δεν θέλω,υπάρχει τρόπος?



Private Sub Form_Close()
Dim intCount As Integer

intCount = DCount("[ID]", "[qryBirthdays]")

If intCount = 0 Then
Exit Sub
Else
If MsgBox("Ooi a?iiaii Aaea?aie?iani o?an?ioi " & intCount & " ooiaaioa aea o?aieyieoc " & _
vbCrLf & vbCrLf & "?io aai a?aeo aeYaiae. Eaeaeo ia aaeo oe aeiae?", _
vbYesNo, "O?aieyieoc...") = vbYes Then

' DoCmd.Minimize
DoCmd.OpenForm "frmBirthdays", acNormal
Else
Exit Sub
End If
End If
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

End Sub


:007:

kapetang 25-08-15 09:50

Καλημέρα

Αντώνη αν θέλεις να εκτελείται ο κώδικας μόνο την πρώτη φορά που θα κλείσουμε τη φόρμα και να μη εκτελείται στα άλλα ανοιγοκλεισίματα, δοκίμασε το εξής:

1) Σε μία μονάδα κώδικα (Module) πρόσθεσε τη δήλωση:

Public blnExit As Boolean

2) Στον κώδικα που ανέβασες και μετά τη δήλωση Dim intCount As Integer πρόσθεσε τον παρακάτω κώδικα:

If blnExit exit sub
blnExit =true

Φιλικά/Γιώργος

artchrist73 25-08-15 18:12

Διακοπη εκτελεσης κωδικα σε φορμα
 
1 Συνημμένο(α)
Αγαπητε Γιωργο κατι κανω λαθος ?

Private Sub Form_Unload(Cancel As Integer)
Dim intCount As Integer
If blnExit exit sub
blnExit = True

intCount = DCount("[ID]", "[qryBirthdays]")

If intCount = 0 Then
Exit Sub
Else
If MsgBox("Óôï åðïìåíï ÄåêáðåíèÞìåñï õðáñ÷ïõí " & intCount & " óõìâáíôá ãéá õðåíèýìéóç " & _
vbCrLf & vbCrLf & "ðïõ äåí å÷åéò åëÝãîåé. Èåëåéò íá äåéò ôé åéíáé?", _
vbYesNo, "Õðåíèýìéóç...") = vbYes Then

' DoCmd.Minimize
DoCmd.OpenForm "frmBirthdays", acNormal
Else
Exit Sub
End If

End If

DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

End Sub

kapetang 25-08-15 19:17

Αντώνη αντί If blnExit exit sub γράψε If blnExit Then Exit Sub

artchrist73 25-08-15 19:44

Γιωργο μου οκ τωρα!!!
merci πολυ και thank you λιγο.
Αυτό ισχύ σε όλες τις περίπτωσις if them else και τέτοια?
Ακαταλαβίστικα για εμενα χαχαχαχαχα το προσπαθώ όμως σε 50 χρονια θα ξέρω καλύτερα από εσένα Γιώργο μου.
Εγώ τα ταιριάζω σαν puzzle και κάπως τα πάω καλά.Φαντάσου να ήξερα.
Έχω μάθει και μαθαίνω πολλά εδώ πάντως στο forum υποστήριξης!!!

kapetang 25-08-15 20:42

Αντώνη, η προσπάθεια δεν πάει χαμένη.
Βλέπω ότι βελτιώθηκες.


Η ώρα είναι 00:46.

Ms-Office.gr - ©2000 - 2024, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2