Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Tru la la
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 5
#1

Oбновление выбранных данных в таблице (без запроса на обновление)

23.04.2012, 12:35. Просмотров 1505. Ответов 10
Метки нет (Все метки)

Всем привет!
Помогите решить задачку.
Есть таблица в которой фильтром отбираем данные. Потом в определенной колонке надо заменить отобранные значения на новые, элементарный Paste. Проблема в том, что access не разрешает вставлять скопированные данные во всю колонку, а вставляет только в текущую ячейку.
Решил написать короткий макрос на кнопку, но не помню как сослатся на выбранные ячейки в таблице. Что-то крутитсы в памяти что-то типа ItemsSelected...
Please help!


Пы.Сы. Запросы на обновление не предлагать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2012, 12:35
Ответы с готовыми решениями:

Правильность созданного запроса на обновление данных в таблице
Всем добрый вечер! Хочу проконсультироваться, правильно ли создал запрос на...

Обновление данных в таблице
Есть таблица в аксесе по типу: Поле1 Поле2 Поле3 знач1 знач3 знач5 знач2...

Обновление данных в таблице
Доброго времени суток, друзья. Нужна помощь в реализации запроса. Есть простая...

Обновление данных в таблице
есть форма. на ней подчиненная. в подчиненную форму вводятся данные x и y, на...

Обновление данных в таблице
Нужно сделать следующий запрос: "Уменьшить на 10% стоимость тех заказов,клиент...

10
Agapov_stas
3336 / 1739 / 82
Регистрация: 05.08.2010
Сообщений: 4,446
Завершенные тесты: 1
23.04.2012, 12:41 #2
Цитата Сообщение от Tru la la Посмотреть сообщение
что-то типа ItemsSelected...
Вообще-то, насколько я знаю, таблицы не имеют событий..

Ну, если:
Цитата Сообщение от Tru la la Посмотреть сообщение
Пы.Сы. Запросы на обновление не предлагать
и
Цитата Сообщение от Tru la la Посмотреть сообщение
Проблема в том, что access не разрешает вставлять скопированные данные во всю колонку, а вставляет только в текущую ячейку.
Тогда VBA. Но это, лишь если на форме...

А вообще, вот это-->
Цитата Сообщение от Tru la la Посмотреть сообщение
Есть таблица в которой фильтром отбираем данные. Потом в определенной колонке надо заменить отобранные значения на новые, элементарный Paste.
Есть очень плохо. Работают с формами(если так нужно, то в табличном представлении), а никак не напрямую с таблицами..

Если пользователю дать возможность залазить во внутрь БД..Представляете ЧТО там может произойти?
2
Tru la la
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 5
23.04.2012, 14:29  [ТС] #3
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Вообще-то, насколько я знаю, таблицы не имеют событий..

Ну, если:

и

Тогда VBA. Но это, лишь если на форме...

По ходу это мой единственный выход (форма с табличным представлением).Спасибо за идею!
Вот только как в VBA написать чтоб менялись именно выбранные данные?


А вообще, вот это-->

Есть очень плохо. Работают с формами(если так нужно, то в табличном представлении), а никак не напрямую с таблицами..

Если пользователю дать возможность залазить во внутрь БД..Представляете ЧТО там может произойти?
Да уж, представляю
0
Agapov_stas
3336 / 1739 / 82
Регистрация: 05.08.2010
Сообщений: 4,446
Завершенные тесты: 1
23.04.2012, 14:35 #4
Цитата Сообщение от Tru la la Посмотреть сообщение
Вот только как в VBA написать чтоб менялись именно выбранные данные?
Думаю так.(пошагово):
1. Создать форму(пусть frmФильтр)
2. Создать подчиненную форму( пусть podfrmФильтр) в табличном представлении и поместить ее на основную.
3. Создать поля на основной форме, по которым сортировать данные подчиненной формы.
4. Создать кнопку "Обновить".
5. По нажатию на кнопку обновлять уже отсортированные данные подчиненной формы, вводя в inputbox определенное значение.(можно еще и выбор поля сделать).

Как-то так...
0
Tru la la
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 5
23.04.2012, 14:51  [ТС] #5
Еще раз спасибо.
Первые 4 пункта стандартны и давно известны для меня.

Единственное что я не знаю как реализовать:
"По нажатию на кнопку обновлять уже отсортированные данные подчиненной формы"

Какая комманда в VBA обрабатывает выбранные в таблице данные?
0
Agapov_stas
3336 / 1739 / 82
Регистрация: 05.08.2010
Сообщений: 4,446
Завершенные тесты: 1
23.04.2012, 15:21 #6
Сваял по быстренькому пример.
Пошагово:
1. Ввести в Поле1 или Поле2 или Поле3 какое-либо значение(которое есть в подчиненной форме, естественно)
2. Нажать "Отсортировать". Данные подчиненной формы отсортируются(для наглядности)
3. Правее выбрать поле, которое необходимо изменить. Выбрать значение для выбранного поля.
4. Нажать "Обновить"
5. В подчиненной форме значение поля изменится на то, которое ввели.

В VBA посмОтрите, как все реализовано, все достаточно просто..
1
Вложения
Тип файла: rar db_Tru_la_la.rar (16.1 Кб, 37 просмотров)
alvk
Эксперт MS Access
5574 / 3470 / 168
Регистрация: 12.08.2011
Сообщений: 8,823
23.04.2012, 16:00 #7
Цитата Сообщение от Tru la la Посмотреть сообщение
Проблема в том, что access не разрешает вставлять скопированные данные во всю колонку, а вставляет только в текущую ячейку.
А расскажите мне пожалуйста про колонки и ячейки в Акцесс, весьма интересно, хоть подтянусь по теме
0
Tru la la
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 5
23.04.2012, 19:46  [ТС] #8
это не повод для стеба ....

Добавлено через 3 часа 9 минут
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Сваял по быстренькому пример.
Пошагово:
1. Ввести в Поле1 или Поле2 или Поле3 какое-либо значение(которое есть в подчиненной форме, естественно)
2. Нажать "Отсортировать". Данные подчиненной формы отсортируются(для наглядности)
3. Правее выбрать поле, которое необходимо изменить. Выбрать значение для выбранного поля.
4. Нажать "Обновить"
5. В подчиненной форме значение поля изменится на то, которое ввели.

В VBA посмОтрите, как все реализовано, все достаточно просто..
Огромное спасибо!!!!
У меня остался только один вопрос - если я пользуюсь обычным фильтром а потом пытаюсь обновить поля, то получаю обновление во всем столбце независимо от того что я отобрал данные фильтром. Вопрос - как обновить поля отфильтрованные в подчиненной форме?
P.S. А что это за синтаксис "WHERE true"?
0
alvk
Эксперт MS Access
5574 / 3470 / 168
Регистрация: 12.08.2011
Сообщений: 8,823
24.04.2012, 03:28 #9
Цитата Сообщение от Tru la la Посмотреть сообщение
это не повод для стеба ....

Не по теме:

Это мне решать, повод или не повод.



Цитата Сообщение от Tru la la Посмотреть сообщение
то получаю обновление во всем столбце независимо от того что я отобрал данные фильтром.
Вам нужно работать с recordsource, менять его с помощью условия (where), соответственно и обновлять таблицы с теми же условиями в запросе на обновлении.
Поищите примеры фильтров на форуме, их полно.
0
Agapov_stas
3336 / 1739 / 82
Регистрация: 05.08.2010
Сообщений: 4,446
Завершенные тесты: 1
24.04.2012, 08:49 #10
Цитата Сообщение от Tru la la Посмотреть сообщение
если я пользуюсь обычным фильтром а потом пытаюсь обновить поля, то получаю обновление во всем столбце независимо от того что я отобрал данные фильтром.
А вы не пользуйтесь фильтром(я лично меняю рекордсоурс подчиненной формы, обычно)..
Чтоб обновить поле где-то конкретно, необходимо указать условие для обновления..Т.е. по какому признаку будет обновляться то или иное поле..
В приложенном примере все ведь показано..Условие Where применяешь и для инструкции Update, тогда обновлять поле будет именно там, где отфильтровали..
Иначе, можно добавить еще одно поле в таблицу с флажком, и в подчиненной форме где флажок=True, можно обновлять поле...Только смысл, если все делается достаточно просто через условие Where..

Не по теме:

Цитата Сообщение от Tru la la Посмотреть сообщение
это не повод для стеба ....
ИМХО, а причем тут "стеб" ?...в фразе alvk как раз есть над чем подумать и что принять.
Понимание терминов достаточно упрощает понять НАМ что Вы хотите. А так же ВАМ легче будет сообразить, что ВЫ хотите!:)
Никакого "стеба" не было вовсе..(ИМХО, конечно)
Не так давно я на эту же тему в другой ветке форума общался(если так можно выразиться..).

0
Tru la la
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 5
26.04.2012, 11:39  [ТС] #11
Всем спасибо за комментарии и советы!
В итоге благодаря коллеге и вашим идеям было сознано следущее: две формы main и sub.
На главной форме: кнопка и поле для ввода данных на которые будет обновляться отфильтрованные данные вложенной формы (в табличном виде).
На кнопку прицепили:

Dim s1$
Dim a As String
a = Me.Название поля для ввода данных.Value
s1 = "Update Название таблицы Set Название поля = " & a & "' WHERE true "

CurrentProject.Connection.Execute (s1)
Me.[Название саб формы].Requery

Работает
Спасибо Юле! Умница!
0
26.04.2012, 11:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2012, 11:39

Обновление данных в таблице, ADO
Доброго времени суток. Такая конструкция работает: DoCmd.RunSQL "UPDATE...

Обновление данных в таблице програмно
Доброго времени суток дело вот какое Имеется две таблици В одной остатки по...

Обновление данных в таблице результатов
Всем здравствуйте. Помогите разрешить маленькую проблемку. Есть 2 таблицы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru