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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Kreol2010

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

Цитата:
Как элегантно сделать?  
Есть базаданных MS Access, прямая ссылка:  
 
http://www.rvn.kiev.ua/upload/SubGroup.zip (11 кБ)  
 
Хочу, чтобы при заполнении таблицы "Order" в поле "Store_ID" были предоставлены к выбору только те значения готорые относятся к группе, выбранной в поле "Group_ID".  
 
Можно ли обойтись без форм, пусть даже с использованием кнопки "Обновить".  
 
И как это сделатть красиво с применением форм.  
 
Есть ли устоявшееся решение этого вопроса?  

 
Можно, берешь рисуешь таблицу такого плана  
id такойто  
 лалала
 бабаба
id такойто 2
 ...
...
и тд.
 
пишешь на ВБ выборку - что данному ID отвечает то-то, и потом ставишь например сделать по потере фокуса и все, в твоем поле будет только то что соответствует данному ID , хотя такая конструкция иногда глючит, просто не хочет отображать но бывает крайне редко. Если захочешь подробнее стучи в асю

Всего записей: 3 | Зарегистр. 13-10-2008 | Отправлено: 09:21 13-10-2008
Bovo1k

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сделал так: Ссылка (22 кБ)
 
Но как-то не красиво и поля в форме друг на друга наложены, это, вообще, нормальный прием - накладывать поля?
 
Дайте примеры других вариантов реализации?
 
Добавлено:

Цитата:
Можно, берешь рисуешь таблицу такого плана  
id такойто  
 лалала  
 бабаба  
id такойто 2  
 ...  
...  
и тд.  
 

 
Дай пример?

Всего записей: 7 | Зарегистр. 09-11-2006 | Отправлено: 11:11 13-10-2008 | Исправлено: Bovo1k, 11:24 13-10-2008
Kreol2010

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что ты имеешь ввиду под наложением полей.
Вот те пример, рабочий правда немного конечно замутный, но под руками сас ничего больше нет да и времени маловато. Работаем ....
 
Там так выбираешь раду, нажимаешь ентер и потом выбераешь село.
 
http://depositfiles.com/files/8719842
 
Деспозитфайл № 8719842

Всего записей: 3 | Зарегистр. 13-10-2008 | Отправлено: 12:33 13-10-2008 | Исправлено: Kreol2010, 12:57 13-10-2008
Bovo1k

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

Цитата:
Что ты имеешь ввиду под наложением полей.

В форме "Order" моего примера, друг на друге лежат "Поле" и "Поле со списком".
Спасибо за пример. Очень много кода вручную. Мне кажется, мой вариант проще.

Всего записей: 7 | Зарегистр. 09-11-2006 | Отправлено: 14:11 13-10-2008
Kreol2010

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну для разных целей разные средства

Всего записей: 3 | Зарегистр. 13-10-2008 | Отправлено: 15:47 13-10-2008
jackdenis

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

Всего записей: 4 | Зарегистр. 27-10-2008 | Отправлено: 10:41 28-10-2008
Dixi257



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jackdenis
Set Forms!Заказы!ЭлементOLE.Picture = LoadPicture("Stars.bmp")
Пример из справки MSA.

Всего записей: 128 | Зарегистр. 24-08-2005 | Отправлено: 17:17 30-10-2008
MaximuS G

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

Всего записей: 113 | Зарегистр. 15-08-2008 | Отправлено: 11:10 31-10-2008
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MaximuS G
Это касается не Access, а общей теории реляционных баз.
Таблица ДОЛЖНА содержать по крайней мере один потенциальный ключ, т.е. уникальное поле или комбинацию полей. Удобнее всего, когда это будет именно одно поле, а не комбинация, для этой цели служит счетчик. Он гарантирует, что в данной таблице никогда не будет повторяющихся значений поля.

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 17:22 31-10-2008
dneprcomp



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

Цитата:
Он гарантирует, что в данной таблице никогда не будет повторяющихся значений поля
Не только для уникальности. Еще и для индексации. Что сильно ускоряет работу базы.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 20:37 31-10-2008
CEMEH



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Начал осваивать Access. Появились вопросы.
 
Итак. Создаю бд. В ней есть таблица1 в которой один столбец -  подстановка из другой таблицы2.
В идеале при заполнении значения в этот столбец можно выбрать из раскрывающегося списка но не ограничиваться им.  Если появляется новое значение, то оно должно появиться и в таблице2. Но пока ничего не работает.  В свойствах "подстановка" пытаюсь выбрать значение "нет" к параметру "ограничится списком" но всплывает сообщение.  
В данное время приложению "microsoft office access" не удается задать для свойства "ограничиться списком" (LimitToList) значение "Нет".
Первый отображаемый столбец, определяемый свойством "Ширина столбцов" не соответствует присоединенному столбцу. Измените значение "Ширина столбцов", а затем установите значение свойства "ограничиться списком"

Что за геморой? Менял ширину столбцов (а при чем тут ширина?) все равно ничего не работает. Подскажите решение. (и будут ли добавляться значения в таблицу2 ?)

Всего записей: 237 | Зарегистр. 17-09-2006 | Отправлено: 18:22 02-11-2008
MaximuS G

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
MrZeRo
Спасибо, ничего не понятно, ну да ладно ... все также как и в VBA, начинать с начала Хорошо что форум активный...

Всего записей: 113 | Зарегистр. 15-08-2008 | Отправлено: 11:57 03-11-2008
MrZeRo



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

Цитата:
Спасибо, ничего не понятно

Ну так трудно уложить содержание нескольких десятков страниц книги по базам данных в одну фразу ...  
 
Могу еще порекомендовать посмотреть какие-нибудь простые примеры готовых баз, может, прояснится. С Access поставляется какая-то, не помню как называется.
 


----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 17:03 04-11-2008
Chichako



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MaximuS G
 
2 столбца
1-номер - ключевое поле
2-имя
 
Пример:
1 Иван
2 Иван
3 Иван
 
И пусть в реальности это 3 разных Ивана, но базе это АБСОЛЮТНО по барабану - различить их она сможет только по самому ключевому полю. И не так для нее важно, что у этих Иванов могут быть разные фамилии, номера пасспортов и т.п. - чтобы понять - о каком точно Иване идет речь ей будет достаточно указать этот самый номер из ключевого поля.
 
А счетчик - чтобы не заморачиваться с присвоением уникальных номеров - он ведь может быть и не подряд и случайными числами и т.п. главное, это обеспечить, чтобы не оказалось двух одинаковых номеров в ключевом поле...

Всего записей: 23 | Зарегистр. 02-04-2004 | Отправлено: 11:00 06-11-2008
dneprcomp



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

Цитата:
И не так для нее важно, что у этих Иванов могут быть разные фамилии, номера пасспортов и т.п. - чтобы понять - о каком точно Иване идет речь ей будет достаточно указать этот самый номер из ключевого поля.

Разовьем?
Можно ведь и по фамилии, и по паспарту... И вообще без уникального номера
Но уникальный ключ должен быть создан все равно. Просто мы сделаем его составным из нескольких полей. Т.о. сочетание Имени, Фамилии почти уникально определит Ивана в базе. Почти - потому как возможны полные тезки. А почти уникально для баз данных не проходит. Значит надо добавлять третье поле в ключ.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 01:15 07-11-2008
MrZeRo



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

Цитата:
 Если составной первичный ключ не используется в качестве внешнего во многих таблицах - используйте его. В противном случае серьезно задумайтесь над использованием суррогатного ключа на базе последовательности (а про "пропуски" значений не думайте вовсе - важно, что получается уникальный идентфикатор).

Под суррогатным ключем понимается поле типа "счетчик". Полное обсуждение можно почитать:
hччp://www.ln.com.ua/~openxs/projects/oracle/ora046.html
Тот факт, что таблица, первичный ключ которой не используется в качестве внешнего ключа, - редкость, является обоснованием выдвинутого тезиса.

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 17:32 07-11-2008 | Исправлено: MrZeRo, 17:35 07-11-2008
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo
Что-то я не разобрался.
Цитата:
Если составной первичный ключ не используется в качестве внешнего во многих таблицах - используйте его.


Цитата:
В каждой таблице должно быть поле типа "счетчик" - оно же первичный ключ. И точка
Каким образом соотносятся эти два мнения? Насколько я понял приведеную цитату, человек рекомендует использовать - при наличии - составной ключ. А если его нет, то чтож, добавить суррогатный. Т.е. искуственный, не натуральный , но все же исполняющий свою функцию.
 
 
Добавлено:
Из того же источника:

Цитата:
Можно добавить еще одно поле в таблицу в качестве "первичного ключа", но это не снимает необходимости добавления ограничения уникальности по данным трем полям. Если на первичный ключ придется ссылаться во внешних ключах многих таблиц, имеет смысл использовать суррогатный ключ. Если внешних ключей немного, я бы просто использовал составной первичный ключ.


Цитата:
Я считаю, что составные ключи прекрасно работают и могут использоваться при наличии внешних ключей
Т.ч. "И точка" несколько не звучит. Как всегда, все зависит от всяческих прчих условий.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 19:47 07-11-2008
recvezitor

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Собственно мне нужно экспортировать отчет в Ворд. Проблем никаких нет. Но в полученном отчете разделение на колонки генерится с помощью табов, а мне бы желательно, чтобы он помещал все в таблицы. Возможно ответ простой (и нужно чтобы он был простой), но я никак не могу найти нужную настройку.
MS Office 2003 SP2

Всего записей: 95 | Зарегистр. 21-11-2006 | Отправлено: 06:40 13-11-2008 | Исправлено: recvezitor, 06:41 13-11-2008
Vitus_Bering



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

Цитата:
чтобы он помещал все в таблицы.

Нет такой возможности...

Всего записей: 936 | Зарегистр. 30-09-2005 | Отправлено: 09:54 13-11-2008
Adamastis

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здраствуйте!
Помогите мне пожалуйста, я в Аццессе не очень(точнее вообще толком ничего не знаю), мне надо создать как бы запрос которая с таблицы "СТУД" будет брать поля под именами "1", "2", "3", "4", и вычислять с них среднее арифметическое... Зарание Спасибо

Всего записей: 1 | Зарегистр. 17-11-2008 | Отправлено: 19:22 17-11-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 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