logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[MS ACCESS] Jak zastosować filtr na formularzu MS Access z przyciskiem i InputBox?

Julka M 17 Lip 2010 00:15 4128 4
REKLAMA
  • #1 8300542
    Julka M
    Poziom 9  
    Posty: 34
    Poddaję się - nie mam pojęcia jak zastosować filtr na formularzu do formantu :(
    Chce po prostu na formularzu kliknąć na przycisk polecenia, wyskakuje pytanko w Input boxie czego szukam posze ze beee no i bee zostaje znalezione w ctcos

    Wydawałoby się że proste ale niestety:(

    Teraz na poważnie

    Dane
    Tabela nazywa się: Tab
    Pole: źródło danych: cos (typ:tekst)
    Formant - Pole tekstowe na formularzu: ctlcos
    Przycisk polecenia na formularzu: Polecenie74


    Procedura zdarzenia:

    Private Sub Polecenie74_Click()
    On Error GoTo Err_Przycisk74_Click
    
    
    Dim a As Variant
    a = InputBox("Podaj cos", "CO szukasz?")
    If a = "" Then
    DoCmd.ShowAllRecords
    
    Me.Filter = "ctlcos = " & a 
    
    Me.OrderBy = "[Tab .[nr ]" ' niech posortuje a co tam :)
    OrderByOn = True
    FilterOn = True
    
    Exit_Przycisk74_Click:
        Exit Sub
    
    Err_Przycisk74_Click:
        MsgBox Error$
        Resume Exit_Przycisk74_Click
    End If
    End Sub
    
    ‘ nie ma komunikaty ze  jest jakiś błąd niby access łyka ten kod ale nic nie jest wykonywane wiec zgłupiałam i spróbowałam tak
    
    Private Sub Polecenie41_Click()
    Dim a As Variant
    a = InputBox("Podaj cos:", "co szukasz ?")
    If a = "" Then
    Exit Sub
    ‘ zrezygnowalam z DoCmd.ShowAllRecords na rzecz exit sub
    
    Me.Filter = "(tab.[cos]) = " & a
    ‘ bezpośrednio spróbowałam odwołać się do pola w tabeli choć wszędzie każą odwoływać się do formantu
    FilterOn = True
    End If
    End Sub
    
    ‘ I też nie działa nie mam pojęcia dlaczego


    Może ktoś mnie oświeci gdzie JEST BŁĄD :(

    Proszę pamiętać o używaniu znaczników code. - arnoldziq
  • REKLAMA
  • #2 8301042
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 658
    1. Masz tylko jeden warunek funkcji If. A co jeśli a<>""? Zjadłaś Else...
    2. Kryteria filtru muszą być typu String. Czyli można zbudować przez składanie lub skorzystać z wygodnej funkcji BuildCriteria

    Spróbuj
    Private Sub Polecenie74_Click()
    a = InputBox("Podaj cos", "CO szukasz?")
    If a = "" Then
        DoCmd.ShowAllRecords
    Else
        strSQL = BuildCriteria("cos", dbText, a)
        Me.Filter = strSQL
        FilterOn = True
    End If
    
    Exit_Przycisk74_Click:
    Exit Sub
    
    Err_Przycisk74_Click:
    MsgBox Error$
    Resume Exit_Przycisk74_Click
    
    End Sub
  • REKLAMA
  • #3 8301821
    Julka M
    Poziom 9  
    Posty: 34
    hmmmm
    a co to za dbTekst
    - w podpowiadaczu funkcji jest info ze w tym miejscu należy podać pole typu integer
    - kod zatrzymuje sie w tym miejscu z info ze zmienna nie jest zdefiniowana
  • REKLAMA
  • Pomocny post
    #4 8301945
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 658
    Pewnie nie ten typ danych. Zajrzyj tutaj i tutaj.
  • #5 8302293
    Julka M
    Poziom 9  
    Posty: 34
    :)
    fajny jesteś, dzięki
    baza zrobiona !!!
REKLAMA