Tema: Re: Q: Access
Autorius: Vaida
Data: 2010-02-09 16:03:31
Čia mano procedūra, į kurią kreipiamasi kaskart updatinus kuri nors lauka.

Private Sub Filtras()
On Error GoTo ErrH
  Dim Nuo, Iki, GalNuo, GalIki, Data As Date
  Dim strfiltras As String

  strfiltras = ""

If Not IsNull(Me.DataNuo) And Not IsNull(Me.DataIki) Then
    Nuo = Me.DataNuo
    Iki = Me.DataIki

'''''''Patikrina ar data teisinga

    If Nuo > Iki Then
        Style = vbYes + vbCritical + vbDefaultButton2
        Title = "Negera data"
        Msg = "Jûs ávedëte klaidingà datà! Áveskite iðš naujo."
        Response = MsgBox(Msg, Style, Title)
        Exit Sub
    End If
    strfiltras = strfiltras & "[dtmSiuntosData] >= '" & Nuo & "' And 
[dtmSiuntosData] <= '" & Iki & "' And "
ElseIf Not IsNull(Me.DataNuo) Then
    Nuo = Me.DataNuo
    strfiltras = strfiltras & "[dtmSiuntosData] >= '" & Nuo & "' And "
ElseIf Not IsNull(Me.DataIki) Then
    Iki = Me.DataIki
    strfiltras = strfiltras & "[dtmSiuntosData] <= '" & Iki & "' And "
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''Pirmas option group 'IMSiuntos'

  If Me.IMSiuntos = 1 Then
     strfiltras = strfiltras & "([VaztarTipas] = 'P' OR [VaztarTipas] = 
'PF') And "
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''text box 'SandelioNr', kuri as uzpildau atidarant forma,

  If Me.SandelioNr = 1 Then
  strfiltras = strfiltras & "(SandNr = 1) AND "
   ElseIf SandelioNr = 2 Then strfiltras = strfiltras & "(SandNr = 2) AND "
  End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 '''''''  ComboBox'ai, pagal kuriuos filtruojami duomenys

  If Not IsNull(Me.Siunta) Then strfiltras = strfiltras & "[strSiuntosNr] = 
'" & Me.Siunta & "' AND "
  If Not IsNull(Me.Klientas) Then strfiltras = strfiltras & "[strKlientas] = 
'" & Me.Klientas & "' AND "
  If Not IsNull(Me.SaskMoketojas) Then strfiltras = strfiltras & 
"[strSaskMoketojas] = '" & Me.SaskMoketojas & "' AND "
  If Not IsNull(Me.Tipas) Then strfiltras = strfiltras & "[VaztarTipas] = '" 
& Me.Tipas & "' AND "
  If Not IsNull(Me.SalisFrom) Then strfiltras = strfiltras & 
"[strSalis_from] = '" & Me.SalisFrom & "' AND "
  If Not IsNull(Me.SalisTo) Then strfiltras = strfiltras & "[strSalis_to] = 
'" & Me.SalisTo & "' AND "
  If Not IsNull(Me.Tr_priem) Then strfiltras = strfiltras & "[strTrPriemNr] 
= '" & Me.Tr_priem & "' AND "
  If Not IsNull(Me.Statusas) Then strfiltras = strfiltras & "[MuitStatusas] 
= '" & Me.Statusas & "' AND "
  If Not IsNull(Me.KortelesNr) Then strfiltras = strfiltras & 
"[strKortelesNr] = '" & Me.KortelesNr & "' AND "

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''Dar vienas Option group 'Apmoketi_reisai'
  If Me.Apmoketi_reisai = 1 Then
     strfiltras = strfiltras & "[SaskID] is not Null AND "
  ElseIf Me.Apmoketi_reisai = 2 Then
     strfiltras = strfiltras & "[SaskID] is Null AND "
  End If



  If Not IsNull(strfiltras) And (Len(strfiltras) > 0) Then
      strfiltras = Mid(strfiltras, 1, Len(strfiltras) - 5)
      Me.Filter = strfiltras
      Me.FilterOn = True
  Else
      Me.FilterOn = False
  End If
Me.OrderBy = "dtmSiuntosData desc"
Me.OrderByOn = True
  Exit Sub
ErrH:
    MsgBox Err.Description
End Sub


"Laimis" <wiela@centras.lt> wrote in message 
news:hkhigu$i6s$1@trimpas.omnitel.net...
> Vaida rašė:
>> Nu gerai,
>>
>
>> (varda, pavarde). Bet as dar noriu atsirinkti mokinius kuriu gimimo
>> diena yra : sausio - balandzio, geguzes - rugpjucio, rugsejo - gruodzio
>> menesiais. Taigi, as pasidarau option group su tokiais punktais:
>
> Pasidaryti tai pasidarai, o *kaip* pasidarai...?
> Arba įmesk į o.binaries pavydį, pačią programą (db nebūtina), arba beveik 
> garantuotai nieko nebus...
>