powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск и отчёт
25 сообщений из 55, страница 2 из 3
Поиск и отчёт
    #32814580
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну да, я уже понял что VBA рулит ... =) полезу искать ... да и разбираться я не против - вот тока времени с самого начала нет, а проблему сейчас решать надо ...

спасибо за советы, если что я ещё позадаваю вопросов!!!

ЗЫ ... если не трудно не могли бы вы ещё парочку наглядных экзамплов назвать, чтобы проще было тыкаться
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32814597
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку: solutions
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32814880
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я тут сообразил примерно следующее:
сделал запрос на таблицу Клиенты по 3 полям (Город, ИНН, Телефон), создал форму с полями Город, ИНН, Телефон и с вложенной формой, которая выдаёт инфу о фирмах в виде таблизы с те ми же Городом, ИНН, Телефоном. (всё по примеру Solution). при вводе например города, и последующем переходе по TAB он (что удивительно =) ) и в заправду показывает все записи с полем "город". Т.е. работает. Но при попытке поиска и вывода записай как по телефону, так и по ИНН прога либо ничего не ищет, либо заменяет (!!!) что не есть хорошо, имеющуюся запись (т.е. последнюю запись) и вставляет туда тот, к примеру, ИНН, по которому я хотел найти (!!!) совершенно другую фирму.

КАСЯК!!! В чём дело может быть...

никаким VBA я не пользовался, пока так и не понял что где надо кодить и какой оператор за что отвечает =( дома попробую разобраться
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32816494
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32827632
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как получить доступ к таблицам базы через встроенный барсик? операторы, названия... т.е. все-все-все!!!
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32827685
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5aciJIaа как получить доступ к таблицам базы через встроенный барсик? операторы, названия... т.е. все-все-все!!!
Хм. Все-все-все - это здоровенный кусок хелпа, многовато получится :)
В общем случае через Recordset, для чтения можно через DlookUp..., можно и запросом SQL в коде...
А что хочется сделать? Повнятнее и подробнее, здесь курс лекций не читают, а отвечают на конкретные вопросы. Чем четче и уже вопрос, тем больше шансов получить подробный и ясный ответ, м.б., и с примером.
Об этом много раз уже здесь говорили - когда есть структура таблиц и четкое описание задачи, версия акцесса - легче написать в ответ несколько строк кода, чем разливаться "мыслей по древу", пытаясь догадаться что же хочется...
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32827686
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
итак... имеется таблица Кленты, из неё выборка на несколько пунктов Город, ИНН, Фирма. Нужно отобразить в форме отфильтрованные по вводу Города. Инн и т.д. в текстовые поля данные. Насколько понятно надо писать это в After Update поля, но непонятно что писать всамой функции.
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32827690
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно догадываться что поле для ввода города для фильтра на форме? Оно свободное? И что оно поле со списком или просто текстовое, куда можно ввести и часть имени города?
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32827693
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поле - тестовое, простое как глобус. Оно находится на форме. В ней подчинееная форма, она же может быть таблицей - не суть важно наверное. Тут сидит программист и ломает голову не понимая, как с этим Acseesом работать.

(программист): Есть фильтр, он есть строка, включаем его FilterOn = True,
вопросы:
1.) Надо писать просто Filter или куда - то его сандалить, если сандалитть - то куда?
2.) Где брать значение поля, т.е. пишем Filter = "?Что-то? = Поле.Текст", а потом включаем, так? Но Где! брать значение???
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32827703
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 варианта.
Кстати, кроме установки фильтра можно менять и сам источник формы.
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32827710
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное. Но фильтр мы уже сами сделали почти - где-то на полчаса раньше. Но он не работает при 2-х полях и, соответственно 2-х условиях.
Код следующий (кривоватый правда):
If ÒÏÃîðîä.Text = "" Then
If ÒÏÈÍÍ.Text = "" Then
Âíåäðåííûé6.Form.FilterOn = False
Else
Âíåäðåííûé6.Form.Filter = "ÈÍÍ = ÒÏÈÍÍ.Text"
Âíåäðåííûé6.Form.FilterOn = True
End If
Else
If ÒÏÈÍÍ.Text = "" Then
Âíåäðåííûé6.Form.Filter = "Ãîðîä=ÒÏÃîðîä.Text"
Else
Âíåäðåííûé6.Form.Filter = "Ãîðîä=ÒÏÃîðîä.Text and ÈÍÍ = ÒÏÈÍÍ.Text"
Âíåäðåííûé6.Form.FilterOn = True
End If
End If
кириллица глючит...

В общем он выдает Runtime Error 2185 в случае если хотя бы одно поле не пустое.
Что с этим можно сделать?
В общем что-то про фокус ввода и поля гутарит.
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32827716
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Туговато читать.
Дело в том, что свойство Text контрола доступно только в текущем контроле при его изменении.
если проверяем поле на событие AfterUpdate
то проверяем свойство
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32827719
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мля. Продолжим.
свойство Value, или для краткости вообще опускаем (оно выдается по умолчанию)
[Поле6]="" или IsNull([Поле6])
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32828388
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private Sub ТПГород_AfterUpdate()
If ТПГород.Value = "" Then
If ТПИНН.Value = "" Then
Внедренный6.Form.FilterOn = False
Else
Внедренный6.Form.Filter = "ИНН = ТПИНН.Value"
Внедренный6.Form.FilterOn = True
End If
Else
If ТПИНН.Value = "" Then
Внедренный6.Form.Filter = "Город=ТПГород.Value"
Else
Внедренный6.Form.Filter = "Город=ТПГород.Value and ИНН = ТПИНН.Value"
Внедренный6.Form.FilterOn = True
End If
End If
End Sub

Private Sub ТПИНН_AfterUpdate()
If ТПГород.Value = "" Then
If ТПИНН.Value = "" Then
Внедренный6.Form.FilterOn = False
Else
Внедренный6.Form.Filter = "ИНН = ТПИНН.Value"
Внедренный6.Form.FilterOn = True
End If
Else
If ТПИНН.Value = "" Then
Внедренный6.Form.Filter = "Город=ТПГород.Value"
Else
Внедренный6.Form.Filter = "Город=ТПГород.Value and ИНН = ТПИНН.Value"
Внедренный6.Form.FilterOn = True
End If
End If
End Sub
________________________________

это чтото типа того должно получиться насколько я понял? только вот именно что "что то" ... потому что и этот код меня балует ошибкой! а именно отсутствием работоспособности и .... и собственно всё! в отличае от варианта с одним полем здесь поиск вообще не производится
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32828391
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЗЫ ... это код для двух полей (как видно из него для Город и ИНН)
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32828583
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, это всё фикна ... уконкречу и урежу вопрос и соответственно проблему:
есть две текстовые формы (так и назовём их ТПГород и ТПИНН) и таблица (Внедрённый6) ... это я не столько для занудности сколько для подробности =) фильтрация по одному полю, как я уже заметил, я разобрался как ваять! Собственно, вот так:

Private Sub ТПИНН_AfterUpdate()
If ТПИНН.Value = "" Then
Внедренный6.Form.FilterOn = False
Else
Внедренный6.Form.Filter = "ИНН = ТПИНН.Value"
Внедренный6.Form.FilterOn = True
End If
End Sub

....это, например, с полем ИНН из Внедренной6 таблицы клиентов.

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

Если поле ТПИНН и ТПГород пусты, то фильтрации нет

Если поле ТПГород имеет какое то значение, а ТПИНН пусто, то сверяем ТПГород с Внедрённой6

Если при заполненном поле ТПГород ввести данные в ТПИНН то соответственно должна фильтрация произвестися (в случае если такого ИНН нет, но Внедрённая6 пуста) ...

Всё то же самое, но наоборот - при заполненном ТПИНН ввели данные в ТПГород и т.д.

И соответственно если оба поля имею данные, отсутствующие в главной таблице, то Внедрённая6 пуста, как степь (как пустая степь) =)

...помоему все случаи рассмотрел :/
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32828590
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сразу скажу что последние 3 часа я это пытался сделать ... но не получилось! получилась шняга типа

Private Sub ТПГород_AfterUpdate()
If ТПГород.Value = "" And ТПИНН.Value = "" Then
Внедренный6.Form.FilterOn = False
Else
If Внедренный6.Form.Filter = "Город = ТПГород.Value" And ТПИНН.Value = "" Then
Внедренный6.Form.Filter = "Город = ТПГород.Value"
Внедренный6.Form.FilterOn = True
Else
Внедренный6.Form.Filter = "ИНН = ТПИНН.Value"
Внедренный6.Form.FilterOn = True
End If
End If
End Sub

тока пожалуйста без чёрного юмора =) бессонная ночь даёт о себе знать
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32828710
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста с условием!!! Срочно проект сдавать надо .... а это последний касяк остался ...

ЛЮДИ, ЧЕЛОВЕКИ =) И всё такое ... уже голова просто пухнет, никак составить не могу условие =( всё не работает
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32828819
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БАНЗАЙ!!!!
-----------------------------------------

Private Sub Form_Load()
Внедренный6.Form.FilterOn = False
End Sub

Private Sub ТПГород_AfterUpdate()

If IsNull(ТПГород) Then
If IsNull(ТПИНН) Then
Внедренный6.Form.FilterOn = False
Else
Внедренный6.Form.Filter = "ИНН = ТПИНН.Value"
Внедренный6.Form.FilterOn = True
End If
Else
If IsNull(ТПИНН) Then
Внедренный6.Form.Filter = "Город = ТПГород.Value"
Внедренный6.Form.FilterOn = True
Else
Внедренный6.Form.Filter = "Город = ТПГород.Value and ИНН = ТПИНН.Value"
Внедренный6.Form.FilterOn = True
End If
End If

End Sub

Private Sub ТПИНН_AfterUpdate()
If IsNull(ТПИНН) Then
If IsNull(ТПГород) Then
Внедренный6.Form.FilterOn = False
Else
Внедренный6.Form.Filter = "Город = ТПГород.Value"
Внедренный6.Form.FilterOn = True
End If
Else
If IsNull(ТПГород) Then
Внедренный6.Form.Filter = "ИНН=ТПИНН.Value"
Внедренный6.Form.FilterOn = True
Else
Внедренный6.Form.Filter = "Город=ТПГород.Value and ИНН = ТПИНН.Value"
Внедренный6.Form.FilterOn = True
End If
End If
End Sub

-----------------------------------------------
и дело всего то было в том что я вместо выделенного задавал пустые поля как ТПГород.Value = "" и соответственно ТПИНН.Value = ""

Неужели это так фатально? Объясните хотябы почему?

ЗЫ ... ещё не пробовал с 3 и более полями, но чувствую что будет весело =)

ЗЗЫ ... зато созрел целый топик для таких "неумных" в акесе и VBA челов как я сам =)
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32828867
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а реально - как будет выглядеть условие при выборке используя 3 текстовых поля? (причём они ОБЯЗАТЕЛЬНО должны бытьсвязаны тем, что при пустом 3-м текстовом поле а заполненных первых 2х - выборка будет происходить по первым 2-м)

См. пример (код) для 2х полей в пред мессаге
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32828920
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и ещё в догонку вопрос (на сёдня последний, итам нехило я тут инфой посорил):
какой у SELECT и WHERE правильный синтаксис? А именно интересует меня чать кода

SELECT *
FROM main_base
WHERE Name Like ([что то там])

которую я собственно здесь и нашёл (это типа для общего поиска по все-е-е-й базе каких уго-о-о-дно данных)

Как сказал автор при правельной установке этот код, при открытии формы (к которой подключен запрос Поиск) должен автоматически запрашивать данные на поиск а при вводе * показывает все данные....

меня интересуют все мнения по этому коду и в частности, как я уже говорил, синтаксис работы с SELECT и WHERE.

ЗЫ ... да, и что это значит =) автор не очень широко раскрыл сам процесс работы кода ... если это уже где-то описано прошу скинуть мне линк

Заранее благодарен! Да и вообще благодарен =) За всю помощь и советы!
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32829427
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5aciJIa
и дело всего то было в том что я вместо выделенного задавал пустые поля как ТПГород.Value = "" и соответственно ТПИНН.Value = ""
Неужели это так фатально? Объясните хотябы почему?

значения "" (нулевая строка) и Null это разные вещи.
запихнуть нулевую строку в свободное поле на форме вводом с клавиатуры весьма сложно - к примеру, пробел после обновление автоматически будет преобразован в Null.
Но в процессе изменения -к примеру, ввели и стерли Backspace'ом, проверив свойство Text до обновления мы получим "".
И эти вещи нужно учитывать при проверках.
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32829432
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5aciJIaа реально - как будет выглядеть условие при выборке используя 3 текстовых поля? (причём они ОБЯЗАТЕЛЬНО должны бытьсвязаны тем, что при пустом 3-м текстовом поле а заполненных первых 2х - выборка будет происходить по первым 2-м)
Делаем отдельную процедуру в модуле формы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Public Sub subCheckFieds()
Dim strWhere As String
Dim blAnd As Boolean

blAnd = False

If Not IsNull([ТПГород]) Then
strWhere = "Город = " & [ТПГород]
blAnd = True
End If

If Not IsNull([ТПИНН]) Then
    If blAnd = True Then
        strWhere = strWhere & " AND [ИНН] =" & [ТПИНН]
    Else
        strWhere = "[ИНН] =" & [ТПИНН]
        blAnd = True
    End If
End If

If Not IsNull([ 3 -е поле]) Then
    If blAnd = True Then
        strWhere = strWhere & " AND [Поле3] =" & [ 3 -е поле]
    Else
        strWhere = "[Поле3] =" & [ 3 -е поле]
        blAnd = True
    End If
End If
Внедренный6.Form.Filter = strWhere
Внедренный6.Form.FilterOn = True
End Sub
и дергаем ее на AfterUpdate всех трех полей:

Private Sub ТПГород_AfterUpdate()
subCheckFieds
end sub
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32829435
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5aciJIaи ещё в догонку вопрос (на сёдня последний, итам нехило я тут инфой посорил):
какой у SELECT и WHERE правильный синтаксис? А именно интересует меня чать кода

SELECT *
FROM main_base
WHERE Name Like ([что то там])
Есть справка - раздел Справочник по языку Microsoft Jet SQL - Язык обработки данных (DML). Он используется в запросах.
...
Рейтинг: 0 / 0
Поиск и отчёт
    #32830158
5aciJIa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, реально спасибо!!! сейчас буду тестить
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 2 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск и отчёт
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]