Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,570

Поиск файла в сетевой директории командой из формы

18.08.2017, 10:27. Показов 8294. Ответов 65
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день всем!
Подскажите пожалуйста, можно ли выполнить поиск файла с заданным названием, который находится в сетевой папке предприятия и используется для работы производственными подразделениями.

Вкратце для чего.
--Имеем некий справочник, редактируемый и дополняемый конструкторским бюро.
--Справочник выполнен в виде таблицы, как в примере.
--В оригинале разумеется данных больше, но они как бы имеют второстепенное значение в данном вопросе.
--На данный момент, если производятся какие то изменения в КД, то конструктор должен лезть в "дебри сети" , зайти в папку производственного подразделения и там отыскать файл, чтобы отметить его некой меткой, дабы его брали в работу только после просмотра и необходимой коррекции.

На сетевом диске М:\ у каждого из подразделений имеется своя папка например П1;П2 и П3., то есть путь к папкам получается такой :М:\П1 или М:\П2 или М:\П2.

Возможно ли автоматизировать поиск нужного файла в нужной директории по команде из формы.
В примере вобщем-то интуитивно понятно в чем суть вопроса.
Сложность в том еще, что в папках П1, П2 и П3 имеется несколько десятков подпапок, нужно чтобы в них поиск тоже производился.Вот.

Буду очень признателен за живой пример. Спасибо.
Вложения
Тип файла: 7z ПримерПоиск.7z (24.4 Кб, 10 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.08.2017, 10:27
Ответы с готовыми решениями:

Поиск файла в директории
Вот у меня есть две кнопки с такими кодами: java7 if (System.IO.File.Exists("C:\\Program...

Поиск файла в конкретной директории
Добрый день. Просьба подсказать, каким образом можно проверить наличие/отсутствие файла в конкретной директории, записать в имя файла...

Поиск файла в директории и всех вложенных подкаталогах
Как сделать поиск одного файла по имени в директории и поддиректориях и последуещее отображение в Label?

65
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.08.2017, 14:01
Студворк — интернет-сервис помощи студентам
Проверка проблема, конечно. Дело в том, что в поле Деталь имя файла без расширения. И разумеется ничего не находится. Я уже писал об этом, но ТС как-то не отреагировал. А надо всего лишь к параметру file подставить расширение, например
Visual Basic
1
    FindRecurs sd & ".pdf"
1
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,570
23.08.2017, 14:03  [ТС]
Может не работать, если я вместо пути из примера указываю сетевой ресурс имеющий в указании пути кириллицу? Допустим (L:\Контрольные документы\PLASMA ) и т.п.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12512 / 5086 / 814
Регистрация: 07.08.2010
Сообщений: 14,973
Записей в блоге: 4
23.08.2017, 14:05
Цитата Сообщение от Braser Посмотреть сообщение
Может не работать, если я вместо пути из примера указываю сетевой ресурс имеющий в указании пути кириллицу? Допустим (L:\Контрольные документы\PLASMA ) и т.п.
это я не попробовала, а так нормально работает(правда на локальных каталогах)
1
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,570
23.08.2017, 14:06  [ТС]
В каждой папке с изделием должно находится 3 файла имеющих одинаковое название, но разное расширение. - .dxf; .CDW; .CP их все 3 нужно найти и пометить
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12512 / 5086 / 814
Регистрация: 07.08.2010
Сообщений: 14,973
Записей в блоге: 4
23.08.2017, 14:06
Цитата Сообщение от mobile Посмотреть сообщение
Дело в том, что в поле Деталь имя файла без расширения
это тоже не сработало, задала точное имя
1
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,570
23.08.2017, 14:12  [ТС]
возможно необходимо указать все расширения файлов, которые нужно найти?

Добавлено через 4 минуты
Цитата Сообщение от mobile Посмотреть сообщение
FindRecurs sd & ".pdf"
Точно нашел!!!
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12512 / 5086 / 814
Регистрация: 07.08.2010
Сообщений: 14,973
Записей в блоге: 4
23.08.2017, 14:14
при переименовании(когда то и мне это требовалось) делалась проверка ине и комментариями
--нет старого --ошибка
--есть старое --нет нового --норма
--есть старое --есть новое ----что сделать(переписать или изменить новое имя)
1
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.08.2017, 14:16
Цитата Сообщение от shanemac51 Посмотреть сообщение
это тоже не сработало, задала точное имя
У меня все находится, даже при большей глубине вложенности
Миниатюры
Поиск файла в сетевой директории командой из формы  
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12512 / 5086 / 814
Регистрация: 07.08.2010
Сообщений: 14,973
Записей в блоге: 4
23.08.2017, 14:19
у вас здесь имя точное
я хотела найти по маске дет11*.* или дет12*.*

при структуре типичной записи (дет/сб)(код)-(вариант)-(готовность).(формат)

например найти дет11 , сделанную или отливкой или ковкой, проверить сколько вариантов техпроцесса дет12 имеется в наличии(где, статус готовности...)
1
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.08.2017, 14:27
Цитата Сообщение от shanemac51 Посмотреть сообщение
я хотела найти по маске det11*.*
Надо заменить строку
Visual Basic
1
If fso.FileExists(cat(1, i) & "\" & file) Then
на
Visual Basic
1
If Dir(cat(1, i) & "\" & file & ".*") <> "" Then
Тогда не надо будет в параметре функции задавать расширение
1
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,570
23.08.2017, 14:50  [ТС]
Указал ему расширение, он сразу хватанул, подскажите как правильно указать ему еще два...!!!
mobile, вы как всегда правы, гигант мысли, отец русского программирования.... ( далее, только неприкрытая лесть),если честно откровенно, ОЧЕНЬ ОЧЕНЬ БОЛЬШОЕ СПАСИБО за помощь ВсЕм ВсЕм, УРА!. ЗАРАБОТАЛА!!!! Это уже результат, без сомнения! И Я БУДУ СОВЕРШЕННО счастлив на сегодня,если вы мне подскажете ответ на это "....подскажите как правильно указать ему еще два расширения...!!!"

Добавлено через 6 минут
находит без расширения, но после прерименования начинает ругаться сюда

Name cat(1, i) & "/" & file As newname

Добавлено через 4 минуты
пишет Файл не найден!

Добавлено через 7 минут
это после замены
Цитата Сообщение от mobile Посмотреть сообщение
1
If fso.FileExists(cat(1, i) & "" & file) Then
0
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.08.2017, 14:57
Последний блок с переименованием перепишите на
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
    Dim f
    For i = 0 To UBound(cat, 2)
        If Dir(cat(1, i) & "\" & file & ".*") <> "" Then
            f = Dir(cat(1, i) & "\" & file & ".*")
            Do Until f = ""
                newname = InputBox("Новое имя файла " & f, , cat(1, i) & "\" & f)
                If newname <> "" And newname <> cat(1, i) & "\" & f Then
                    Name cat(1, i) & "\" & f As newname
                End If
                f = Dir
            Loop
        End If
    Next
1
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,570
23.08.2017, 14:59  [ТС]
Не знаю правильно или нет, забацал так:
Visual Basic
1
2
3
4
5
6
    Dim LResult As String, path, i, s, newname, sd
'    path = Array("L:\KDBANK\PLAZMA", "L:\KDBANK\PARTDIR", "L:\KDBANK\ZAGOTOVKA")
    sd = Me.Деталь
    FindRecurs sd & ".cp"
    FindRecurs sd & ".txt"
    FindRecurs sd & ".cdw"
вроде работает как надо, я доволен
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
23.08.2017, 15:02
Лучший ответ Сообщение было отмечено Braser как решение

Решение

Цитата Сообщение от Braser Посмотреть сообщение
и все найденные нужно пометить как неактуальные, дописав после наименования и расширения какое то условное слово, допустим "изменен".
Так и сделал.
Вот мой вариантик решения - вроде пашет в подпапках всех уровней.
Вложения
Тип файла: rar ПримерПоиск_v02_Eugene-LS.rar (42.5 Кб, 20 просмотров)
2
Эксперт MS Access
26828 / 14509 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
23.08.2017, 15:20
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Вот мой вариантик решения - вроде пашет в подпапках всех уровней

'Рекурсивный обход подпапок...
Я тоже сначала пошел на рекурсию. Но когда в эксперименте при обходе папки винды забился стек, то ушел на построение массива. Здесь со стеком можно не волноваться , хватит на все. Рекурсия слишком затратна на больших списках. А на маленьких замечательно работает
1
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,570
23.08.2017, 15:37  [ТС]
Вариантик тоже отличный, единственое, что я, если позволите, убрал бы
Visual Basic
1
& Format(iRenID, "000")
там достаточно просто пометки "-изменен" после расширения, и ассоциативность с приложением теряется, т.е. технолог видит что файл не хотит открываться, значит карачун ему настал.
И еще один вопрос.
Я допустим провожу по кнопке переименования все файлы согласно заданному поиском критерию. запускаю снова поиск этого файла и он мне находит те же файлы, только уже разумеется с пометкой "-изменен". В моем случае, это как бы нежелательно.
Тетенька работает рассеянная в архиве, производит замену, смотрит в список повыше и не помнит, то ли она уже эту деталь забанила, то ли нет, вторично ее открывает, там уже получается в конце файла "-изменен-изменен" тетенька начинает нервничать и жать чего попало и плодит варианты этих файлов....вообщем жизнь, думаю вы видели таких тетенек. вообщем как бы это можно убрать? Здесь надо -Уж если изменил файл, то при повторном нажатии он его уже не видит. Вот.
Извините за критику, в некотором роде, но я безусловно глубоко Вам благодарен, за то что прониклись моей проблемой и потратили думаю, немало времени, сам люблю помогать людям, если есть конечно возможность и силы.
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
23.08.2017, 15:42
Цитата Сообщение от mobile Посмотреть сообщение
Рекурсия слишком затратна на больших списках. А на маленьких замечательно работает
Спасибо за напоминание.
Я предварительно тестил на своей плотно набитой папочке с кучей файлов - нормально отработало.
А на windows ... действительно процедура захлебнулась.
1
397 / 140 / 39
Регистрация: 16.03.2013
Сообщений: 1,570
23.08.2017, 15:42  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Рекурсия слишком затратна на больших списках
Это тоже весомый аргумент, на данный момент в базе 38000 деталей, если размножить на 3 вида файлов, (думаю что может заставят еще парочку документов цеплять) итого 5*38000... 190000...явно то мало не покажется.
0
Эксперт MS Access
 Аватар для Eugene-LS
13270 / 5947 / 1529
Регистрация: 05.10.2016
Сообщений: 16,651
23.08.2017, 16:07
Цитата Сообщение от Braser Посмотреть сообщение
там достаточно просто пометки "-изменен"
+ Уж если изменил файл, то при повторном нажатии он его уже не видит
Учёл критику и пожелания

А насчёт массива я потом подумаю ...
Вложения
Тип файла: rar ПримерПоиск_v03_Eugene-LS.rar (40.3 Кб, 27 просмотров)
2
Модератор
Эксперт MS Access
 Аватар для shanemac51
12512 / 5086 / 814
Регистрация: 07.08.2010
Сообщений: 14,973
Записей в блоге: 4
23.08.2017, 16:35
Цитата Сообщение от Eugene-LS Посмотреть сообщение
А на windows ... действительно процедура захлебнулась.
там есть защищенные папки --они и не открываются, их надо игнорировать
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.08.2017, 16:35

Поиск по сигнатуре заданного файла в указанной директории
Помогите пожалуйста с задачкой... Поиск по сигнатуре заданного файла в указанной директории. Cначала берётся сигнатура у заданного...

Организовать поиск заданного файла в указанной директории и ее поддиректории
Доброго времени суток, нужна помощь с выполнением задания поиска указанного файла и в директории ( заданный файл и путь к указанной...

Как сделать поиск файла в выбранной директории и открыть в мемо1
Хочу сделать поиск файла по названию, который введу в мемо или едит, в выбранной директории происходит поиск, после чего afqk открыть в...

Как осуществить поиск файла во всех папках данной директории?
Добрый день! Как осуществить поиск файла во всех папках данной директории? Есть директория, в ней много папок, мне нужно найти там один...

Мониторинг файлов в сетевой директории
Здравствуйте. Подскажите, что не так. Есть замечательный инструмент FileSystemWatcher Все отлично работает, НО только в локали. Т.е. если...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru