Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2012, 18:31   #21
Jimmy Lenox
Пользователь
 
Регистрация: 03.10.2012
Сообщений: 32
По умолчанию

Я сделал вот такой вариант (смотреть базу). Значения фильтруются. Но через какое-то время все становится колом - фильтрация не происходит. И это при отсутствии видимых причин, изменений в макет или код формы/запроса не вносил... Особенно часто - после того, как закрыл базу и открыл снова... Порой вылезает такая вот ошибка (Error.jpg)
Подскажите, в чем ошибка
Изображения
Тип файла: jpg Error.jpg (18.2 Кб, 123 просмотров)
Вложения
Тип файла: rar СетеваяБаза2003-2.rar (53.8 Кб, 8 просмотров)
Jimmy Lenox вне форума Ответить с цитированием
Старый 24.10.2012, 13:12   #22
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Доброго.
Для поля IP-адрес поправил запрос:
Код:
SELECT IPАдреса.КодIpАдреса, IPАдреса.[IP-адрес]
FROM IPАдреса
WHERE (((IPАдреса.КодIpАдреса)=DLookUp("[КодIPАдреса]","Активка","[КодАктивки] = " & [Forms]![Form1]![КодАктивки])))
UNION SELECT IPАдреса.КодIpАдреса, IPАдреса.[IP-адрес]
FROM IPАдреса
WHERE IPАдреса.КодVLAN=[Forms]![Form1]![cbVLAN] AND (not IPАдреса.КодIpАдреса In (SELECT Активка.КодIPАдреса
 FROM Активка WHERE Активка.КодVLAN=[Forms]![Form1]![cbVLAN]));
Запрос является объединением (UNION) 2 запросов:
1. Выбираются значения установленные на данный момент для текущей записи, чтоб текущее значение также было доступно для выбора.
2. Выбираются все IP адреса указаного VLAN но не существующие в подзапросе:
Код:
(SELECT Активка.КодIPАдреса FROM Активка WHERE Активка.КодVLAN=[Forms]![Form1]![cbVLAN]))
возвращающем список занятых IP адресов для указаной VLAN

Обработчики событий:
Код:
Option Compare Database
Dim oldVal As Long ' для хранения кода кодVLAN
Private Sub Form_Current()
    CbIpAddress.Requery 
    oldVal = Nz(cbVLAN) ' ноль для новой записи - cbVLAN=Null
End Sub
При смене текущей записи обновляем поле CbIpAddress, чтоб список доступных адресов соответствовал установленному значению кодVLAN и запоминаем это значение в переменной oldVal

Код:
Private Sub cbVLAN_AfterUpdate()
  If cbVLAN <> oldVal Then
    CbIpAddress.Requery
    oldVal = cbVLAN
    CbIpAddress = 0
   End If
End Sub
После обновления поля cbVLAN сравниваем его значение с предшествующим значением (переменная oldVal). Если оно не изменилось - ничего не делаем, это может происходить если пользователь выбрал из списка ранее установленное значение.
Если значение изменилось, тогда обновляем список доступных IP адресов, запоминаем текущее значение cbVLAN и обнуляем значение IP адреса.
P.S. Для номера порта коммутатора делается по аналогии ...
Вложения
Тип файла: rar СетеваяБаза2003-2.rar (31.2 Кб, 7 просмотров)
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 25.10.2012, 09:44   #23
Jimmy Lenox
Пользователь
 
Регистрация: 03.10.2012
Сообщений: 32
По умолчанию

Огромное спасибо!
Все прекрасно функционирует!
На выходных буду разбираться, что да как функционирует ,)
Я так понимаю, сам запрос Вы пишете в режиме SQL? Или в конструкторе, а потом объединяете 2 запроса?
Jimmy Lenox вне форума Ответить с цитированием
Старый 05.11.2012, 11:20   #24
Jimmy Lenox
Пользователь
 
Регистрация: 03.10.2012
Сообщений: 32
По умолчанию

Здравствуйте! Подскажите пожалуйста решение по следующему вопросу.

Есть форма, которая может использоваться как для внесения новых данных, так и для поиска уже внесенных. Открыв запись, оператор может случайно внести изменения. Есть ли возможность сделать так, чтобы при закрытии формы, или переходу к следующей ячейке выдавался запрос подтверждения на сохранение изменений? Либо какие-то альтернативные варианты…
Jimmy Lenox вне форума Ответить с цитированием
Старый 06.11.2012, 21:41   #25
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Добрый вечер, поместите данный код в модуль нужной формы, и наслаждайтесь
Код:
Public Sub Form_BeforeUpdate(Cancel As Integer)
        If MsgBox("     Сохранить изменения?", 52, "    Имеются несохраненные измения!") <> vbYes Then   Me.Undo
End Sub
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234

Последний раз редактировалось R Dmitry; 07.11.2012 в 20:10. Причина: сократил :)
R Dmitry вне форума Ответить с цитированием
Старый 07.11.2012, 23:18   #26
Jimmy Lenox
Пользователь
 
Регистрация: 03.10.2012
Сообщений: 32
По умолчанию

Большое спасибо, Дмитрий! Завтра буду пробовать!
Jimmy Lenox вне форума Ответить с цитированием
Старый 16.11.2012, 21:11   #27
Jimmy Lenox
Пользователь
 
Регистрация: 03.10.2012
Сообщений: 32
По умолчанию

Добрый вечер!
Я почти закончил работу над базой, но столкнулся с одной трудностью. И так, есть:
Основная таблица (Главная). Она связанна с другими таблицами (Импортеры, Наименование, Поставщики), из которых берутся данные. Данные заносятся в основную таблицу через форму (Форма). Таким образом, в главной таблице данные находятся виде индексов, соответствующих данным в связанных таблицах.
Нужно:
Построить отчет. Чтобы данные в основной таблице отображались данные, а не их индексы. Я так понимаю, отечет строится на основе запроса?...
Вложения
Тип файла: rar Base.rar (20.6 Кб, 10 просмотров)

Последний раз редактировалось Jimmy Lenox; 16.11.2012 в 21:40.
Jimmy Lenox вне форума Ответить с цитированием
Старый 20.11.2012, 09:58   #28
alvk
Форумчанин
 
Регистрация: 22.05.2012
Сообщений: 136
По умолчанию

Откройте конструктор запросов, добавьте необходимые таблицы, перенесите вниз из таблиц нужные поля. Если схема данных сделана, то связывать таблицы не надо.
alvk вне форума Ответить с цитированием
Старый 22.11.2012, 11:27   #29
Jimmy Lenox
Пользователь
 
Регистрация: 03.10.2012
Сообщений: 32
По умолчанию

Разобрался и все сделал. Спасибо! ,)
Jimmy Lenox вне форума Ответить с цитированием
Старый 05.12.2012, 11:45   #30
Jimmy Lenox
Пользователь
 
Регистрация: 03.10.2012
Сообщений: 32
По умолчанию

Добрый день! Еще один вопрос.
Есть форма, которая разворачивается на весь экран (чтобы операторы не видели лишних кнопок/меню). Подскажите, как реализовать фильтр для поиска в форме. Как вариант, думал добавить кнопки «Изменить фильтр», «Применить фильтр» прямо в форму, но не знаю, как это реализовать...
База прилагается.
Заранее спсибо!
Вложения
Тип файла: rar СетеваяБаза5.rar (218.8 Кб, 8 просмотров)
Jimmy Lenox вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подчиненные формы, связь. Angelo4ka Microsoft Office Access 0 19.07.2012 16:30
разнести подчиненные формы по вкладкам access user Microsoft Office Access 1 17.07.2011 18:02
Списки в Си. Multiman Помощь студентам 3 03.06.2011 18:26
mdb+ADO главная и подчиненные таблцы masal77 БД в Delphi 2 03.04.2011 09:34