Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[MS ACCESS] Filtr na formularzu

Julka M 17 Lip 2010 00:15 3090 4
  • #1 17 Lip 2010 00:15
    Julka M
    Poziom 9  

    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:

    Code:
    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

    0 4
  • #2 17 Lip 2010 10:06
    adamas_nt
    Moderator Programowanie

    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

    Code:
    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

    0
  • #3 17 Lip 2010 14:58
    Julka M
    Poziom 9  

    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

    0
  • Pomocny post
    #4 17 Lip 2010 15:38
    adamas_nt
    Moderator Programowanie

    Pewnie nie ten typ danych. Zajrzyj tutaj i tutaj.

    0
  • #5 17 Lip 2010 17:56
    Julka M
    Poziom 9  

    :)
    fajny jesteś, dzięki
    baza zrobiona !!!

    0