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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как переместить строчку из одной таблицы в другую 
V
    Опции темы
DelphianOracle
Дата 7.4.2008, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



У меня есть форма, не привязаная к таблице. На форме есть список (List) в котором отображается одна таблица. Мне надо по нажатию на кнопку копировать или переместить выбранную строчку в другую таблицу. Как это сделать?
MSDN не помогает... :(
PM MAIL   Вверх
Akina
Дата 7.4.2008, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



У контрола есть свойство ItemsSelected. Это коллекция выделенных в данный момент записей. Можно обработать ее - для каждой записи коллекции получить значение ключа и выполнить запрос, который скопирует или переместит запись с этим ключом в требуемую таблицу. После чего, если выполнялось перемещение, нужно перезапросить источник данных контрола.


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

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


Шустрый
*


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

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



Уважаемый Akina, я работаю с Access второй раз в жизни, так что пожалуйста, объясните попопулярнее...
Как создать такой запрос и передать ему входной параметр?
PM MAIL   Вверх
FINANSIST
Дата 14.4.2008, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

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



Так копировать или переместить?
И что именно, только выбранное значение в листбоксе, или всю запись ( а может быть все записи) с полным набором аналитик, имеющим в качестве отборочного признака значение листбокс??? 



--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
DelphianOracle
Дата 16.4.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Копировать, а затем изменить и то что копировалось, и то, что получилось. И всю запись.
у меня примерно вот что:
гвозди | 21 шт | что-нить еще...
нажимаю кнопку "списать" например, 10 шт. Должно получиться:
гвозди | 11 шт | что-нить еще...
И в другой таблице
гвозди | 10 шт | что-нить еще...
Я сделал копирование через запрос на добавление. Теперь мне надо разобраться с количеством...
Если можно, помогите...
PM MAIL   Вверх
Akina
Дата 17.4.2008, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(DelphianOracle @  16.4.2008,  13:22 Найти цитируемый пост)
Теперь мне надо разобраться с количеством

Сделайте еще и запрос на обновление.


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

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


Шустрый
*


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

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



Запрос на обновление... на обновление чего?
Добавленая запись будет последней, но как узнать ее номер?
А можно как-нибудь напрямую из VBA обратиться к таблице для изменения?
И, кстати, можно ли как-нибудь объявить переменную, которая виделась бы из построителя выражений для запросов?
PM MAIL   Вверх
Palarm
Дата 22.4.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата
И, кстати, можно ли как-нибудь объявить переменную, которая виделась бы из построителя выражений для запросов?

В сохраненном запросе нельзя ссылаться на переменную, но можно ссылаться на функцию, возвращающую результат. Для этого она должна находиться в общем модуле. Тогда в конструкторе запросов можно подставить вызов функции (она станет там видна в списке «Функции»). То есть:

WHERE Таблица _1.Поле_1= myFun()

Если запрос собирается в VBA, то аналогично ссылке на поле формы в условиях отбора прописать ссылку на переменную.

"WHERE Таблица _1.Поле_1=" & myVar

если переменная текстовая, тогда нужно оградить ее одинарными апострофами

"WHERE Таблица _1.Поле_1='" & myVar & "'"

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


Эксперт
***


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

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



Я бы формировал бы запрос с параметрами, так надежней и сопровождаемо. Или накрайний случай запрос в коде:

CurrentDb.Execute "INSERT INTO  .... SELECT  ... FROM .... WHERE ..."
CurrentDb.Execute "UPDATE .... SET .... WHERE .. "
PM MAIL WWW ICQ Skype GTalk   Вверх
DelphianOracle
Дата 24.4.2008, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

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

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

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


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

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


 




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


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

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