У меня нет опыта работы с Access, VBA-кодированием или макросами Excel до того, как я обучался в прошлом месяце на этих форумах. Спасибо форумчанам и авторам. До сих пор я наслаждался своими знаниями по Access, поставленными задачами и ценю любую помощь, которую я могу получить. Таким образом, код и методы, которые я использовал до этого момента, вполне могут быть запутанными и запутанными. Я сделаю все возможное, чтобы предоставить соответствующие детали и точную терминологию.
Я работаю в лаборатории и создаю форму доступа для полуавтоматической отчетности. Образцы поступают от клиентов и регистрируются в таблице Excel R&D Log
. Рабочий лист InProcess
. Образцы сортируются на основе сайта, на котором они были созданы, и им присваивается одно- или двухбуквенный код сайта (G, D, WH и т. Д.) И идентификатор "yy-000" в отдельных столбцах Excel (т. Е. D 18-096). Образцы могут быть представлены для нескольких анализов (металлы, вода, почва и т. Д.) И могут даже иметь несколько строк отчета, если в образце идентифицировано несколько аналитов. Есть несколько других столбцов, таких как дата поступления, отчетная дата, единицы измерения и т. Д. После того, как образцы отправлены в отчет, я вручную копирую и вставляю их в лист Archived
и удаляю запись и пустую строку из листа InProcess
. Поскольку один образец может иметь несколько анализов и даже больше потенциальных результатов, каждая запись будет занесена в новую строку Excel (с тем же идентификационным номером D 18-096). Таким образом, не существует единственного уникального идентификатора или первичного ключа для каждой выборки в текущем формате. R&D Log
обновляется вручную лаборантами, а рабочая таблица InProcess
является связанной таблицей в базе данных Access.
База данных Access использует два поля со списком в форме frmInProcess
для фильтрации запроса qryInProcess
связанной таблицы. Поля со списком фильтруют назначение отчета (один клиент может получить несколько кодов сайта) и анализ (отчеты разделяются в зависимости от типа анализа). Запрос также отфильтровывает пустые результаты и пустые даты, поэтому в отфильтрованной форме будут отображаться только завершенные образцы. К этому моменту я сгенерировал код VBA, который будет экспортировать форму в .pdf, сохранить файл с уникальным именем файла и открыть Outlook для отправки отчета. Мне также удалось экспортировать отфильтрованную форму frmInProcess
в файл Excel Access Test
(не связанный файл).
Теперь я хотел бы автоматизировать перенос результатов завершенных тестов с рабочего листа Excel R&D Log: InProcess
на R&D Log: Archived
и удалить запись с рабочего листа InProcess
. Я не уверен, смогу ли я экспортировать отфильтрованную форму в связанную таблицу Excel, или я должен использовать отдельный файл Excel (или если это даже имеет значение для простоты кода?). Теперь я хотел бы прочитать экспортированную отфильтрованную форму в Excel Access Test
, найти подходящие строки в R&D Log
на основе нескольких критериев (сайт, идентификатор, анализ, анализ, дата отчета) и автоматизировать передачу записей между R&D Log
рабочими листами , В результате Access создает отчеты о выполненных тестах, а записи удаляются из InProcess
тестирования и передаются в Archived
тестирования в Excel. Я предполагаю, что мне может потребоваться закрыть приложение Access и выполнить это в Excel. Надеюсь, что это достаточно легко следовать.
Спасибо.