H
HelenHelen
Всем доброго дня!
Одна из баз CompanyMedia у нас должна использоваться для регистрации доверенностей, в связи с чем был доработан состав полей в ней. Теперь мне нужно доработать Поиск по форме так, чтобы он искал и по тем полям, которые я создала или изменила. Если кто знает, подскажите, как это сделать, пожалуйста! В библиотеке, которая отвечает за поиск, есть некая переменная FieldsAndForms, содержащая, судя по всему, массив поисковых полей. Однако нигде в коде я не вижу, чтобы ей присваивались какие-либо значения. Вот процедура, которая получает, какое поле как заполнил пользователь. Никаких указаний на состав самих полей я не вижу(((
Заранее большое спасибо!!
Одна из баз CompanyMedia у нас должна использоваться для регистрации доверенностей, в связи с чем был доработан состав полей в ней. Теперь мне нужно доработать Поиск по форме так, чтобы он искал и по тем полям, которые я создала или изменила. Если кто знает, подскажите, как это сделать, пожалуйста! В библиотеке, которая отвечает за поиск, есть некая переменная FieldsAndForms, содержащая, судя по всему, массив поисковых полей. Однако нигде в коде я не вижу, чтобы ей присваивались какие-либо значения. Вот процедура, которая получает, какое поле как заполнил пользователь. Никаких указаний на состав самих полей я не вижу(((
Заранее большое спасибо!!
Код:
Function GetFields(searchstr As String,FieldsAndForms As Variant) As String
Dim s As String
Dim v As Variant
Dim result As String
Dim j As Integer
Dim i As Integer
If (Ubound(FieldsAndForms)>=0) Then
If (FieldsAndForms(0)<>"" ) Then
For j=0 To Ubound(FieldsAndForms)
If (j<>Ubound(FieldsAndForms)) Then
s = s + Strright(FieldsAndForms(j),"%") + "%"
Else
s = s+ Strright(FieldsAndForms(j),"%")
End If
Next
v = Evaluate({@Unique(@Explode(} + {"} + s + {"} + {;"%"))})
If (Isarray(v)) Then
result = "("
For i=0 To Ubound(v)
If (i<> Ubound(v)) Then
result = result + "[" + v(i) + "]" + {=} + {"} + searchstr + {"} + " OR "
Else
result = result + "[" + v(i) + "]" + {=} + {"} + searchstr + {"}
End If
Next
result = result + ")"
End If
End If
End If
GetFields = result
End Function