powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / поиск файлов
16 сообщений из 16, страница 1 из 1
поиск файлов
    #32810301
MPoil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть такая проблема-при поиске файлов использую два filesystemobject и в момент использования второго первый почему-то присваивает все значения второго.



....Или помогите решить следующую задачу- ведём поиск в подкаталогах по файлам test_(short_date).mdb и бёрём только тот,в котором short_date наибольший.

Заранее спасибо
...
Рейтинг: 0 / 0
поиск файлов
    #32810333
RFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MPoilв момент использования второго первый почему-то присваивает все значения второго.


Попробуй объявлять переменные как Private либо с разными именами.
...
Рейтинг: 0 / 0
поиск файлов
    #32810351
MPoil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RFT MPoilв момент использования второго первый почему-то присваивает все значения второго.


Попробуй объявлять переменные как Private либо с разными именами.
dim fs
dim fs2
set fs=application.filesearch
set fs2=application.filesearch

Первый сразу начинает присваивать после fs2.execute()
...
Рейтинг: 0 / 0
поиск файлов
    #32810357
MPoil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
private Не помогло
...
Рейтинг: 0 / 0
поиск файлов
    #32810385
RFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тебя не смущает одинаковое application.filesearch?
...
Рейтинг: 0 / 0
поиск файлов
    #32810409
MPoil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RFTА тебя не смущает одинаковое application.filesearch?
а как надо-просвяти
...
Рейтинг: 0 / 0
поиск файлов
    #32810427
святитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MPoilа как надо-просвяти
свят-свят-свят...
...
Рейтинг: 0 / 0
поиск файлов
    #32810434
RFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну самое простое - запускать их отдельно чтоли... И вообще, зачем тебе два FSO? Может побольше кода дашь посмотреть?
...
Рейтинг: 0 / 0
поиск файлов
    #32810473
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересно, а где здесь обещанный FileSystemObject?
...
Рейтинг: 0 / 0
поиск файлов
    #32810529
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Простите чайника, а если написать
= New
?
...
Рейтинг: 0 / 0
поиск файлов
    #32810630
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Саныч

на 15 тысяче стал чайником?
...
Рейтинг: 0 / 0
поиск файлов
    #32810651
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
вадя2Саныч

на 15 тысяче стал чайником?
Болтливость - это еще не признак высокого профессионализма. Даже скорее наоборот.
...
Рейтинг: 0 / 0
поиск файлов
    #32810971
MPoil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?Set fs2 = New Application.FileSearch -ошибка при компиляции.
Как привильно dim fs2? private fs2? какой тип у fs2?


2.Может просто кто-то знает как ещё можно решить мою задачу: Допустим есть два каталога:
dir1 и dir2 с файлами :
dir1\temp_01.01.00.mdb
dir1\temp_01.12.04.mdb
dir1\temp_02.12.04.mdb
dir2\temp_01.01.02.mdb
dir2\temp_01.12.04.mdb
dir2\temp_02.12.05.mdb/
Вообщем надо выбрать только файлы :
1.dir2\temp_02.12.05.mdb
2.dir1\temp_02.12.04.mdb
...
Рейтинг: 0 / 0
поиск файлов
    #32810985
MPoil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
    On Error GoTo Label
    
    Dim i As Integer, J As Integer
    Dim Name As String, Name_W As String, temp As String
    Dim Firma As String
    Dim rs As DAO.Recordset
    Dim fso As New FileSystemObject
    
    temp = "Temp"
    If IsNull(Me.BDNameU) Then
        MsgBox "Óêàæèòå ïóòü ê äèðåêòîðèè"
        Exit Sub
    End If
'    If IsNull(Me.BDNameFile) Then
'        MsgBox "Óêàæèòå ïóòü ê îáúåäèíåííîé ÁÄ"
'        Exit Sub
'    End If
'    RefreshLinks (BDNameFile)
    Set fs = Application.FileSearch
    With fs
        .NewSearch
        .LookIn = Me.BDNameU
        .SearchSubFolders = True
        .MatchAllWordForms = True
        .MatchTextExactly = False
        Select Case Priznak
            Case 0
                .FileName = "IT_Budget_dat.mdb"
            Case 1
                .FileName = "IT_Budget_dat-"
            Case 2
                .FileName = "IT_Budget_dat_final"
        End Select
        
        If .Execute(SortBy:=msoSortByFileName, _
    SortOrder:=msoSortOrderAscending) > 0 Then
            For i = 1 To .foundfiles.Count
            Debug.Print fs.foundfiles(i)
            If Priznak = 1 Then
                
                Set fs2 = Application.FileSearch
                    fs2.LookIn = Left(fs.foundfiles(i), InStrRev(fs.foundfiles(i), "\"))
                    fs2.SearchSubFolders = False
                    fs2.FileName = "IT_Budget_dat-"
                    Dim cnt As Integer
                    
                    If 
Код: plaintext
fs2.Execute() 
> 0 Then
Dim str_date As Date
For cnt = 1 To fs2.foundfiles.Count
Dim str_date2 As Date
str_date2 = str_date
str_date = Format(Mid(fs2.foundfiles(cnt), 48, InStrRev(fs2.foundfiles(cnt), ".") - InStrRev(fs2.foundfiles(cnt), "-") - 1), "dd.mm.yy")
' datediff(m,format(str_date,"dd.mm.yy"),format(str_date,"dd.mm.yy"))

If str_date2 > 0 Then
If DateDiff("d", str_date, str_date2) > 0 Then
str_date = str_date2
End If
End If
Next cnt
End If

fs2.FileName = Format(str_date, "dd.mm.yy") & ".mdb"
If Left(fs2.FileName, 1) = "0" Then
fs2.FileName = "*" & Right(fs2.FileName, Len(fs2.FileName) - 1)
End If
If fs2.Execute() > 0 Then
If fs.foundfiles(i) <> fs2.foundfiles(1) Then
Exit For
End If
End If
End If
' Me.NameBD.Caption = "(" & fs.foundfiles(i) & ")"
For J = 1 To 1
Select Case J
Case 1
Name = "Budget"
End Select
Select Case Priznak
Case 0
Name_W = Name & "_U"
Case 1
Name_W = Name & "_Z"
Case 2
Name_W = Name & "_F"
End Select
If (Priznak = 1 Or Priznak = 2) Or ((Priznak = 0) And (UCase(Right(fs.foundfiles(i), Len(fs.FileName))) = UCase(fs.FileName))) Then
Debug.Print fs.foundfiles(i)
DoCmd.TransferDatabase acImport, "Microsoft Access", fs.foundfiles(i), acTable, Name, temp
Set rs = CurrentDb.OpenRecordset(temp)
If Not rs.EOF Then
Firma = rs!Region_ID
rs.Close
Dim rs2 As DAO.Recordset
Set rs2 = CurrentDb.OpenRecordset("select distinct region_id from temp")

Set rs2 = Nothing
DoEvents
' If Firma = 725 Then
' CurrentDb.Execute ("Update Temp set region_id=725")
' End If

CurrentDb.Execute "Delete * from " & Name_W & " where region_id=" & Firma

CurrentDb.Execute ("insert into " & Name_W & " select * from " & temp)
CurrentDb.Execute ("insert into Protokol (BD_id,Name_BD,Date_time,Type_BD) values(" & Firma & ",""" & fs.foundfiles(i) & """,""" & Day(Date) & "/" & Month(Date) & "/" & Year(Date) & """," & Priznak + 1 & ")")
If Priznak = 2 Then
CurrentDb.Execute "Delete * from Budget_F_copy where region_id=" & Firma
CurrentDb.Execute ("insert into Budget_F_copy select * from " & temp)
' CurrentDb.Execute ("insert into Protokol (BD_id,Name_BD,Date_time,Type_BD) values(" & Firma & ",""" & fs.foundfiles(i) & """,""" & Day(Date) & "/" & Month(Date) & "/" & Year(Date) & """," & Priznak + 1 & ")")
End If
Else
rs.Close
' MsgBox "îòñóòñòâóþò äàííûå ïî " & Name
End If
DoCmd.DeleteObject acTable, temp
End If
Next J
Next i
If Priznak = 2 Then
' 'Çàìåíà ïóñòûõ ïåðèîäîâ íà 2êâ2005
' strsql = "UPDATE Budget_F SET Budget_F.Period_ID = ""2êâ2005"" WHERE (Budget_F.Period_ID Is Null)"
' CurrentDb.Execute strsql
' 'Çàìåíà ïóñòûõ ïåðèîäîâ íà 2êâ2005
' '?????
' 'Óäàëèòü 283 - Íåíåöêèé îêðóã
' strsql = "Delete * from Budget_F WHERE Budget_F.Region_id=283"
' CurrentDb.Execute strsql
' 'Óäàëèòü 283 - Íåíåöêèé îêðóã
' 'Çàìåíèòü NULL Branch_id íà ñòîëè÷íûé
'' strsql = "UPDATE Branch_Dict_New BDN INNER JOIN Budget_F BF ON BDN.Region_ID = BF.Region_ID SET BF.Branch_ID = BDN.SKK_Branch_ID " & _
'' "WHERE (BF.Branch_ID Is Null) And BDN.Direction "
'' CurrentDb.Execute strsql
' 'Çàìåíèòü NULL Branch_id íà ñòîëè÷íûé
' 'Óäàëèòü âñå çàïèñè, ãäå Total=Null
' strsql = "Delete * from Budget_F where Total is Null"
' CurrentDb.Execute strsql
' 'Óäàëèòü âñå çàïèñè, ãäå Total=Null
End If
MsgBox "закончено объединение"
Else
MsgBox "нет данных"
End If
End With

Exit Sub
Label:
MsgBox err.Description
[SRC vba][/src]На том месте fs2.execute() перехватывает fs1
...
Рейтинг: 0 / 0
поиск файлов
    #32811000
Birjan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно использовать функцию Dir() и в цикле искать нужный файл.
...
Рейтинг: 0 / 0
поиск файлов
    #32811047
MPoil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как получиь список подкаталогов в данном каталоге ввиде массива?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / поиск файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]