|
|
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
ну да, я уже понял что VBA рулит ... =) полезу искать ... да и разбираться я не против - вот тока времени с самого начала нет, а проблему сейчас решать надо ... спасибо за советы, если что я ещё позадаваю вопросов!!! ЗЫ ... если не трудно не могли бы вы ещё парочку наглядных экзамплов назвать, чтобы проще было тыкаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 14:44:43 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
В догонку: solutions ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 14:53:12 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
я тут сообразил примерно следующее: сделал запрос на таблицу Клиенты по 3 полям (Город, ИНН, Телефон), создал форму с полями Город, ИНН, Телефон и с вложенной формой, которая выдаёт инфу о фирмах в виде таблизы с те ми же Городом, ИНН, Телефоном. (всё по примеру Solution). при вводе например города, и последующем переходе по TAB он (что удивительно =) ) и в заправду показывает все записи с полем "город". Т.е. работает. Но при попытке поиска и вывода записай как по телефону, так и по ИНН прога либо ничего не ищет, либо заменяет (!!!) что не есть хорошо, имеющуюся запись (т.е. последнюю запись) и вставляет туда тот, к примеру, ИНН, по которому я хотел найти (!!!) совершенно другую фирму. КАСЯК!!! В чём дело может быть... никаким VBA я не пользовался, пока так и не понял что где надо кодить и какой оператор за что отвечает =( дома попробую разобраться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 16:38:46 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
а как получить доступ к таблицам базы через встроенный барсик? операторы, названия... т.е. все-все-все!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 23:45:05 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
5aciJIaа как получить доступ к таблицам базы через встроенный барсик? операторы, названия... т.е. все-все-все!!! Хм. Все-все-все - это здоровенный кусок хелпа, многовато получится :) В общем случае через Recordset, для чтения можно через DlookUp..., можно и запросом SQL в коде... А что хочется сделать? Повнятнее и подробнее, здесь курс лекций не читают, а отвечают на конкретные вопросы. Чем четче и уже вопрос, тем больше шансов получить подробный и ясный ответ, м.б., и с примером. Об этом много раз уже здесь говорили - когда есть структура таблиц и четкое описание задачи, версия акцесса - легче написать в ответ несколько строк кода, чем разливаться "мыслей по древу", пытаясь догадаться что же хочется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 03:04:41 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
итак... имеется таблица Кленты, из неё выборка на несколько пунктов Город, ИНН, Фирма. Нужно отобразить в форме отфильтрованные по вводу Города. Инн и т.д. в текстовые поля данные. Насколько понятно надо писать это в After Update поля, но непонятно что писать всамой функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 03:21:30 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
Мне нужно догадываться что поле для ввода города для фильтра на форме? Оно свободное? И что оно поле со списком или просто текстовое, куда можно ввести и часть имени города? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 04:02:40 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
Поле - тестовое, простое как глобус. Оно находится на форме. В ней подчинееная форма, она же может быть таблицей - не суть важно наверное. Тут сидит программист и ломает голову не понимая, как с этим Acseesом работать. (программист): Есть фильтр, он есть строка, включаем его FilterOn = True, вопросы: 1.) Надо писать просто Filter или куда - то его сандалить, если сандалитть - то куда? 2.) Где брать значение поля, т.е. пишем Filter = "?Что-то? = Поле.Текст", а потом включаем, так? Но Где! брать значение??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 04:50:15 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
2 варианта. Кстати, кроме установки фильтра можно менять и сам источник формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 06:05:17 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное. Но фильтр мы уже сами сделали почти - где-то на полчаса раньше. Но он не работает при 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 в случае если хотя бы одно поле не пустое. Что с этим можно сделать? В общем что-то про фокус ввода и поля гутарит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 06:35:27 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
Туговато читать. Дело в том, что свойство Text контрола доступно только в текущем контроле при его изменении. если проверяем поле на событие AfterUpdate то проверяем свойство ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 06:49:26 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
Мля. Продолжим. свойство Value, или для краткости вообще опускаем (оно выдается по умолчанию) [Поле6]="" или IsNull([Поле6]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 06:52:46 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
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 ________________________________ это чтото типа того должно получиться насколько я понял? только вот именно что "что то" ... потому что и этот код меня балует ошибкой! а именно отсутствием работоспособности и .... и собственно всё! в отличае от варианта с одним полем здесь поиск вообще не производится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 13:33:23 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
ЗЫ ... это код для двух полей (как видно из него для Город и ИНН) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 13:34:30 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
Так, это всё фикна ... уконкречу и урежу вопрос и соответственно проблему: есть две текстовые формы (так и назовём их ТПГород и ТПИНН) и таблица (Внедрённый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 пуста, как степь (как пустая степь) =) ...помоему все случаи рассмотрел :/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 14:30:17 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
сразу скажу что последние 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 тока пожалуйста без чёрного юмора =) бессонная ночь даёт о себе знать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 14:31:58 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
Помогите пожалуйста с условием!!! Срочно проект сдавать надо .... а это последний касяк остался ... ЛЮДИ, ЧЕЛОВЕКИ =) И всё такое ... уже голова просто пухнет, никак составить не могу условие =( всё не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 15:18:47 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
БАНЗАЙ!!!! ----------------------------------------- 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 челов как я сам =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 16:00:12 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
а реально - как будет выглядеть условие при выборке используя 3 текстовых поля? (причём они ОБЯЗАТЕЛЬНО должны бытьсвязаны тем, что при пустом 3-м текстовом поле а заполненных первых 2х - выборка будет происходить по первым 2-м) См. пример (код) для 2х полей в пред мессаге ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 16:15:37 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
и ещё в догонку вопрос (на сёдня последний, итам нехило я тут инфой посорил): какой у SELECT и WHERE правильный синтаксис? А именно интересует меня чать кода SELECT * FROM main_base WHERE Name Like ([что то там]) которую я собственно здесь и нашёл (это типа для общего поиска по все-е-е-й базе каких уго-о-о-дно данных) Как сказал автор при правельной установке этот код, при открытии формы (к которой подключен запрос Поиск) должен автоматически запрашивать данные на поиск а при вводе * показывает все данные.... меня интересуют все мнения по этому коду и в частности, как я уже говорил, синтаксис работы с SELECT и WHERE. ЗЫ ... да, и что это значит =) автор не очень широко раскрыл сам процесс работы кода ... если это уже где-то описано прошу скинуть мне линк Заранее благодарен! Да и вообще благодарен =) За всю помощь и советы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 16:35:59 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
5aciJIa и дело всего то было в том что я вместо выделенного задавал пустые поля как ТПГород.Value = "" и соответственно ТПИНН.Value = "" Неужели это так фатально? Объясните хотябы почему? значения "" (нулевая строка) и Null это разные вещи. запихнуть нулевую строку в свободное поле на форме вводом с клавиатуры весьма сложно - к примеру, пробел после обновление автоматически будет преобразован в Null. Но в процессе изменения -к примеру, ввели и стерли Backspace'ом, проверив свойство Text до обновления мы получим "". И эти вещи нужно учитывать при проверках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 01:22:25 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
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. Private Sub ТПГород_AfterUpdate() subCheckFieds end sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 01:51:50 |
|
||
|
Поиск и отчёт
|
|||
|---|---|---|---|
|
#18+
5aciJIaи ещё в догонку вопрос (на сёдня последний, итам нехило я тут инфой посорил): какой у SELECT и WHERE правильный синтаксис? А именно интересует меня чать кода SELECT * FROM main_base WHERE Name Like ([что то там]) Есть справка - раздел Справочник по языку Microsoft Jet SQL - Язык обработки данных (DML). Он используется в запросах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 02:03:31 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32814880&tid=1669391]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 335ms |

| 0 / 0 |
