![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Pilger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
Есть таблица. Я хочу выдать ее, добавив справа столбец с CheckBox'ами, которые можно было бы маркировать для проведения с выбранными строками каких то определенных операций (удалять и т.п.):
Проблема в том, что полученный CheckBox в таблице нельзя изменить, якобы потому что он не привязан ни к какой таблице. Можно это как то решить? Заранее спасибо. Это сообщение отредактировал(а) Pilger - 20.2.2009, 19:43 -------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
FINANSIST |
|
|||
Статус: Жив ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 11.4.2008 Где: Москва Репутация: 1 Всего: 23 |
Чего? Каким образом чекбокс, являющийся частью таблицы, может быть к ней не привязан? -------------------- “...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности” Эдуард Успенский, “Каникулы в Простоквашино” |
|||
|
||||
Pilger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
Спасибо за быстрый ответ.
Он не является частью таблицы.. Я добавляю Boolean-значение через SQL-запрос:
Оно не привязано ни к какому значению в таблице и поэтому (как он говорит) не может быть изменено. Смысл в том, что я хочу дать возможность пользователю выделять нужные строки. Со стандартным выделением не попрёт, потому что там можно выделять только подряд. Это сообщение отредактировал(а) Pilger - 20.2.2009, 19:44 -------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
FINANSIST |
|
||||||
Статус: Жив ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 11.4.2008 Где: Москва Репутация: 1 Всего: 23 |
значение булев добавляется к таблице следующим образом
но лучше через конструктор а запрос выборки с учётом чекбоксов примерно так
-------------------- “...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности” Эдуард Успенский, “Каникулы в Простоквашино” |
||||||
|
|||||||
Pilger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
Если я правильно понимаю, вы хотите добавить столбец к самой таблице. Или я что то путаю... Просто в самой таблице на самом деле столбец этот не нужен. Он должен выдаваться только на формуляре для каждого пользователя персонально. Пользователь маркирует какие то строки, нажимает кнопку "удалить" и они удаляются (и прочее). Два пользователя должны иметь возможность одновременно проводить эти операции.. Если же этот столбец будет в самой таблице, то выбор пользователей будет конфликтовать между собой, насколько я понимаю...
-------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Pilger, необходимо создать поле в таблице, например, с именем F_SEL тип логический. Тогда пользователь сможет менять значения.
Для "правильной" многопользовательской работы, необходимо создать временную базу для каждого пользователя. Для выделения структура временной таблицы следующая: - Ключевое поле, длинное целое - F_SEL, Логическое Перед началом выделения во временную таблицу добавляются записи из которых пользователь будет выбирать. Основная таблица и временная таблица объединяются по ключевое полю запросом. Пользователь выбирает на форме ставя галочки. Все... |
|||
|
||||
Pilger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
Значит все таки обязательно привязывать поле к таблице... Спасибо большое за скорую помощь! Теперь буду знать над чем работать.
Это сообщение отредактировал(а) Pilger - 20.2.2009, 19:16 -------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 453 |
Нет. Но это сильно упростит реализацию. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Pilger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
Но наверное сильно повлияет на скорость работы. При каждом показе формы будет создаваться таблица и в нее пихаться все записи с ключами, после чего объединяться с главной таблицей и фильтроваться, а после закрытия формы - удаляться. Надо будет протестировать.
Я не нашел понятия "временная таблица" в Access. В инете говорят о Oracle и прочих. Выходит, что варианта с локальными таблицами нет, а значит имена этих таблиц не должны повторяться (так как несколько пользователей могут параллельно открывать форму). Это значит, что придется проводить проверку на существование таблиц и давать имя, которое еще не использовалось? Или можно как то попроще? Надеюсь на вашу помощь. -------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Pilger, как таковых временных таблиц в MS Access нет. Но никто вам не мешает создать таблицу с именем temp_[....], например temp_klient_select. И никто не заставляет ее удалять. Она должна жить всегда. Это исключит вариант с совпадением имен (+1 к сопровождаемости). Остается только удалять оттуда данные. Вот только не стоит такую таблицу размещать в интерфейсном файле будет раздуваться сильно.
У меня работает следующая система: при запуске программы создается временная бд, в ней создаются временные таблицы. Они ищутся в интерфейсной бд по шаблону temp_[...]_def. Постфикс _def отрезается при создании. В завершении таблицы из временной бд линкуются в интерфейсную. Все. Можно работать. Работает шустро! |
|||
|
||||
Pilger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
В этой БД данные должны перениматься сразу и загружаться всегда актуальные(а меняться они могут постоянно несколькими пользователями). Поэтому я попробовал такой вариант:
Спасибо вам за вашу помощь, иначе бы до сих пор сидел и пытался добавить столбец через SQL-запрос =) Это сообщение отредактировал(а) Pilger - 24.2.2009, 17:20 -------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Pilger, аксесс при работе со связанными таблицами загружает сперва все данные из нее. Т.е. добавлять запросом по записи в подобную таблицу очень медленно. В результате локальная временная таблица работает со скоростью света. Также не понимаю, почему нельзя выполнить добавление данных во временную таблицу ДВУМЯ запросами: удалить и добавить? И все же не стоит в рантайме менять структуры таблиц и создавать их. Медленно это.
|
|||
|
||||
Pilger |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
Это мой первый опыт с Access, поэтому пришлось не мало времени посвятить, что бы разобраться во многих вещах.
Учту на будущее. Такие вот требования поставили, а знаний к тому времени как таковых не было.
Тоесть создать один String с 600 Insert'ами, разделенными ";"? Я правильно понял? Ясно. Вы имеете в виду такой вариант:
Спасибо. Я попробую Это сообщение отредактировал(а) Pilger - 24.2.2009, 18:15 -------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
||||||||
|
|||||||||
FINANSIST |
|
||||
Статус: Жив ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 11.4.2008 Где: Москва Репутация: 1 Всего: 23 |
Нет, он имеет ввиду
-------------------- “...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности” Эдуард Успенский, “Каникулы в Простоквашино” |
||||
|
|||||
Pilger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 10.5.2008 Где: Германия Репутация: нет Всего: нет |
FINANSIST, спасибо. Все сделал. Все работает
![]() -------------------- Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS Access" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS Access | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |