Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Процедура поиска с отбором 
:(
    Опции темы
Dipresiy
Дата 24.5.2007, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.5.2007

Репутация: нет
Всего: нет



Всем привет!

Прогу написал, а в процедуру или модуль никак не могу переделать, т.к. она раз 10 в форме используется. Очень надеюсь на вашу помощь! За ранее благодарен!

Код

Private Sub ПоискСерНом_Change()
Dim s As String
    s = Me.ПоискСерНом.Text 
    With Me.[Форм_Поиск].Form 
      If Len(s) <> 0 Then
        s = " WHERE Left([СерНом]" & Len(s) & ") = '" & s & "'"
      Else
        s = ";"
      End If
      .RecordSource = "SELECT КодСисБлок, НаимСисБлок, СерНом FROM [Запрос_Поиск]" & s
      .Requery 
    End With

End Sub



Донные которые изменяются:

ПоискСерНом - имя поля в которое вводится искомый номер
Форм_Поиск - подчиненная форма в которой ищем номер
СерНом - имя поля в форме Форм_Поиск
"SELECT КодСисБлок, НаимСисБлок, СерНом FROM [Запрос_Поиск]" - Запрс 

Прошу прощения если что непонятно написал, спросите перефразирую текст или до полню.
Спасибо!




Это сообщение отредактировал(а) Dipresiy - 25.5.2007, 12:27
PM MAIL   Вверх
bopoha
Дата 25.5.2007, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



В чем именно проблема? Объявить параметры или ....? Что в запросе меняется?
PM MAIL WWW ICQ Skype GTalk   Вверх
Dipresiy
Дата 25.5.2007, 05:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.5.2007

Репутация: нет
Всего: нет



Да, объявить переменные. Вот к примеру какие данные будут меняться:

1.  ПоискСерНом - имя поля в которое вводится искомый номер
     Форм_Поиск - подчиненная форма в которой ищем номер
     СерНом - имя поля в форме Форм_Поиск
    "SELECT КодСисБлок, НаимСисБлок, СерНом FROM [Запрос_Поиск]" - Запрс 

2.  ПоискСерНом1 
     Форм_Поиск1 
     СерНом1 
     "SELECT КодМон, НаимМон, СерНом1 FROM [Запрос_Поиск1]" - Запрс 

3. ПоискСерНом2 
    Форм_Поиск2 
    СерНом2 
    "SELECT КодПрин, НаимПрин, СерНом2 FROM [Запрос_Поиск2]" - Запрс 

и так далее, так как текст программы за исключением этих 4-ч составляющих не меняется вот я и реши сварганить процедурку, но к сожаленеию знаний моих нифига не хватает, я уже 2-ю неделе по книжкам да по help-ам...!  Вообщем я понимаю вот как енто длжно выглядеть:

Код

Private Sub Poisk(PoiskSerNom as...,FormName as..., SerNomer as...,ZaprSQL as ...)
Dim s As String
    s = Me.PoiskSerNom.Text                                      ' определяем вводимый текст
    With Me.FormName.Form                                       ' определяем форму 
      If Len(s) <> 0 Then
        s = " WHERE Left(SerNomеr" & Len(s) & ") = '" & s & "'"   
      Else
        s = ";"
      End If
      .RecordSource = ZaprSQL & s                               ' определяем запрос по введенному тексту s 
      .Requery                                                        ' обновление запроса
    End With

End Sub


Private Sub ПоискСерНом_Change()
Dim ZaprSQL as ...

ZaprSQL = "SELECT КодСисБлок, НаимСисБлок, СерНом FROM [Запрос_Поиск]" 

Poisk(ПоискСерНомСисБлок,Форм_Поиск_СистемныйБлок,СерСисБлок,ZaprSQL)

End



Вот чтото в этом роде! Троеточее после as это вот как раз я и незнаю какого типа переменная т.е.как её объявить.

Вот пример для простоты понимания:



Это сообщение отредактировал(а) Dipresiy - 25.5.2007, 12:32

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  prim.rar 106,21 Kb
PM MAIL   Вверх
Dipresiy
Дата 28.5.2007, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.5.2007

Репутация: нет
Всего: нет



Уважаемые знатоки, неужели задачка такая сложная???

Есть у кого какие мысли, какого типа должны быть переменные?

 
PM MAIL   Вверх
bopoha
Дата 28.5.2007, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Я систему поиска реализовал следующим образом.
1. форма поиска. 
2. функция форимрования условия (работает на основании настройки: имя поля формы - имя поля в базе). 
3. форма просмотра результата поиска (на форму поиска накладывается фильтр).

Это позволяет реализовать любой поиск за короткий срок.

В твоем случае:
Код

Public Sub Poisk(Byval stSerNom as String, byref frmPoiskRez as Form, ByVal imPlSerNomer as String, stSQLRcdSrc as String)
' stSerNom        - среийный номер
' frmPoiskRez    - ссылка на форму
' imPlSerNomer - имя поля в таблице, по которому производится поиск

      Dim stWhere as String

      If Len(stSerNom) <> 0 Then
        stWhere = " WHERE Left(" & imPlSerNomer & ", " & Len(stSerNom) & ") = '" & stSerNom & "'"   
      End If

      frmPoiskRez.RecordSource = stSQLRcdSrc & stWhere & ";"
End Sub


PS: помести ее в отдельный модуль.

Это сообщение отредактировал(а) bopoha - 28.5.2007, 08:50
PM MAIL WWW ICQ Skype GTalk   Вверх
Dipresiy
Дата 28.5.2007, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.5.2007

Репутация: нет
Всего: нет



Благодарю bopoha!

Но либо Я торможу, либо торможу Я!!!  

Код


Private Sub ПоискСерНомСисБлок_Change()
Dim stSQL As String

  stSQL = "SELECT КодСисБлока, НаимСисБлок, СерСисБлок, ИнвНомерСисБлок FROM [Запр_Поиск_СистемныйБлок]"

  Poisk (ПоискСерНомСисБлок,Форм_Поиск_СистемныйБлок,СерСисБлок, stSQL) '-вся строка красная и сообщение Compile error: Expected:= 

End Sub


Что я не так сделал??? Процедуру и в модуль выносил и тамже где ее вызываю оставлял - один фиг ошибка, а где косяк понять не могу.  

Это сообщение отредактировал(а) Dipresiy - 28.5.2007, 11:11
PM MAIL   Вверх
Akina
Дата 28.5.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Dipresiy @  28.5.2007,  12:02 Найти цитируемый пост)
вся строка красная и сообщение Compile error: Expected:= 

Забыто ключевое слово Call


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Dipresiy
Дата 31.5.2007, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 22.5.2007

Репутация: нет
Всего: нет



Точно!   smile 

Теперь все работает!

Выражаю огромную благодарность и мое почтение Вам господа!!!  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0493 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.