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

Καλησπέρα σε όλους!

Παραθέτω τον τροποποιημένο κώδικα της λειτουργικής μονάδας της φόρμας (οι τροποποιήσεις έχουν μπλε χρώμα):

Κώδικας:
Option Compare Database
Option Explicit
Private strAlt$, sqlStr$, RstName$, BMK As Variant

Private Sub cmdClearSearch_Click()
    If Me.txtSearch <> vbNullString Then Me.txtSearch = vbNullString
    Me.Filter = vbNullString
    Me.FilterOn = False
    If Not IsEmpty(BMK) Then Me.Bookmark = BMK
End Sub

Private Sub Form_Current()
    Me.xf = Me.ID
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    On Error Resume Next
    Select Case KeyCode
    Case vbKeyDown
        KeyCode = 0
        DoCmd.GoToRecord , , acNext
    Case vbKeyUp
        KeyCode = 0
        DoCmd.GoToRecord , , acPrevious
    End Select
End Sub

Private Sub Form_Load()
    RstName = Me.Recordset.Name
End Sub

Private Sub txtSearch_Change()
    Dim XS$
    XS = txtSearch.Text
    If XS = vbNullString Then
        cmdClearSearch_Click
        Exit Sub
    End If
    On Error Resume Next
    sqlStr = "[Thename] Like '" & "*" & ReplaceTones(XS) & "*" & "'"
    If Err = 91 Then Err.Clear: GoTo ChangeHere
    If DCount("[Thename]", RstName, sqlStr) = 0 Then
        Me.txtSearch = strAlt
    Else
ChangeHere:
        Me.Filter = sqlStr
        Me.FilterOn = True
        strAlt = XS
    End If
    Me.txtSearch.SetFocus
    Me.txtSearch.SelStart = Nz(Len(XS))
End Sub

Private Sub txtSearch_GotFocus()
    If Nz(Me.txtSearch, vbNullString) = vbNullString And Not Me.FilterOn Then
        BMK = Me.Bookmark
    End If
End Sub 
Καλή συνέχεια!

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