господа, прошу не судить строго - пишу, потому что была Очень поражена гениальностью и простотой Данного решения! Record Keeping from Excel to Access - суть Идеи до боли проста - вводим данные по мере надобности в Excel - и всё автоматом закидываем в Базу Данных Access, - пример, как настроить такой милый душе автомат, там есть по линку... и в чём приятная неожиданность данного подхода (мне подумалось) - СОВСЕМ НЕ НАДО никаких Форм для ввода создавать своими ручками - всё уже давно создано программистами Microsoft !! - т.е. сам Excel !! который может послужить достойным прототипом любой рукодельной Формы для ввода данных в Access... по крайней мере на ячейки уже расчерчен сам - вводи что хочешь, куда хочешь... только прежде настрой, как нравится - что куда кидать потом... Думаю, возможностей наладить интересный симбиоз Excel и Access для автоматизации каждодневной рутины - намного больше, чем может показаться при первом рассмотрении Office'а... p.s. просто была поражена изящностью данного подхода - решила поделиться ... другие интересные подходы к ним двоим (Excel и Access) и их взаимодействию - тоже можете засовывать в эту ветку ... всем успехов - (способов облегчить жизнь юзеру никогда не бывает мало и они всегда на вес золота) P.S. ответ на #14 в #121
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
JeyCi, спасибо за предоставленную информацию. Только соединение с базой не происходит - выдаёт сообщение макрос "provide correct/full DB path". Путь прописал верный (C:\1\Trade_DB.mdb). В чём может быть дело? Спасибо. ПС Разобрался - изменил провайдера с: Microsoft.Jet.OLEDB.4.0 на: Microsoft.ACE.OLEDB.12.0 Простите за безпокойство.
... если путь (на вашем компе!! к файлу базы прописан верно) - то, наверно, причина может быть, что вы пытаетесь подконнектиться к базе, которая открыта в Access (т.е. если у вас файл mdb открыт -->доступ 2-го юзера блокируется) - наверно, в таком случае может быть глюк... у меня коннектится и загоняется инфо в базу ок (даже не смотря на то, что у меня 2010, а файл пример для 2003)... - кнопкой Save
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Я до сих пор использую Access. Причем - именно в связке с excel. Уверен, что SQL Server - гораздо более крутая программа, чем ACCESS. Ну, примерно - как самолет и авто сравнивать. Но самолет я водить не умею, а чтобы научиться - нужны деньги и время (как известно - вещи взаимосвязанные)... да и так далеко ездить не приходится. А также нет аэродрома, ангара, авиационного топлива... Вот по этой же аналогии я, например, пользуюсь access.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Михаил Лебедев написал: Уверен, что SQL Server - гораздо более крутая программа
Гораздо более, конечно, но ведь всё дело в результате - так? Стоит ли игра свеч? Окупятся ли затраты при изучении более мощного движка? Просто сегодня не нужно, а завтра - позарез. Так что я думаю, что стОит потратить время.
Чего нет в ексель, но есть в акцесс: 1. Сохранение данных на уровне записи, а не файла. Если я внес новые данные, заполнив новую строку в таблице и перешел к другой записи - новые данные сохранились в базе. Если даже отключат электричество. 2. Защита данных (управление правами доступа к данным) на уровне пользователя. Правда - эту одну из самых замечательных возможностей убрали, начиная с офиса 2007. Поэтому рейтинг акцесса резко ушел вниз. 3. Очень легкое и простое создание форм для ввода информации.
Ушел...
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Чего нет в ексель, но есть в акцесс -2 (продолжение сообщения от 1 Авг 2015 11:24:56): 4. Прямая связь с пом. линкованных таблиц с MS OUTLOOK. В акцессе нашел такую функцию, а в ексель - нет. Недавно встала задача обрабатывать большие объемы информации, получаемые через RSS-канал с zakupki.gov.ru. Довольно легко и просто удалось наладить связку zakupki.gov.ru -> Outlook-> Access с последующей чисткой полученных данных с помощью различных запросов. 5. Перекрестные запросы. 6. Одновременное подключение к базе данных акцесс нескольких пользователей, что позволяет нескольким работникам одновременно заполнять одну и ту же базу.
Чего нет в акцесс, но есть в ексель: 1. ВСТРОЕННЫЕ ФУНКЦИИ. 2. Графики 3. Возможность сделать с данными практически всё, что угодно и как угодно (, в том числе и такое зло, как объединение ячеек ( )). 4. Сводные таблицы, конечно же. Особенно - Power Pivot
Поэтому для меня акцесс - это система для сбора и хранения данных, одновременного доступа к ним, а ексель - система обработки этих данных и их анализа.
Да, про этого зверька (я имею в виду просто Query) - я забыл сказать как про мощный инструмент для связывания Ассess и Еxcel. Если он сейчас станет сильнее - т.е. будут доработаны слабые места - это... в общем, это здОрово ☺
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
JeyCi написал: Record Keeping from Excel to Access
обратил внимание, что добавление записей - происходит, а вот удаление внесенных ранее - нет. Кнопка "Удалить" удаляет запись только в текущих ячейках екселя. М.б. это только у меня так?...
Михаил Лебедев написал: добавление записей - происходит, а вот удаление внесенных ранее - нет
да, кстати, просмотрев код - видно использование Rst.AddNew, что и позволяет лишь добавлять записи методом AddNew(Fields, Values)... дорабатывать код можно, как всегда, ориентируясь сюда - по возможностям др. методов для рекордсета, в т.ч., полагаю: - Update(Fields, Values) - Delete(AffectRecords) пока не колдую - но если когда-нибудь придётся допиливать - обязательно выложу итог "творческой мысли" ... - лежит в #121 (видимо, где-то в этом русле) P.S. но это, полагаю, лучше принять к сведению
Цитата
Михаил Лебедев написал: В общем, я в свое время намучился и не советовал бы. Редактирование записей лучше делать в самом акцессе
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
примеры линковки Excel и Access тоже были на форуме: - от Слэна (из поста#16 к посту#12) - sql запрос - в Excel'е из Access запрос через строку подключения
- от B.Key (пост#30) - Excel: Использование Access для обработки больших текстовых файлов - линковка текст. файлов к Access, из которого потом то, что надо в Excel... и все нужные запросы на отбор и систематизацию данных можно настроить уже в Access (пользуясь его талантами), чтобы в Excel поступал лишь нужный итог... - от B.Key (пост#15) - Избавиться от цикла в запросе - средствами ADO запрос к БД ... и один интересный нюанс для Jet (для ACE, наверно, так же)
Цитата
B.Key пишет: Jet сам (исходя из вашего запроса) определят какой столбец индексировать для поиска данных. Естественно он его и сортирует и затем выводит информацию в отсортированном виде.
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
К моему огромному сожалению Access так и остался на уровне 2003 офиса. Видимо Microsoft не посчитала нужным развивать этот продукт. Как СУБД для небольших баз данных, с не ресурсоёмкими запросами, VBA, совместимостью с продуктами Microsoft Office, простотой создания запросов (мастером) он хорош. До сих пор его используем. Но ограничение размера используемой памяти в 2Гб (причем это включая сис. таблицы и т.д., т.е. по факту ещё меньше) - это что-то (уровень 2003 года). Один этот параметр не позволяет не только нормально работать с базой .mdb, .accdb, но и писать более-менее ресурсоемкие запросы.
Поподробнее... Можно загуглить. Если вкратце, то кластерный индекс - это сами данные, а некластерный индекс - это ссылка на данные. По своей сути некластерный индекс - это отдельная от физической таблицы структура, данные в которой физически отсортированы. То есть Access сначала находит искомое значение в некластерном индексе. Найденное значение будет содержать ссылку (row pointer) на строку в куче (heap). Каждая таблица Access - это heap. Каждая строка в этой куче имеет свой уникальный ID (row pointer - указатель строки). Так вот некластерные индексы не содержат сами данные, а только Row Pointer. И как можно уже догадаться, Access'у нужно совершить два действия - 1) найти значение в индексе и 2) перейти к строке по Row Pointer. Пункт 2 называется Row Look-up (или Bookmark Look-up).
Хороший пример - книга. Обычно в конце книге есть глоссарий (указатель имён). В нём все слова отсортированы - это и есть некластерный индекс, отдельная структура. Как только мы нашли значение, мы видим страницу (Row Pointer), где находится искомое слово - и переходим на эту страницу. Переход - это наш Row Look-up.
На самом деле, грамотно выбрать индексы - это целая наука. Учитывая, что Access не даёт такого анализа внутренней структуры, как, например, SQL Server, то трудно сказать, эффективны ли индексы в Access'е или нет. Но как можно уже догадаться, чем больше таблица, тем меннее эффективным становится некластерный индекс.
Немного ОФФ. А можете посоветовать какие-нибудь книжки по Access 2010 и выше, а то все, что я читал, пишут сумбурно, перескакивая с одного на другое... Может канал какой хороший есть на Ютубе? спасибо.
Johny, печаль. Английский знаю, но не технический, может быть очень сложно вникнуть. Книги, наверное, типа Гетца? Сейчас читал Гурвица, жесть какая-то... Постоянные перескоки... что? куда? не понятно же (с)
Прочитав много книг на буржуйском, скажу, что некоторые авторы доходят до абсурда, описывая в целый параграф очевидные вещи. Стили написания, конечно, у всех разный. Например, по некоторым вещам желательна была бы картинка, но её нет - вот и приходится допетривать. Также заметил, что очень полезно читать разных авторов, чтобы сложилась картинка - в одной книге поясняется то, что было нераскрыто в другой.
bedvit написал: Access так и остался на уровне 2003 офиса
К сожалению, стал даже хуже.Красивостей стало больше, а реально ценные возможности (защита на уровне пользователя, а не на уровне базы данных) - ампутировали.
Цитата
Pelena написал: Access позволяет использовать встроенные функции Excel в расчётах при подключении Microsoft Excel Object Library
Пробовал этим воспользоваться еще в бытность access 97. Тогда - жутко тормозил процесс при их использовании. Написанная UDF-ка работала гораздо быстрее. С тех пор - желание ими пользоваться ушло и больше не вернулось ☺
Еще про то, чего нет в access Нет макрорекордера. Как в ексель и ворд.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
Михаил Лебедев написал: Нет макрорекордера. Как в ексель и ворд.
а так сразу и не скажешь - т.к. ещё не смотрела... спасибо! чтобы ветку не омрачать этой новостью - оставлю пару линков: 1).vbex.ru 2). Access Code Snippets 3).VBA Tips (что-то есть здесь) 4). и по мелочам здесь - включая Полезные ссылки и как проявить ошибку в запросе ( который в xl или макросе с ado)
Цитата
Составив такой стринг, содержащий команду SQL, и отправив его на выполнение, вы можете получить ошибку. В таком случае распечатайте этот стринг в отладочное окно и посмотрите на него глазами. Возможно, ошибка сразу бросится в глаза. Если не бросится, создайте новый запрос в конструкторе запросов Access, переключите в режим SQL, вставьте туда текст запроса и запустите на выполнение. Если ошибка есть, то она будет показана более явным образом.
(действий много, но для учебных целей, ошибки запросов, визуализированные в Access, - более наглядны, т к более подробно Access скажет, где какая ошибка)...
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Smiley написал: посоветовать какие-нибудь книжки по Access 2010
Книжки не посоветую, а вот форум, который мне в свое время очень помог, могу. Спасибо ему (или им, участникам форума), в свое время оч. помогали. http://hiprog.com/forum/
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/