Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: mixail
Снайп, по твоей ссылке как раз то, что нужно))) Но там используется подформа у меня же нужно сделать это по одной форме пока код следующий (но он не работает, указывая ошибку в строчке - :

If strFilter = "" Then 
   Me![название формы].Form.RecordSource = "SELECT [название формы].* FROM [название формы];" 
End If
End Function

А весь код выглядит так пока что:


Option Compare Database
Public asd1 As String
Public asd2 As String
Public asd3 As String
Public asd4 As String
Public asd5 As String
Option Explicit

Private Function FilterBasa1()
Dim strFilter As String
strFilter = "" 

If asd1 <> "" Then 
    strFilter = "[LINE] Like '" & asd1 & "*'"
End If

If asd2 <> "" Then
    If strFilter = "" Then 
        strFilter = "[PRODUCEDBY] Like '" & asd2 & "*'"
    Else
        strFilter = strFilter & " AND [PRODUCEDBY] Like '" & asd2 & "*'"
    End If
End If

If asd3 <> "" Then
    If strFilter = "" Then
        strFilter = "[TYPE] Like '" & asd3 & "*'"
    Else
        strFilter = strFilter & " AND [TYPE] Like '" & asd3 & "*'"
    End If
End If

If asd4 <> "" Then
    If strFilter = "" Then
        strFilter = "[PROCESSING_COMPANY] Like '" & asd3 & "*'"
    Else
        strFilter = strFilter & " AND [PROCESSING_COMPANY] Like '" & asd3 & "*'"
    End If
End If

If strFilter = "" Then 
    Me![название формы].Form.RecordSource = "SELECT [название формы].* FROM [название формы];"
End If
End Function

Private Sub Form_Load()
asd1 = "" 
asd2 = "" 
asd3 = "" 
asd4 = ""
asd5 = "ClientForFilter"
End Sub

Private Sub ClearAll_Click()
Me!ClientForFilter = Null
Me!TypeLine = Null
Me!Processing = Null
Me!ProducedComp = Null
Call filterBasa(asd5)
End Sub

Private Sub ClientForFilter_Change()
asd5 = "ClientForFilter"
Call filterBasa("ClientForFilter") 
End Sub

Private Sub ProducedComp_Change()
asd5 = "ProducedComp"
Call filterBasa("ProducedComp")
End Sub

Private Sub Type_Change()
asd5 = "TypeLine"
Call filterBasa("TypeLine") 
End Sub
Private Sub Processing_Change()
asd5 = "Processing"
Call filterBasa("Processing")
End Sub
Private Function filterBasa(bnm As String)

Me!ClientForFilter.SetFocus
If Nz(Me!ClientForFilter.Text, 0) = 0 Then 
    asd1 = "" 
Else
    asd1 = Me!ClientForFilter.Text
End If

Me!TypeLine.SetFocus 
If Nz(Me!TypeLine.Text, 0) = 0 Then
    asd2 = ""
Else
    asd2 = Me!TypeLine.Text
End If

Me!Processing.SetFocus 
If Nz(Me!Processing.Text, 0) = 0 Then
    asd3 = ""
Else
    asd3 = Me!Processing.Text
End If

Me!ProducedComp.SetFocus 
If Nz(Me!ProducedComp.Text, 0) = 0 Then
    asd4 = ""
Else
    asd4 = Me!ProducedComp.Text
End If

Call FilterBasa1
Me(bnm).SetFocus 
Me(bnm).SelStart = Me(bnm).SelLength 
End Function


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.