Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Access VBA

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

Открыть новую тему     Написать ответ в эту тему

Guest

BANNED
Редактировать | Цитировать | Сообщить модератору
   
 
Обсуждаем вопросы только по Access VBA
(программирование макросов, скриптов, пользовательских функций и т.п.).
Приветствуются ссылки на ресурсы и справочную литературу по теме.

 

NB! Дублирующая тема VBA for Access закрыта во избежание путаницы. Оставлена эта, как более ранняя и имеющая больше сообщений.

Смежные темы:
Помощь в создании SQL-запросов: SQL запрос
Программы » Microsoft Office 2019 & 365 | 2016 | 2013 | 2010 | 2007 | 2003
Программы » OneNote | Outlook 2013 & 2016 & 2019 | Outlook 2010 | Microsoft Mathematics & Math Solver
Программы » Word FAQ | Excel FAQ | Access FAQ
Прикладное программирование » Word VBA | Excel VBA
Андеграунд » Microsoft Office 2019 | 2016 | 2013 | 2010 | 2007 | 2003
Андеграунд » OneNote | Visio | SharePoint Server | Project Server | Exchange Server
Андеграунд » Надстройки (add-ins) и коммерческие макросы Excel
Андеграунд » Самостоятельная сборка дистрибутивов Оffice 2007/2010/2013/2016 | MUI для Office 2007
----------
Как в Access перместить запись из одной таблицы в другую (допустим по нажатию кнопки на форме)?

Отправлено: 18:31 05-09-2002 | Исправлено: ALeXkRU, 17:14 03-08-2021
GSkva

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
[/q]

Цитата:
А зачем делать импортирование базы из-за нового отчета или кнопки? Разделять базу не пробовал?

Вот именно что незачем!

Цитата:
как Вы будете объяснять ленивому клиенту, куда сохранить новую базу?

никак он нажмет кнопку обновить, а остальное сделает программа
 
 
Половину вопроса решил
 
 
 
Добавлено:
[q]А зачем делать импортирование базы из-за нового отчета или кнопки? Разделять базу не пробовал?

в том то и дело что не за чем, это не мое предложение было.
 
Половину вопроса решил:
DoCmd.TransferDatabase acImport, "Microsoft Access", Fname, acModule, "upgrade", "upgrade"
т.е. клиент только укажет файл с обновлением Fname через диалог.
 
Итак есть в старой базе новый модуль "upgrade". Как запустить из него процедуру "upg" на исполнение?

Всего записей: 7 | Зарегистр. 31-01-2011 | Отправлено: 12:23 15-02-2012
aidomars



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я в третий раз спрашиваю, база разделена у тебя?

Всего записей: 982 | Зарегистр. 23-04-2007 | Отправлено: 16:27 15-02-2012
GSkva

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нет не разделена!!!! не зачем разделять. Если нужно будет поменять структуру таблиц то разделение не поможет!

Всего записей: 7 | Зарегистр. 31-01-2011 | Отправлено: 18:53 16-02-2012
S Mole TT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток, уважаемые!
Прошу помощи. access 2007.
Хочу сделать в таблице Столбец подстановок, источником строк в котором будет SQL запрос.  
Типа такого  
SELECT Кабеля.[Коробка соед]
FROM Кабеля
WHERE Кабеля.[Расположение коробки] = значение
 
А значение должно браться из соседней ячейки в этой же строке.
 
Как получить содержимое ячейки и как передать его в запрос?  
Спасибо.

Всего записей: 9 | Зарегистр. 25-03-2012 | Отправлено: 01:05 25-03-2012
novo_again



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SQL запрос сам по себе выполняет функцию подстановки - выдает все коробки соед. с одним расположением коробки, заданным в условии.

Всего записей: 244 | Зарегистр. 17-02-2003 | Отправлено: 10:06 25-03-2012
S Mole TT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все верно. Если это условие фиксированное и его прописать зарание. Но у меня задача другая. Условие должно быть динамичным, и менятся в зависимости от того в какой строке происходит ввод данных.

Всего записей: 9 | Зарегистр. 25-03-2012 | Отправлено: 20:27 25-03-2012
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
S Mole TT
При переходе на строку перед запуском селекта получить значение поля-критерия в переменную. Затем использовать в селекте как параметер.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 20:56 25-03-2012
S Mole TT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
Именно это я и хочу сделать, только незнаю как

Всего записей: 9 | Зарегистр. 25-03-2012 | Отправлено: 21:06 25-03-2012
novo_again



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не совсем тогда понимаю, что такое "Столбец подстановок". Если это обычное поле, которое дает возможность ввести значение из выпадающего списка - зачем чего-то динамически менять, когда можно для каждого поля прописать все заранее...

Всего записей: 244 | Зарегистр. 17-02-2003 | Отправлено: 21:07 25-03-2012
S Mole TT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
novo_again
Совершенно верно, столбец полстановок это выпадающий список значение в который берутся или из таблицы или запроса. Только в моем случае выпадающий список содержит очень много значений, палец устанет колесико крутить, пока нужное значение найдешь. Вот и хочу ограничить этот список только допустимыми значениями.

Всего записей: 9 | Зарегистр. 25-03-2012 | Отправлено: 21:17 25-03-2012
novo_again



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ИМХО: Вы сосредоточились не на том. Столбец подстановок нужен для выбора всего лишь из нескольких значений. Использовать для этого как источник большую таблицу противоречит логике (ИМХО).

Всего записей: 244 | Зарегистр. 17-02-2003 | Отправлено: 21:49 25-03-2012
S Mole TT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если источником строк в Столбце подстановки использовать таблицу то да, значений очень много и это не удобно. Поэтому я хочу как источник строк использовать запрос который вернет 5-7 значений. Только мне надо ему передать параметр. Для каждой строки в таблице он будет свой,и расположен он в соседней ячейке. Нужно только как-нибудь его вычленить и передать.

Всего записей: 9 | Зарегистр. 25-03-2012 | Отправлено: 21:59 25-03-2012
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
S Mole TT
Сначала объясните, что является "этой строкой", а что такой строкой не является.  
И как собственно получаете саму строку.
Покажите логику работы скрина. Что делает юзер и что должна сделать программа.
 
PS. Сколько уникальных значений в поле Кабеля.[Расположение коробки] ?
     Похоже, что вам может подoйти один из способов.
1.Изначально сделать содержимое выпадающего списка не динамическим, а постоянным по запросу
Код:
SELECT DISTINCT [Расположение коробки] FROM Кабеля

2.Сделать постоянную таблицу-справочник для возможных [Расположение коробки] и использовать ее как источник данных для выпадающего списка.
В Кабеля вносить значение поля ID из этой таблицы

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 05:03 26-03-2012 | Исправлено: dneprcomp, 10:30 26-03-2012
S Mole TT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
Строка - это запись в таблице, состоящая из десятка полей.
Значения в эту строку вносит пользователь заполняя таким образом БД.
Пишу это дело только для себя, дабы автоматизировать свой труд. Поскольку для себя то красивости мне никчему -  никаких форм не использую, просто создал таблицы и пошел их заполнять.
Не совсем понимаю что значит  "показать логику работы скрина".... Если это логика связей таблиц, то:
 
 
 
Добавлено:
Подробнее...

Всего записей: 9 | Зарегистр. 25-03-2012 | Отправлено: 19:28 26-03-2012 | Исправлено: S Mole TT, 21:06 26-03-2012
novo_again



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имхо, здесь как раз подойдет минимальное украшательство - в формочке уже есть где разгуляться и как передать фильтр... В любом случае, попробуйте допполя в выпадающем списке, они позволят отсортировать и сгруппировать коробки

Всего записей: 244 | Зарегистр. 17-02-2003 | Отправлено: 21:38 26-03-2012
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
S Mole TT
Исходя из приведеного описания структуры базы и связей между таблицами, попробуйте:

Код:
SELECT [Кабеля].[Коробка соед]  
FROM [Кабеля] INNER JOIN [Производственные зоны] ON [Производственные зоны].[расположение коробки] = [Кабеля].[расположение коробки] INNER JOIN [Приборы] ON [Приборы].[расположение коробки] = [Производственные зоны].[расположение коробки]  
WHERE [Приборы].[расположение коробки] = значение  

Как то так Возможно будет ошибка. Тогда попробуйте изменить INNER JOIN
Без реальной базы, умозрительно, тяжело представить реальные связи таблиц.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 22:49 26-03-2012 | Исправлено: dneprcomp, 22:51 26-03-2012
S Mole TT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Запрос то я пишу, только как мне туда значение передать? Если так сделать то при получения фокуса на ячейку ввода выскакивает окно ввода переменной "Значение", вводишь значение, выполняется запрос и пыпадает нужный мне список. Тогда весь смысл выпадающего списка теряется...  
Как сделать чтобы окно ввода не появлялось?

Всего записей: 9 | Зарегистр. 25-03-2012 | Отправлено: 12:43 27-03-2012
novo_again



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А что если сделать форму в виде таблицы? Там уже можно покрутить данными, обратившись к ним через Forms!Кабеля.Коробка.

Всего записей: 244 | Зарегистр. 17-02-2003 | Отправлено: 12:56 27-03-2012
S Mole TT

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Думаю, мне по получению фокуса на ячейке необходимо автозапуск макроса, который определит значение в ячейке и изменит сохранненый запрос, заменив в нем значение переменной "Значение". После этого макрос запустит на выполнение "подправленный" запрос. Когда-то давно я делал нечто похожее на 2003 access-е. А в этом,блин, я даже немогу понять как записать макрос....
novo_again
А без формы доступ к ячейкам таблицы получить нельзя?

Всего записей: 9 | Зарегистр. 25-03-2012 | Отправлено: 13:02 27-03-2012 | Исправлено: S Mole TT, 13:04 27-03-2012
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
S Mole TT

Цитата:
Как сделать чтобы окно ввода не появлялось?

А вот это уже зависит от той самой логики работы скрина.
В приближении, при выборе юзером расположения на потерю фокуса контрола выбранное зачение заносится в переменную. Эту переменную используем как авто параметер селекта. На ивент получения фокуса выпадающим списком пишется его обновление.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 18:40 27-03-2012 | Исправлено: dneprcomp, 18:43 27-03-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Access VBA


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru