Εμφάνιση ενός μόνο μηνύματος
  #8  
Παλιά 08-04-12, 21:44
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλησπέρα Χρήστο!
Είναι καλύτερο να αποφεύγομε τα λάθη του κώδικα αντί να τα προκαλούμε προκειμένου να επιτύχουμε το σκοπό μας.

Όταν η φιλτραρισμένη φόρμα δεν έχει εγγραφές, η γραμμή: RecID = Nz(Me.ProiontaID) θα προκαλέσει σφάλμα αφού το πεδίο ProiontaID δεν υπάρχει καν στη φόρμα.

Τροποποιούμε λοιπόν τον κώδικα έτσι:


Κώδικας:
Private Sub cmdShowAll_Click()
    On Error GoTo Err_cmdShowAll_Click

    Dim RecID As Long
    Me.txtSearch = vbNullString
    Me.combofiltro = vbNullString

  If Me.Recordset.Clone.RecordCount Then
        RecID = Nz(Me.ProiontaID)
   End If
    Me.FilterOn = False
    Me.Filter = vbNullString
    If RecID > 0 Then
        With Me.Recordset.Clone
            .FindFirst ("ProiontaID=" & RecID)
            If Not .NoMatch Then Me.Bookmark = .Bookmark
        End With
 End If
Exit_cmdShowAll_Click:
    Exit Sub

Err_cmdShowAll_Click:
    Resume Exit_cmdShowAll_Click
End Sub
Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση