Êàê ïðàâèëüíî äîáàâèòü óñëîâèå(Åñëè, Òî, Èíà÷å) â ôóíêöèþ VBA |
Sub SetFilter() Dim s, sS, sP, sD, sD1, sD2 If Len(Me.Ïîñòàâùèê & "") = 0 Then sP = "" Else sP = " and [Ïîñòàâùèê]='" & Me.Ïîñòàâùèê & "'" If Len(Me.Ãîðîä & "") = 0 Then sS = "" Else sS = " and [Ãîðîä]='" & Me.Ãîðîä & "'" sD1 = Format(Nz(Me.Data1, 0), "\#mm\/dd\/yyyy\#") sD2 = Format(Nz(Me.Data2, 100000), "\#mm\/dd\/yyyy\#") sD = " and [ÄàòàÄîñòàâêè] between " & sD1 & " and " & sD2 s = " true " & sP & sS & sD Me.Filter = s Me.FilterOn = True End Sub
Sub SetFilter() Dim s, sS, sP, sD, sD1, sD2 If Len(Me.Ïîñòàâùèê & "") = 0 Then sP = "" Else sP = " and [Ïîñòàâùèê]='" & Me.Ïîñòàâùèê & "'" If Len(Me.Ãîðîä & "") = 0 Then sS = "" Else sS = " and [Ãîðîä]='" & Me.Ãîðîä & "'" sD1 = Format(Nz(Me.Data1, 0), "\#mm\/dd\/yyyy\#") sD2 = Format(Nz(Me.Data2, 100000), "\#mm\/dd\/yyyy\#") sD = " and [ÄàòàÄîñòàâêè] between " & sD1 & " and " & sD2 /* Òàê íå ðàáîòàåò */ If (IsNull(Me.ÄàòàÄîñòàâêè) = True) Then s = " true " & sP & sS Else s = " true " & sP & sS & sD End If /* Òàê íå ðàáîòàåò */ Me.Filter = s Me.FilterOn = True End Sub
http://www.sql.ru/forum/1176401/kak-pravilno-dobavit-uslovie-esli-to-inache-v-funkciu-vba
| Êîììåíòèðîâàòü | « Ïðåä. çàïèñü — Ê äíåâíèêó — Ñëåä. çàïèñü » | Ñòðàíèöû: [1] [Íîâûå] |