Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 2
1

Дело с масками

09.11.2015, 20:50. Просмотров 559. Ответов 3
Метки нет (Все метки)


Столкнулся тут с очень простой (по чутью) и в то же время с нерешаемой уже неделю проблемой:
Нужно присвоить переменной (пусть она зовется xFile) строковое значение, соответствующее ПЕРВОМУ найденному файлу с известным началом (собрал его по именам полей в строковую переменную namepart_file):

namepart_file = ""
namepart_file = CStr(Me![Oboz].Value & "_" & Me![Naim].Value & "_" & Me![Format].Value)

Хочу написать определение файла по уникальной части имени просто, без большого кода и именно с помощью DIR(). Не хочу связываться ни с какими диалогами открытия такого файла или с хранением папки, части имени файла, расширением и т.п. в таблице - просто, чтобы в форме в поле типа PIcture (или OLE???) при переходе от записи к записи ПОЯВЛЯЛОСЬ изображение, считываемое из папки с заранее приготовленными файлами типа thumbnail.

Дело же в том, что конец имени файла не известен ТОЧНО, но, насколько я понимаю, для этого существуют МАСКИ (типа: "?????" или "*"), а чертов Dir() просит ПОЛНОСТЬЮ ОПРЕДЕЛЕННОЕ имя файла (хотя в хелпе access'а черным по белому написано: Dir(тра-ля-ля) _возвращает_ ПЕРВЫЙ файл, соответствующий критерию "тра-ля-ля" - а мне именно это и нужно, ибо я-то знаю, что первая, ИЗВЕСТНАЯ часть файла УНИКАЛЬНА и другого такого файла просто нет)... Уф!..

У меня функция Dir() выглядит так:
xFile = Dir(Application.CurrentProject.Path & "\BMP" & Left(namepart_file, Len(namepart_file)) & "*.bmp")
image_thumb.Picture = xFile 'Вот цель для поля Picture в форме

НО! Access говорит, что не может _открыть_ файл (кто бы его просил ОТКРЫВАТЬ его?):
x:\папка проекта\BMP\ПравильнаяЧастьИмени*.bmp
т.е. в сообщении access'а четко написана *

Подскажите, пожалуйста, как сделать эту * не звездочкой, а маской ОСТАТКА имени файла?..
А то сдохну скоро.

И не судите строго - все могут устать от N бессонных ночей...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2015, 20:50
Ответы с готовыми решениями:

Подстановка шаблонов по масками
Добрый день товарищи. Столкнулся я с одной задачей, прошу совета у вас. Есть таблица в которой я...

Работа с побитовыми операторами и масками
есть программа, она заменяет в шестнадцатеричном числе все нечетные цифры нулями. при написании...

Объединить 2 подсети с разными масками
Всех приветствую. Я первый день на работе в кресле сисадмина и уже столкнулся с проблемой. До меня...

Предприниматель, начав дело, взял кредит размером k рублей под p процентов годовых и вложив его в свое дело. По прогноза
Предприниматель, начав дело, взял кредит размером k рублей под p процентов годовых и вложив его в...

3
Заблокирован
09.11.2015, 21:51 2
М.б. так получится?
Visual Basic
1
2
xFile = Dir(Application.CurrentProject.Path & "\BMP" & namepart_file & "*.bmp")
image_thumb.Picture =Application.CurrentProject.Path & "\BMP" & xFile
Добавлено через 3 минуты
Обратный слэш после \BMP\ движок съел.
1
0 / 0 / 0
Регистрация: 28.10.2015
Сообщений: 2
09.11.2015, 22:03  [ТС] 3
Апострофф, Вы - ГЕНИЙ!
Респект неимоверный!

Но... Опять не сработало. Цикл сообщения "отсутствует"...
Не знаю, что и думать...

И... вообще-то переменная xFile УЖЕ СОДЕРЖИТ полное имя файла вместе с PATH.
0
Заблокирован
09.11.2015, 22:12 4
sova1303, попробуйте не DIR, а VBA.DIR (м.б. стандартный DIR у вас переопределен?)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2015, 22:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Ячейки в одном столбце, но с разными масками
В продолжение темы(когда-то спрашивала про ячейки разной ширины в одном столбце, решили что все...

Соединение двух сетей с различными адресами и масками
Здравствуйте. Столкнулся с некоторой задачей, справиться с которой мне мои знания и опыт не...

Дело в ОС ?
На одном компе программа работает, на нем WinXP. На другом Win7, там прога зависает. В чем может...

В чём дело?
Знач написал небольшой код. Declare Working() Declare Window() Declare Declaring() Declare...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.