Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как закачать группу файлов? / 18 сообщений из 18, страница 1 из 1
20.10.2003, 16:57
    #32298784
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Здравствуйте! Подскажите пожалуйста, как импортировать данные в Access 97 группу текстовых файлов. Данные из этих фалов должны попасть в одну таблицу. Используя DoCmd.TransferText один файл импортируется, а вот группа файлов, у которой имена разные, расширение одно пока не получается...

Подскажите, кто сможет...
...
Рейтинг: 0 / 0
20.10.2003, 17:04
    #32298798
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Чтоб не мучаться, я бы сначала получил один файл:
copy 1.txt + 2.txt result.txt /b
...
Рейтинг: 0 / 0
20.10.2003, 17:09
    #32298811
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Geo, я не понял, где это нужно писать, в Vb?
...
Рейтинг: 0 / 0
20.10.2003, 17:11
    #32298815
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Поиск по форуму даст результаты как получить список файлов в каталоге.
Для полученного списка (массив или как ще не важно) выполняешь DoCmd.TransferText
...
Рейтинг: 0 / 0
20.10.2003, 17:33
    #32298873
RIm
RIm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Пример, как импортировать все листы из всех XLS файлов в папке
Сначала строим массив с именами всех листов в XLS файле, заетм их импортируем.


Текст вырезал из модуля, поудалял лишнего. Может и нужного чего удалил :-)

Код: 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.
Dim strFile As String
    strFile = Dir( "d:\temp\*.xls" )
    Do Until strFile =  ""
        Dim wbname As String
        wbname = " d:\ПЛАН\ " & strFile
        x.Workbooks.Open wbname
        x.Visible = False

        Dim ws As Worksheet
        wsi = 0 
        For Each ws In x.Worksheets
            'Debug.Print ws.Name
            wsi = wsi +  1 
            wsname(wsi) = ws.Name
        Next ws
        x.Workbooks(strFile).Close SaveChanges:=False

        Dim ii As Long
        For ii =  1  To wsi
            DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9,  "_plan_2004_temp ",  wbname, False, wsname(ii) & " !A:AE"
        Next ii

      strFile = Dir


    Loop

...
Рейтинг: 0 / 0
21.10.2003, 08:43
    #32299282
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Rlm! Большое спасибо! Я понял как это сделать у меня.
...
Рейтинг: 0 / 0
21.10.2003, 11:29
    #32299467
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Для тех кто сталкнется с похожей проблемой выкладываю как это сделал я...

Dim a, b, c As String
Dim strFile As String
strFile = Dir("e:\ямбург\*.irc")
b = CurDir

Do Until strFile = ""
strFile = Dir
If strFile <> "" Then
c = "e:\ямбург\" & strFile
DoCmd.TransferText acImportDelim, , "НГПА_02 перех", c, True
End If
Loop
...
Рейтинг: 0 / 0
21.10.2003, 17:59
    #32300336
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
В таком варианте есть несколько багов.

1. Первый файл не будет обработан.
2. Проверка If strFile <> "" Then лишняя.
3. Сточка b = CurDir и описание переменной b тоже лишние.
...
Рейтинг: 0 / 0
22.10.2003, 08:48
    #32300680
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Спасибо за подсказку, уже исправил...

А на счет : Сточка b = CurDir и описание переменной b
то это мысли вслух и планы на будущее ... и в программу попало случайно.
...
Рейтинг: 0 / 0
22.10.2003, 08:56
    #32300691
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Забыл добавить.
Проверка Проверка If strFile <> "" всетаки нужна, так как функция переберет все файлы в директории и в итоге вернет пустую строку. А DoCmd.TransferText acImportDelim ругается на е:\ямбург\"null" так, как не знает какой смотреть файл.
...
Рейтинг: 0 / 0
22.10.2003, 12:06
    #32301183
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
> Проверка Проверка If strFile <> "" всетаки нужна

Не нужна, потому что проверка Do Until strFile = "" и выход из цикла произойдет раньше. Только, конечно, строку strFile = Dir надо перенести в конец цикла, чтобы исправить первый из перечисленных мной багов.

Dim a, c As String
Dim strFile As String
strFile = Dir("e:\ямбург\*.irc")

Do Until strFile = ""
c = "e:\ямбург\" & strFile
DoCmd.TransferText acImportDelim, , "НГПА_02 перех", c, True
strFile = Dir
Loop

> DoCmd.TransferText acImportDelim ругается на е:\ямбург\"null" так, как не знает какой смотреть файл.

А как получилось е:\ямбург\"null", если задано e:\ямбург\*.irc?
...
Рейтинг: 0 / 0
22.10.2003, 13:07
    #32301324
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
>А как получилось е:\ямбург\"null", если задано e:\ямбург\*.irc?

' Возвращает имя файла с указанным расширением. При наличии нескольких
' файлов *.IRC возвращается первый найденный файл.
StrFile = Dir("e:\ямбург\*.irc")

' Повторно вызывает Dir без аргументов для возврата следующего файла
' с расширением *.IRC, находящегося в том же каталоге.
StrFile = Dir

А вот когда цикл переберет все файлы *.IRC он в итоге вернет Null... Как раз для этого я и пишу:
Do Until strFile = ""
...
Рейтинг: 0 / 0
22.10.2003, 13:16
    #32301348
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Во-первых, Dir может вернуть только пустую строку, а не Null. Во-вторых, против условия выхода из цикла я и не возражал. В-третьих, откуда все-таки берется слово null без расширения, с маленькой буквы и с кавычками вокруг?
...
Рейтинг: 0 / 0
22.10.2003, 13:22
    #32301357
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Владимир Саныч. Под написанием "null" я как раз и имел ввиду пустую строку... Хотел попонятней объяснить, а получилось как всегда...
...
Рейтинг: 0 / 0
22.10.2003, 13:33
    #32301378
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
И что - по-прежнему ругается, несмотря на то что поставлено условие выхода?
...
Рейтинг: 0 / 0
22.10.2003, 13:36
    #32301381
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Нет, нет... Все работает. Спасибо!
...
Рейтинг: 0 / 0
23.10.2003, 10:31
    #32302568
PanzerFaust
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Дико извиняюсь за ламерский вопрос - а в какой функции надо этот кусочек кода использовать - а то почти аналогичная задача стоит, а откуда грызть начать - непонятно. Может немного расширить примерчик - до функции...хотя бы
Благодарность непросвещенного народонаселения не будет иметь границ:))

Есть в директории некий файл с непостоянным названием и постоянной структурой (или 2-3, иногда 100 :) файлов Ёкселя) оттуда в таблицу надо метнуть три столбца. С одним файлом я соорудил процедуру, а с неопределенным списком - трабл:(
...
Рейтинг: 0 / 0
23.10.2003, 11:32
    #32302685
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закачать группу файлов?
Посмотри чуть-чуть по выше. Rlm вроде все уже написал...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как закачать группу файлов? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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