С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/35: Рейтинг темы: голосов - 35, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 4
1

Как переименовать файлы используя Access

27.12.2011, 17:24. Показов 6321. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется созданная мною давно база данных, которая в целом устраивает. Но вот встала задача, к которой не знаю, как подступится, может, кто подскажет?
Есть БД с следующими (причастными к делу) полями: [Code] (идентификатор, числовой), [Name] (текстовый) Для создания отчетов используются множество файлов (фото), которые лежат в отдельной папке, например, D:\BD и имеют имя Code.jpg (где Code= полю [Code] в текстовом виде). Как написать процедуру или макрос (в запросе или отчете???), с целью переименовать файлы из папки D:\BD так, чтобы они стали с именем Name.jpg (желательно, чтобы они попали и в другую папку, например? D:\Image).

Резюмируя: нужно переименовать файлы Code.jpg в Name.jpg, где Code и Name – поля из БД.
Заранее благодарен за любую помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2011, 17:24
Ответы с готовыми решениями:

Может ли батник переименовать файлы, используя данные из текстового файла?
Здравствуйте, подскажите можно ли сделать такой батник - есть txt файл назовём его numbers, в нем...

Разбить документ на отдельные файлы и переименовать каждый файл используя слияние. Поправить код
Здравствуйте! Пытаюсь провернуть мейл мердж. Получил общий документ со всеми письмами, но не...

Как распаковать и переименовать файлы
Очень давно бьюсь над одной задачкой. А именно как переименовать пакетом файлы? Объясню все...

Как переименовать файлы в папке
Есть папка со скриншотами. Необходимо их по порядку переименовать так, чтобы получились такие...

5
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
27.12.2011, 18:27 2
Пробуйте так (не проверял)
Visual Basic
1
2
3
4
5
6
7
8
9
10
Dim fn$
  With CurrentDb.OpenRecordset("Имя_таблицы", dbOpenSnapshot)
    Do Until .EOF
      fn = "D:\BD\" & !Code & ".jpg"
      If Len(Dir(fn, vbNormal)) > 0 Then
        Name fn As "D:\Image\" & !Name & ".jpg"
      End If
      .MoveNext
    Loop
  End With
0
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 4
29.12.2011, 11:18  [ТС] 3
Спасибо, minob!
Попробовал использовать Ваше предложение. Все работает безукоризненно, это именно то, что мне надо. Главное -как просто!

Еще раз приношу свою признательность!
0
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 4
10.01.2012, 12:39  [ТС] 4
Уважаемый minob! Поработав в праздничные дни с БД с Вашей добавкой понял, что достаточно часто приходится снова перименовывать те же файлы (по разным причинам), а в исходной папке после D:\BD\ их уже нет, естественно. Файлов очень много, разобраться, какие уже переименованы...
Вопрос: можно ли доработать процедуру так, чтобы исходные файлы в исходной папке оставались без изменений (не получали новое имя), а накапливались в конечной папке (D:\Image\) с новым именем?
Прошу извинить за беспокойство.
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
10.01.2012, 13:49 5
Цитата Сообщение от Ensata Посмотреть сообщение
Вопрос: можно ли доработать процедуру так, чтобы исходные файлы в исходной папке оставались без изменений (не получали новое имя), а накапливались в конечной папке (D:\Image\) с новым именем?
Замените в коде строку
Name fn As "D:\Image\" & !Name & ".jpg"
на
FileCopy fn, "D:\Image\" & !Name & ".jpg"
0
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 4
11.01.2012, 11:18  [ТС] 6
Спасибо большое inob! Все работает. Мне стыдно... Я сам пытался решить эту задачу, искал функцию типа "Copy", но ничего подходящего не нашел, а на FileCopy не обратил внимания. Только знакомлюсь с VB.
0
11.01.2012, 11:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2012, 11:18
Помогаю со студенческими работами здесь

Как переименовать массово файлы
Добрый день! В папке имеются файлы с названиями с "-" и "_". Мне необходимо поменять в...

Как переименовать файлы, пронумеровав их?
Все привет, в Баше ничего не понимаю ( но нужно написать скрипт кторотый просто напросто все файлы...

как переименовать cpp и header файлы
форму переименовала, а эти сволочи со старыми названиями..(

Как переименовать все файлы в архиве
Люди добрые, подскажите вот что. я архивирую файлы, которые находятся в одной и той же...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru