Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Access VBA

Автор: MUSICFROMWEB
Дата сообщения: 15.08.2008 08:51
все mdb меняются часто ежедневно или по нескольку раз в день.

попробую разобраться с sql server
может что-то выйдет
Автор: EZH
Дата сообщения: 17.08.2008 23:22
MUSICFROMWEB
А подобный запрос пробовал?

Код:
select a.* from
(
select 'имя_таблицы1', поле_поиска
from таблица1 in 'путь\файл1.mdb'
UNION
select 'имя_таблицы2', поле_поиска
from таблица2 in 'путь\файл2.mdb'
) a
where a.поле_поиска ...
Автор: terence
Дата сообщения: 19.08.2008 19:23
товарищи, подскажте, как заставить Access, при нажатии кнопки(которую разместил на форме) загружал данные из файла xls, и помещал в свою базу определённыю ячеку из экселя в ячейку своей базы.

это нужна для того , что бы кучу таких файликов экселя, которе заполнены по единой форме, забрости в единую БД, что бы потом можно было искать и просматривать эту инфу
Автор: aulo
Дата сообщения: 06.09.2008 11:07
Коллеги, доброго времени суток!

Помогите решить следующую проблему.
Есть некая база данных (мдб). База выложена на сервер, где с ней одновременно работают несколько десятков (до 30-40) пользователей, внося (через форму ессно) данные в основную таблицу. Таблица содержит неск. сотен тысяч записей, в которых пользователи заполняют пустые поля. Учётных записей в базе нет, все работают под админами (хотя большинство об этом не знают )(это зависит не от меня).
Так вот задача. Среди заполняемых полей есть поле "Сотрудник", куда пользователь, редактирующий запись, вносит свои ФИО. Есть, разумеется, выпадающий список с автоподстановкой, откуда юзер может черпать свои ФИО, но хотелось бы, чтобы это поле заполнялось автоматически или, например, при нажатии на кнопку. Засада в том, что одновременно работают несколько пользователей под одной записью.

Что делать????????????????
ыы????????????

Если мыслей много, пишите все!
Автор: A Ashes
Дата сообщения: 01.10.2008 21:12
Здравствуйте!
Нашел этот форум, в отчаянии блуждая по просторам интернета...
Собственно причина моего отчаянья следующая - на могу справится с MS Access... И вроде, не то, что бы совсем чайник...
ИТАК: имеем три компьютера объединенные в локальную сеть и базу данных, которую надо заставить работать одинаково (с равными правами доступа) со всех трех машин.
База данных досталась нам от "предыдущих поколений" в таком виде - MS Access, 2 файла с расширением .mdb Один из них "тяжелый" 10мегов примерно и при клике на него открывает совокупность таблиц, второй - в 10 раз "легче" и при клике на него открывается нормальная и пригодная для работы кнопочная форма.

Теперь проблема: эта пара файлов работает только при условии, что "тяжелый" файл лежит на диске С:
При этом, местоположение "легкого" файла значения не имеет.
Если "тяжелый" файл лежит в любом другом месте ( например на расшаренной папке или сетевом диске) то непосредственный клик по нему по-прежнему открывает совокупность таблиц, а вот клик по "легкому" файлу не открывает ничего - выскакивает сообщение об ошибке № 3044 (Строка <путь> задает ошибочный путь. Проверьте, что путь задан правильно и имеется подключение к серверу, на котором находятся файлы. (Ошибка 3044) ) В результате мы можем работать только на одном компе...
ВНИМАНИЕ - ВОПРОС!!! как эту ошибку исправить??? Где надо исправить адрес?
Автор: dneprcomp
Дата сообщения: 01.10.2008 21:44
A Ashes
То что имете 2 файла, это такой прием в базостроении. Разделяют данные и бизнес-логику с интерфейсом. Большая база - собственно даные. Малая - интерфейс доступа к даным в большой. Самих даных в ней нет.
Исправлять в малой.
Автор: A Ashes
Дата сообщения: 01.10.2008 21:50
Спасибо, что быстро отозвались, согласен с Вами полностью! Проблемма в том, что не могу понять - как исправить? Как мне открыть/редактировать этот "легкий" файл? в каком редакторе?
Я уже все перепробовал... Даже пытался этот файл в разных текстовых редакторах открывать и тупо менять строка "C:\base\имя "тяжелого" файла " на допустим "D:\base\имя "тяжелого" файла " или подобным образом переадресовывать его на расшаренную папку базового компа... Но в этих случаях "легкий" файл просто перестает открываться вообще...
Автор: dneprcomp
Дата сообщения: 01.10.2008 23:31
A Ashes

Цитата:
Как мне открыть/редактировать этот "легкий" файл? в каком редакторе?

Только в самом Access. А чтобы редактировать, уж извините, надо разбираться в работе и програмировании БД. Там может и не в одном месте менять надо. Смотря как сделали.
Автор: A Ashes
Дата сообщения: 01.10.2008 23:40
получается - ситуация безнадежная?
Может быть посоветуете - как перелить данные в какую нибудь другую совместимую базу, что бы с локальной сетью дружила?
Автор: dneprcomp
Дата сообщения: 02.10.2008 02:15
A Ashes
Ситуация совершено не безнадежная. Надо просто понимать, что делаешь. Не совсем понимаю - перелить данные в какую нибудь другую совместимую базу для вас понятно как, а отредактировать привязку в базе - нет? Перелить + перенести интерфейс и логику потруднее пожалуй будет.
Найдите програмиста для Access. Он все исправит.

PS. Меньший файл точно с расширением mdb? Не mde?
Если mde, тогда все гораздо хуже и переделать врядли получится.
PSS. Можно теоретически держать базы локально на клиентах на C:\ и синхронизировать через сеть. Но это не оправданая в данном случае сильная головная боль. И все равно без програмиста не обойтись.
Автор: A Ashes
Дата сообщения: 02.10.2008 06:19
Оба файла - именно с расширениями .mdb
Что касается репликации и синхронизации баз - то мы примерно так и вынуждены поступать, но это действительно очень неудобно...
С програмистами плохо - у нас в больнице есть только три сисадмина, они эту проблему уже больше года "решают"...
Я понимаю, что исправить имеющуюся базу - вероятно проще - там всего то и нужно понять, как один фай переадресовать... Но доступные мне руководства по Access ничем не помогли, да и подготовки копьютерной нехватает...
PS: не могли бы Вы глянуть на этот наш "легкий" файл? Там около полутора-двух мегабайт всего - я бы мог выложить его на форум...
Автор: dneprcomp
Дата сообщения: 02.10.2008 19:09
A Ashes
Выкладывай.
Автор: druss01
Дата сообщения: 03.10.2008 09:44
Прошу помочь. Стоит винда х64. При создании ODBC-aliase для Аксессовской базы данных не могу выбрать (добавить) нужный драйвер в закладке "Системный DSN". Его просто там нет. Есть только драйвер SQL Server, а драйвер для Базы данный MS Acces и другие отсутсвуют. При этом MS Access устанавливал несколько раз (выборочная настройка установки и настройка по-умолчанию) - не помагает. Пересел на комп у родителей (стоит х32 винда), там все драйвера стоят. Я так понимаю, что специального МС Оффиса для х64 винды нет, а всё включено сразу в стандартный Оффисный дистрибутив. Так же пробывал устанавливать программу для работы с базами данных из OpenOffice.org... не помогло.
Вот для наглядности: http://www.sharemania.ru/0254107
На рисунке скрин закладки "Пользовательский DSN" после установки МС Аксесса и Аксесса ОpenOffice.org, вроде как драйвера есть, но при их настройке, удалении выдает ошибку "Не удается найти программу установки для драйвера ... Переустановите драйвер".

to Bozo
печально... на висте64 такая же проблема. Сейчас ищу здесь решение проблемы. Но если честно, не понимаю что они там делают: компить - из кода делать исполнительный файл, но что? как?.. чешу репу. если не трудно, разьясните пожалуйста. А на счёт виртуальной машины, спасибо огромное. Это самый простой вариант
Аааа !!! Я в ПАНИКЕ. Решил веб-страничку зделать, а получил геморой в з..д! Шёл дальше чесать репу.
Автор: Bozo
Дата сообщения: 03.10.2008 21:22
druss01
ODBC дров ни для Foxpro, ни для Access-а для 64-битки нет. Microsoft "заботится" о пользователях. Попробуй поставь висту, если и там нет, тогда как-то с помощью VS .NET придется извращаться

Добавлено:
Типа того http://www.gotdotnet.ru/Forums/Data/554802.aspx
Автор: A_Ashes
Дата сообщения: 04.10.2008 08:35

Цитата:


A Ashes
Выкладывай.


Прошу простить за длительное отсутствие на форуме и еще раз благобарю за помощь!
Вот "легкий" файл

http://files.mail.ru/5K9AMH

Спасибо/
Автор: dneprcomp
Дата сообщения: 04.10.2008 22:55
A_Ashes
1.Открывать базу с нажатым shift
2.Кликнуть 1
3.Правой мышью на любом table из 2
4.Кликнуть 3
5.Откроется 4
6. 5-й все-таки оставьте не отмеченым(я передумал )
7. Надо поменять/проверить привязку для всех таблиц 6
8.Для изменения привязки отмечаем в 6 и кликаем 7
Автор: A Ashes
Дата сообщения: 05.10.2008 10:31
ОГРОМНОЕ ВАМ СПАСИБО!!! Все получилось вполне понятно и логично
Наше отделение у Вас в долгу
Если вдруг, не дай Бог, потребуется мед.помощь в Москве или совет вообще - ICQ 334253072
Автор: softus
Дата сообщения: 09.10.2008 17:02
Здравствуйте, посоветуйте пожалуйста пример (книгу или mdb) с реализованым отношением многие ко многим,
интересуюют электронные версии.
Надо сделать так чтобы данные вносились через формы, а не просто связать таблицы..

в принципе подошлабы такая база, но внесение информация происходит с помощью VBA, что для меня сложновато... не могу разобраться...
http://slil.ru/26221300
Автор: Bovo1k
Дата сообщения: 12.10.2008 11:05
Как элегантно сделать?
Есть базаданных MS Access, прямая ссылка:

http://www.rvn.kiev.ua/upload/SubGroup.zip (11 кБ)

Хочу, чтобы при заполнении таблицы "Order" в поле "Store_ID" были предоставлены к выбору только те значения готорые относятся к группе, выбранной в поле "Group_ID".

Можно ли обойтись без форм, пусть даже с использованием кнопки "Обновить".

И как это сделатть красиво с применением форм.

Есть ли устоявшееся решение этого вопроса?
Автор: Kreol2010
Дата сообщения: 13.10.2008 08:21

Цитата:
Как элегантно сделать?
Есть базаданных MS Access, прямая ссылка:

http://www.rvn.kiev.ua/upload/SubGroup.zip (11 кБ)

Хочу, чтобы при заполнении таблицы "Order" в поле "Store_ID" были предоставлены к выбору только те значения готорые относятся к группе, выбранной в поле "Group_ID".

Можно ли обойтись без форм, пусть даже с использованием кнопки "Обновить".

И как это сделатть красиво с применением форм.

Есть ли устоявшееся решение этого вопроса?


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

пишешь на ВБ выборку - что данному ID отвечает то-то, и потом ставишь например сделать по потере фокуса и все, в твоем поле будет только то что соответствует данному ID , хотя такая конструкция иногда глючит, просто не хочет отображать но бывает крайне редко. Если захочешь подробнее стучи в асю
Автор: Bovo1k
Дата сообщения: 13.10.2008 10:11
Сделал так: Ссылка (22 кБ)

Но как-то не красиво и поля в форме друг на друга наложены, это, вообще, нормальный прием - накладывать поля?

Дайте примеры других вариантов реализации?

Добавлено:

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


Дай пример?
Автор: Kreol2010
Дата сообщения: 13.10.2008 11:33
Что ты имеешь ввиду под наложением полей.
Вот те пример, рабочий правда немного конечно замутный, но под руками сас ничего больше нет да и времени маловато. Работаем ....

Там так выбираешь раду, нажимаешь ентер и потом выбераешь село.

http://depositfiles.com/files/8719842

Деспозитфайл № 8719842
Автор: Bovo1k
Дата сообщения: 13.10.2008 13:11

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

В форме "Order" моего примера, друг на друге лежат "Поле" и "Поле со списком".
Спасибо за пример. Очень много кода вручную. Мне кажется, мой вариант проще.
Автор: Kreol2010
Дата сообщения: 13.10.2008 14:47
ну для разных целей разные средства
Автор: jackdenis
Дата сообщения: 28.10.2008 10:41
Привет Всем!!
Помогите с небольшой проблемкой. В значении переменной заложен адрес и имя файла(изображения). Надо на форме в элементе "Рисунок" показать изображение которое находится по адресу который в переменной забит. Огромное спасибо за помощь.
Автор: Dixi257
Дата сообщения: 30.10.2008 17:17
jackdenis
Set Forms!Заказы!ЭлементOLE.Picture = LoadPicture("Stars.bmp")
Пример из справки MSA.
Автор: MaximuS G
Дата сообщения: 31.10.2008 11:10
Всем привет!
Кто может достаточно подробно объяснить зачем в ACCESS желательно добавлять счетчик и ключевые поля? Или хотя бы ссылочку, где написано почти для чайников а не заумным языком
Спасибо!
Автор: MrZeRo
Дата сообщения: 31.10.2008 17:22
MaximuS G
Это касается не Access, а общей теории реляционных баз.
Таблица ДОЛЖНА содержать по крайней мере один потенциальный ключ, т.е. уникальное поле или комбинацию полей. Удобнее всего, когда это будет именно одно поле, а не комбинация, для этой цели служит счетчик. Он гарантирует, что в данной таблице никогда не будет повторяющихся значений поля.
Автор: dneprcomp
Дата сообщения: 31.10.2008 20:37
MaximuS G

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

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

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

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445

Предыдущая тема: BDE - траблы, помогите пожалуйста срочно...


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.