Εμφάνιση ενός μόνο μηνύματος
  #6  
Παλιά 07-09-12, 12:46
passarella Ο χρήστης passarella δεν είναι συνδεδεμένος
Όνομα: ΧΡΙΣΤΙΝΑ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 15-11-2010
Μηνύματα: 14
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από ασχετος Εμφάνιση μηνυμάτων
Χριστίνα καλό σου απόγευμα,

Στην φόρμα 'Δευτερεύουσα φόρμα 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
Στην φόρμα 'Δευτερεύουσα φόρμα QRY_adeies' στο πεδίο 'EndDate' στο συμβάν '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([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
Ελπίζω να σου κάνει.

Συγνώμη για την καθυστέρηση της απάντησης.
Ακριβώς αυτό ήθελα.
Ευχαριστω πολύ!!!!!!!!


Υ.Γ. Ευχαριστώ όλους όσους μπηκαν στον κόπο να απαντησουν στο ερώτημα μου.
Απάντηση με παράθεση