|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
|
VBA в Access12.04.2011, 15:33. Показов 13347. Ответов 68
Метки нет (Все метки)
Ребят, нужна помощь следующего плана...
На MS Access нужно сделать форму, одну единственную, чтобы из нее можно было делать следующее: По нажатию на кнопку "Импорт" выбиралась папка, в которой находится множество excel-файлов. Access должен из каждого Лист1 каждого файла excel брал все ячейки столбца B, добавлял их в таблицу access в первый столбец, а во второй столбец(т.е. напротив каждой добавленной ячейки) добавлял имя файла excel, из которого эта ячейка была скопирована... Я что-то мудрил, мудрил... Не могу понять как это сделать...
0
|
|
| 12.04.2011, 15:33 | |
|
Ответы с готовыми решениями:
68
Как заполнить базу данных Access с помощью vba в том же access и считать из нее инфу? Можно ли в VBA скопировать в вставить запрос или таблицу из одного файла Access в другой файл Access Разница в скорости vba word и vba access |
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
|
| 19.04.2011, 16:42 | |
|
1
|
|
|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
|
| 19.04.2011, 18:00 [ТС] | |
|
0
|
|
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
||||||
| 19.04.2011, 18:17 | ||||||
|
emlonlife,
после 23 строки в моём коде надо вот это ещё добавить (не думаю, что серьёзная ошибка):
1
|
||||||
|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
||
| 20.04.2011, 09:42 [ТС] | ||
|
Вчера вечером был проведен первый тест БД... Было добавлено одним махом около 500 файлов, общим числом строк на 968000... Все супер Никаких ошибок ![]() Огромное спасибо!
0
|
||
|
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
|
|||||||
| 20.04.2011, 10:25 | |||||||
|
Вот этот код:
Вообще в данном случае нужно использовать объект Command, а не RecordSet, чтобы изменения сразу вносить в Таблица1, но я им не умею пользоваться. Используя Command, можно скорость выполнения кода увеличить.
1
|
|||||||
|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
|
| 20.04.2011, 12:34 [ТС] | |
|
Ок, все понял!
Еще раз огромное спасибо!
0
|
|
|
65 / 51 / 2
Регистрация: 15.12.2010
Сообщений: 297
|
|
| 05.05.2011, 17:17 | |
|
Что касается запроса в Access из Excel
Я давно небыл на форуме. Но у меня есть новый код, который решил прежние проблемы: 1. В Excel-е столбцы могут иметь имена с пробелами 2. Сокращена функция для извлечения имени 3. В книге Excel листы могут размещаться где угодно и иметь любые названия
1
|
|
|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
|
| 10.05.2011, 10:53 [ТС] | |
|
0
|
|
|
65 / 51 / 2
Регистрация: 15.12.2010
Сообщений: 297
|
|
| 10.05.2011, 11:59 | |
|
Что касается VBA (Access, Excel, Word) можешь спрашивать. Я отвечу. Правда, я редко бываю в Интернете
0
|
|
|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
|
| 10.05.2011, 13:17 [ТС] | |
|
0
|
|
|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
||
| 11.05.2011, 13:18 [ТС] | ||
|
Если на машине, на которой создавалась база Access или книга Excel есть нужные библиотеки, а на другой, где эти база и книга должны использоваться, их нет, можно как-то запихнуть их в саму базу или книгу и при первом его открытии эта библиотека автоматически устанавливалась и регистрировалась? Инсталяшку делать не вариант, установка ПО на машинах запрещена админом. Думал сделать архив самораспаковывающийся, в него библиотеку запихнуть и распаковывать прямо в систем32, там же книгу эксель и при ее открытии выполнить команду регистрации библиотеки. Но это на крайний случай... Может можно как-то по другому? Еще вариант сделать скрытый лист(если эксель) и в него записывать имя пользователя в определенную ячейку. Если она пустая, то значит выполнитьь команду регистрации библиотеки, если этот пользователь открывал книгу, значит все ок. Но это тоже по-детски как-то... Возможно это как-то упростить или вообще сделать идеально ?
0
|
||
|
65 / 51 / 2
Регистрация: 15.12.2010
Сообщений: 297
|
||
| 13.05.2011, 02:03 | ||
|
Для хранения таких данных лучше использовать реестр. 'сохранение данных в реестре SaveSetting "MyApp", "МояПрограмма", "установлена", true 'доступ к данным реестра GetSetting ("MyApp", "МояПрограмма", "установлена")
1
|
||
|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
||
| 13.05.2011, 09:57 [ТС] | ||
![]() Что касается реестра - я вообще ноль... Может поможете конкретный пример сделать? С библиотекой mscal.ocx?
0
|
||
|
65 / 51 / 2
Регистрация: 15.12.2010
Сообщений: 297
|
|
| 13.05.2011, 18:17 | |
|
Что касается библиотеки, может кто другой поможет. Я в этом не силён.
Обычно стараюсь использовать существующие библиотеки. А мой пример показывает как сохранить данные (любого типа) в реестр, а потом их получить. Напишите SaveSetting в VBA и он сам подскажет, какие атрибуты туда вставлять То же самое и с GetSetting.
1
|
|
|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
||
| 23.05.2011, 14:42 [ТС] | ||
|
А может еще подскажете... Задача следующая: Выполнить импорт ексель файла с одним столбцом, находищимся на лист1. Затем по этим данным нужно отобрать все строки в таблице БД, где есть эти данные и выполнить их экспорт в книгу эксель. Т.е. имеется БД с большим набором строк. Выполняется импорт той самой книги эксель и сравниваются данные из него и первого столбца таблицы БД. Для всех, которые совпадают нужно выполнить экспорт со всеми данными из таблицы БД (всего 2 поля). Поможете?
0
|
||
|
65 / 51 / 2
Регистрация: 15.12.2010
Сообщений: 297
|
|
| 23.05.2011, 17:30 | |
Могу помочь, но придётся сделать несколько уточнений:1. Как называется таблица в Access и столбец для импорта? 2. Как называется книга Excel и всегда ли данные находятся в одном и том же месте? 3. Какой тип импортируемых данных (текстовый или числовой) 4. Откуда должна запускаться команда на выполнение (из Excel или Access)? 5. Должен ли результат экспортироваться в новую книгу? 6. Есть ли время подождать?
0
|
|
|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
||
| 23.05.2011, 17:50 [ТС] | ||
![]() Остался только один вопрос ![]() У меня есть форма и в ней подчиненная форма. Данные в подчиненной форме берутся из запроса. Так вот, при загрузке формы автоматически выполняется запрос и из-за этого форма открывается долго. Затем есть кнопочка, по которой обновляется подчиненная форма, т.к. в текстовое поле уже ввели критерий(т.е. запрос берет именно значение поля1 и сравнивает в Таблице1). Как сделать, чтобы запрос выполнялся только по кнопке, а не при открытии формы, чтобы при пустом поле1 он не выполнялся?
0
|
||
|
65 / 51 / 2
Регистрация: 15.12.2010
Сообщений: 297
|
|
| 23.05.2011, 18:00 | |
Может я не очень себе представляю структуру созданной Вами программы, но мне кажется, что будет правильным сделать следующее:Запрос на получение данных должен создавать мёртвую (ни с чем не связанную) таблицу в Access. Эти данные должны залетать в подчинённую форму. Загрузка будет происходить быстро, поскольку данные уже есть. А в момент нажатия кнопки для обновленя данных, статическая таблица должна переписываться заново (полностью удаляться и создаваться заново). После этого можно обновить форму.
0
|
|
|
11 / 11 / 0
Регистрация: 23.03.2011
Сообщений: 199
|
||
| 23.05.2011, 18:15 [ТС] | ||
|
Сейчас я про другой запрос. Когда нужно найти одну единственную запись, вводимую в текстовое поле. Из-за нее не стоит создавать таблицу я думаю. Или я Вас не понял?
0
|
||
|
65 / 51 / 2
Регистрация: 15.12.2010
Сообщений: 297
|
||||||
| 23.05.2011, 18:34 | ||||||
|
А почему бы просто не повешать на текстове поле событие при изменении приблизительно с таким текстом:
0
|
||||||
| 23.05.2011, 18:34 | |
|
Код VBA в Access 2010 работает, в Access 2007 выдает ошибку Знаки подстановки разные в SQL Access и SQL VBA Access VBA в Access VBA в MS ACCESS VBA в Access Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|