Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Нужна помощь по MS Access (http://forum.oszone.net/showthread.php?t=299688)

Wally39 13-05-2015 00:05 2506640

Нужна помощь по MS Access
 
Ребят, прошу помощи у людей, разбирающихся в MS Access...

Работаю сисадмином в мед.учреждении. Имеется аппарат цифровой флюорографии. Вся база данных пациентов и снимков хранится в *.mdb-файле (Access 97). А общая картотека пациентов + база рентгенографий в Excel. Проблема следующая:

Необходимо объединить все базы в одну новую (желательно Access 2010-2013).

Создаю новую базу Access 2010 (ибо 2013 не хочет вообще работать со старой базой Access 97). Импортирую в нее нужные таблицы из базы флюорографий. Далее делаю запрос на вывод из нескольких таблиц данных в таблицу. Все выводится, но поскольку у одного пациента имеется по несколько снимков, соответственно выводится несколько одинаковых пациентов. При попытке сгрупировать их - все ОК, но не дает изменить данные таблицы... Пишет Объект RecordSet не является обновляемым... Как побороть эту проблему???

Iska 13-05-2015 00:21 2506659

Покажите структуру Ваших таблиц. Покажите схему данных Вашей базы. Покажите Ваш запрос. Опишите, что потребно сделать.

lxa85 13-05-2015 01:34 2506679

Wally39, что я имею вам сказать... у вас проблема.
К сожалению у меня печальный опыт работы по автоматизированному переносу данных из 97 -> 2010.
Для того, чтобы база данных 97ого Аксеса внятно работала, пришлось устанавливать 97 офис. И причем установка "в лоб" ситуацию не всегда спасает. Приходилось "дружить" офисы между собой. Не хочу пугать, просто самое интересное у вас еще впереди ;)
Цитата:

Цитата Wally39
Как побороть эту проблему? »

Боюсь что руками, в прямом смысле этого слова.
Есть серьезные подозрения на то, что программу придется переписать, а с данными работать через хитрую систему экспорта/импорта.
Как вариант - искать конвертер, который работает с 97мым и может из него формировать нечто более приемлемое на данное время.
----
Справедливости ради - ту программу вообще нельзя было "трогать". Тяжелый был пользователь у данной программы. Ох тяжелый.

BTW
Convert a database to the .accdb file format

Wally39 13-05-2015 16:06 2506941

Вложений: 2
Вот отчет по запросу Файл 125173 и схема данных Файл 125175. Необходимо сделать, чтобы по запросу выводилась таблица, со сгруппированными по дате снимка полями, либо, с выводом для каждого пациента последнего по дате снимка и его номера. Что-нибудь еще нужно?

Wally39 13-05-2015 16:09 2506944

Цитата:

Цитата lxa85
К сожалению у меня печальный опыт работы по автоматизированному переносу данных из 97 -> 2010. »

Дело еще в том, что насколько я понимаю, конвертировать БД Access 97 в более свежий нельзя, ибо программа флюорографии, которая делает снимки и заносит их в эту базу с другими работать не хочет, уже пробовал(((

lxa85 13-05-2015 21:43 2507053

Цитата:

Цитата Wally39
Вот отчет по запросу ... Что-нибудь еще нужно?»

Может лучше файл с базой, но без данных? Или с тестовым набором данных.
Цитата:

Цитата Wally39
ибо программа флюорографии »

Слишком много неизвестных переменных и слишком мало данных.
Мне пока, кроме моральной, поддержки помочь нечем :(

Iska 13-05-2015 22:35 2507069

Цитата:

Цитата Wally39
Вот отчет по запросу doc_rptObjects.pdf и схема данных Отчет1.pdf. »

PicPick | Инструмент "всё-в-одном", захват экрана, редактор изображений, выбор цвета, пиксельные линейки и другое.... Выкладывать удобно непосредственно оттуда же на imgur.com.


Теперь по тексту запроса. Да, такой запрос будет возвращать набор записей только для чтения.

Таки да, выложите очищенную базу данных в оригинальном формате.

Wally39 13-05-2015 23:05 2507081

Вложений: 1
Цитата:

Цитата Iska
PicPick | Инструмент "всё-в-одном", захват экрана, редактор изображений, выбор цвета, пиксельные линейки и другое.... Выкладывать удобно непосредственно оттуда же на imgur.com. »

Thx за совет, софтиной непременно воспользуюсь.
Цитата:

Цитата Iska
Таки да, выложите очищенную базу данных в оригинальном формате. »

Ну и прикладываю саму базу (сжатую и немного почищенную)
Цитата:

Цитата lxa85
Слишком много неизвестных переменных и слишком мало данных. »

По поводу программы флюорографии - это разработка ООО "РентгенПром" под названием ПроСкан

Iska 14-05-2015 01:15 2507098

Wally39, как обычно: «Введите пароль базы данных» ;).

Wally39 14-05-2015 15:43 2507275

Цитата:

Цитата Iska
«Введите пароль базы данных» »

Странно... Пароль не ставил. Да и у меня при открытии не просит. Попробую позже на другом компе открыть...

Iska 14-05-2015 17:22 2507302

Wally39, на машине под Windows XP (но с тем же, 2003-м Office'ом) — и у меня не спросил :(.

Wally39 14-05-2015 18:54 2507326

Iska, Что бы это могло значить?))

Iska 15-05-2015 09:27 2507595

Цитата:

Цитата Wally39
Iska, Что бы это могло значить?)) »

Хотел бы и я сие знать ;). Маразм это называется. Старческий. Загружал один файл, а открывал совсем другой файл, несколькими днями ранее загруженный отсюда же.

Посмотрю на Вашу базу днём.

Wally39 16-05-2015 18:18 2508075

Цитата:

Цитата Iska
Маразм это называется. Старческий. »

Слава богу, а то я уже всю голову себе сломал)))

Iska 17-05-2015 05:46 2508206

Wally39, посмотрел на базу попристальнее. Мне всё равно непонятно, что Вы хотите получить — в обычных терминах. Например, что Вы хотите получить вот здесь:
Цитата:

Далее делаю запрос на вывод из нескольких таблиц данных в таблицу. Все выводится, но поскольку у одного пациента имеется по несколько снимков, соответственно выводится несколько одинаковых пациентов.
то есть, буквально — что? Скажем — перечень пациентов с его снимками? Получить в виде отчёта? Или формы для ввода, ибо далее Вы пишете следующее:
Цитата:

При попытке сгрупировать их - все ОК, но не дает изменить данные таблицы... Пишет Объект RecordSet не является обновляемым...
Цитата:

Необходимо сделать, чтобы по запросу выводилась таблица, со сгруппированными по дате снимка полями,
Любая группировка сделает результат запроса необновляемым набором записей. Т.е., непонятно, что нужно получить, и зачем для этого группировать? Особенно непонятен для меня смысл группировки по дате снимка.

Может быть, Вам нужно нечто такое:
Скрытый текст

?!

Цитата:

либо, с выводом для каждого пациента последнего по дате снимка и его номера.
А в этом случае какова цель? В показанном примере можно, например, отсортировать вложенную таблицу по убыванию даты снимка, дабы последний снимок всегда был наверху вложенной таблицы.

Wally39 20-05-2015 00:11 2509220

Iska, Да, нужен именно вывод таблицы всех пациентов с датой последнего снимка и его номером. Но только без повторяющихся пациентов. Ну и соответственно, чтобы данные были обновляемыми... Просто смысл всего этого очень прост - на данный момент есть такая база пациентов в виде Excel-таблицы, но каждый день приходится в нее вносить новые снимки определенных пациентов (даты и номера). Довольно муторная работа. Вот и хотелось ее как-то автоматизировать. Есть варианты?

Iska 20-05-2015 10:19 2509297

Цитата:

Цитата Wally39
вывод таблицы »

Отчёт или форма? Отчёт — получится. Форма в виде:
Цитата:

Цитата Wally39
всех пациентов с датой последнего снимка »

с возможностью обновления/добавления/удаления данных — нет. Только пациенты и все их снимки. Иначе никак. Можно только, как я писал выше, отсортировать в подчинённой форме снимки по убыванию, дабы последний по дате снимок был наверху.

Второй вопрос состоит в реализации. Тут хорошо: сконвертировал базу в формат 2003, и работай. А Вам-то сие никак нельзя делать, база категорически должна оставаться в старом формате.

Wally39 28-05-2015 18:12 2512419

Цитата:

Цитата Iska
Можно только, как я писал выше, отсортировать в подчинённой форме снимки по убыванию, дабы последний по дате снимок был наверху. »

Ну это я и без бубна с легкостью сделаю. Неужели нет возможности реализовать именно отбор по одному снимку каждого пациента? Смысл именно в этом и состоит, чтобы связать 2 базы в одну и автоматизировать процесс добавления снимков в базу данных и обратно в картотеку...

Wally39 04-06-2015 19:26 2515027

Ни у кого нет соображений на этот счет?

Iska 06-06-2015 07:09 2515431

Цитата:

Цитата Wally39
Ни у кого нет соображений на этот счет? »

Лично я потерял нить Ваших рассуждений.

Wally39 10-06-2015 23:58 2517210

Цитата:

Цитата Iska
Лично я потерял нить Ваших рассуждений. »

На каком этапе?))

lxa85 11-06-2015 14:02 2517403

Цитата:

Цитата Wally39
На каком этапе? »

В р-не 18 поста.
----
Wally39, еще раз спокойно, обстоятельно и не торопясь и с картинками.
Что есть?
Что хочется получить?
Какие шаги сделаны?
Какие результаты получены?

Iska 11-06-2015 15:33 2517431

Цитата:

Цитата lxa85
В р-не 18 поста. »

Угу.

Wally39 11-06-2015 23:09 2517654

Так, примерно понял где оборвана нить) Давайте по порядку...

Что имеется на данный момент:

1. Прога ПроСкан, которая хранит свои данные (картотеку пациентов и их снимков) в mdb-базе (Access'97).
Выглядит база в проге так:

2. Картотека в Excel 2013, в которой хранится картотека с более полными данными пациентов. В ней хранятся данные только о последнем снимке каждого пациента и его номер. При этом в нее же заносятся данные о последних аналоговых снимках (которые вносятся вручную).
Выглядит так:


Алгоритм работы на данный момент:

1. Делается флюорографический снимок пациента.
2. Он автоматически заносится в БД ПроСкан (Access'97).
3. В конце рабочего дня приходится снимки всех пациентов за день заносить в картотеку Excel, т.к. с базой в проге работать не удобно и не хватает функционала по фильтрации, что постоянно используется в работе и документации.
4. Если делается аналоговый рентгенологический снимок пациента, он заносится вручную в отдельную таблицу в Excel, а также в общую картотеку Excel.

Чего требуется добиться:

1. Перенести базу пациентов и снимков из Excel в Access.
2. Сделать вывод данных в таблицу Access (на подобие имеющейся картотеки Excel).
3. Сделать возможность редактирования данных пациента.
3. Таким образом автоматизировать ежедневный процесс переноса данных из ПроСкан в Excel.

Надеюсь понятно в этот раз объяснил))


Время: 08:25.

Время: 08:25.
© OSzone.net 2001-