Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Διαχείριση αδειών
Γειά σας και πάλι. Παραθέτω μια απορια ως προς ενα πόνημα που βρηκα στο forum το οποίο βοηθάει παρα πολύ. http://www.ms-office.gr/forum/access...ma-access.html Η απορία που έχω ειναι η εξης: Οταν δίνω για κάποιο υπάλληλο Ημερομηνια Από π.χ. 17-07-2012 και Ημερομηνία Έως π.χ. 20-07-2012 και επιλέγω ως Τύπο άδειας π.χ. Τιμητική (δεν εχει σημασία) θελω να γίνεται το εξής: Οταν δίνω για τον ίδιο υπάλληλο Ημερομηνια Από π.χ. 18-07-2012 και Ημερομηνία Έως π.χ. 20-07-2012 και επιλέγω ως Τύπο άδειας π.χ. Τιμητική (δεν εχει σημασία) να μην γίνεται αποδεκτο το διαστημα Απο - Εως!!!! Γίνεται αυτό;... Σας επισυναπτω την εικονα με την οποια δειχνω τι εννοω καθώς επίσης κι ενα πόνημα με το οποίο φαινονται και οι σχεσεις των πινακων Προσωπικου - Αδειων. Ελπίζω να εγινα κατανοητη. Ευχαριστω εκ των προτερων για την απαντηση σας. |
#2
| |||
| |||
Χριστίνα καλό σου απόγευμα, Στην φόρμα 'Δευτερεύουσα φόρμα QRY_adeies' στο πεδίο 'StartDate' στο συμβάν 'Before Update' βάλε αυτόν τον κώδικα Κώδικας: Dim db As Database Dim rs As DAO.Recordset Dim sql As String Dim msg As String Dim rscnt As Integer Dim idpa As Integer idpa = Me.Parent.ID sql = "SELECT [Adeies].[ID], Min([Adeies].[StartDate]) AS minStartD," & _ " Max([Adeies].[EndDate]) AS MaxEndD, Year([EndDate]) AS etos" & _ " FROM Adeies" & _ " GROUP BY [Adeies].[ID], Year([EndDate])" & _ "HAVING [Adeies].[ID] = " & idpa & _ " AND Year([StartDate]) = " & Year(Me.StartDate) Set db = CurrentDb Set rs = db.OpenRecordset(sql, dbOpenDynaset) rscnt = rs.RecordCount If rscnt = 0 Then rs.close Set db = Nothing Set rs = Nothing Exit Sub ElseIf Me.StartDate >= rs!minStartD And Me.StartDate <= rs!MaxEndD Then msg = MsgBox("Ο Συνεργάτης σας 'ΒΑΛΕ ΟΤΙ ΘΕΛΕΙΣ'", _ vbInformation, "Η εφαρμογή σας ενημερώνει ότι..") Me.Undo End If rs.close Set db = Nothing Set rs = Nothing Κώδικας: Dim db As Database Dim rs As DAO.Recordset Dim sql As String Dim msg As String Dim rscnt As Integer Dim idpa As Integer idpa = Me.Parent.ID sql = "SELECT [Adeies].[ID], Min([Adeies].[StartDate]) AS minStartD," & _ " Max([Adeies].[EndDate]) AS MaxEndD, Year([EndDate]) AS etos" & _ " FROM Adeies" & _ " GROUP BY [Adeies].[ID], Year([EndDate])" & _ "HAVING [Adeies].[ID] = " & idpa & _ " AND Year([EndDate]) = " & Year(Me.EndDate) Set db = CurrentDb Set rs = db.OpenRecordset(sql, dbOpenDynaset) rscnt = rs.RecordCount If rscnt = 0 Then rs.Close Set db = Nothing Set rs = Nothing Exit Sub ElseIf Me.EndDate >= rs!minStartD And Me.EndDate <= rs!MaxEndD Then msg = MsgBox("Ο Συνεργάτης σας 'ΒΑΛΕ ΟΤΙ ΘΕΛΕΙΣ'", _ vbInformation, "Η εφαρμογή σας ενημερώνει ότι...") Me.Undo End If rs.close Set db = Nothing Set rs = Nothing Τελευταία επεξεργασία από το χρήστη ασχετος : 05-09-12 στις 09:28. |
#3
| |||
| |||
Χριστίνα καλή σου μέρα, Στον κώδικα που έγραψα, σβήσε τα σημασμένα με πράσινο |
#4
| |||
| |||
Καλημέρα σε όλους Κοίτα και μια άλλη λύση, σε περίπτωση εισαγωγής ημερομηνία "εντός" πρέπει να ακυρώσεις την εγγραφή με ESC Θανάσης |
#5
| ||||
| ||||
Καλησπέρα σε όλους! Θα μπορούσε να τροποποιηθεί η μακροεντολή CountDatesPeriod() για να αναιρεί την τελευταία καταχώρηση αν συμπίπτουν οι ημερομηνίες: Κώδικας: Private Sub CountDatesPeriod() Dim Date1 As Long, Date2 As Long If IsDate(Me.StartDate) And IsDate(Me.EndDate) Then If Me.StartDate <= Me.EndDate And Me.StartDate <> 0 Then Date1 = CLng(Me.StartDate): Date2 = CLng(Me.EndDate) If DCount("ID", "Adeies", "ID =" & Me.ID & _ " AND (StartDate Between " & Date1 & " And " _ & Date2 & ") Or (" & "EndDate Between " & _ Date1 & " And " & Date2 & ")") Then MsgBox "Dating in conflict..." Me.Undo Else Me.AbsenceDays = Me.EndDate - Me.StartDate + 1 End If End If End If End Sub Τάσος Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#6
| |||
| |||
Παράθεση:
Συγνώμη για την καθυστέρηση της απάντησης. Ακριβώς αυτό ήθελα. Ευχαριστω πολύ!!!!!!!! Υ.Γ. Ευχαριστώ όλους όσους μπηκαν στον κόπο να απαντησουν στο ερώτημα μου. |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Συναρτήσεις] Καταμέτρηση αδειων | manolis | Excel - Ερωτήσεις / Απαντήσεις | 9 | 03-11-16 11:20 |
Διαχείρηση Αδειών | nkouk | Access - Ερωτήσεις / Απαντήσεις | 0 | 31-10-15 18:13 |
Διαχείριση Πρόσθεσης και Αφαίρεσης Αδειών Εργαζόμενων | marinx08 | Access - Ερωτήσεις / Απαντήσεις | 1 | 11-12-14 19:54 |
Διαχείριση αδειών | bill72 | Access - Ερωτήσεις / Απαντήσεις | 9 | 13-01-13 17:23 |
Διαχείριση αδειών - παράδειγμα Access | Ms-Office-Development Team | Access samples - Χρήσιμα αρχεία & παραδείγματα | 0 | 24-05-10 13:44 |
Η ώρα είναι 19:33.