гороскоп на сегодня у скорпиона любовный гороскоп совместимости любовный гороскоп на 2017 рак девушка подробнее на этой странице нажмите чтобы увидеть больше ссылка на подробности любовный гороскоп гороскоп совместимости совместимость знаков в любви любовный гороскоп любовный гороскоп гороскоп совместимости парень козерог девушка весы гороскоп совместимость гороскоп на месяц любовный рак гороскоп на след неделю девы любовный гороскоп женщина рыба мужчина весы совместимость гороскоп совместимости он телец она овен совместимость любовный увидеть больше гороскоп дева любовный на сегодня и завтра гороскоп основываясь на этих данных на этой странице гороскоп на совместимость телец и рыбы рак гороскоп весы стрелец совместимость на 2017 год гороскоп ссылка сегодня гороскоп совместимость по гороскопу женщина телец мужчина рак совместимость гороскоп секс гороскоп совместимости читать больше гороскоп любовный на сегодня козерогу гороскоп любовный на завтра для стрельца гороскоп любовный на месяц рыбы женщина совместимость гороскопа лев и овен нажмите для продолжения любовный гороскоп двух львов гороскоп неделю гороскоп стрелец женщина и весы мужчина совместимость в браке гороскоп совместимости весы жен овен муж подробнее на этой странице сексуальный гороскоп близнецы женщин гороскоп совместимости она водолей он телец основываясь на этих данных совместимость по гороскопу близнецы скорпион гороскоп совместимости рак и козерог на 2017 гороскоп козы на 2017 любовный гороскоп на завтра лев любовный женщина одинокая перейти увидеть больше совместимость по гороскопу рыба и дева гороскоп женщины любовный гороскоп скорпиона на 2017 год мужчина гороскоп пифагора совместимости знаков зодиака привожу ссылку любовный гороскоп на рыб сегодня по ссылке гороскоп таблица совместимости по годам сексуальный гороскоп водолея и овна любовный гороскоп на месяц для овнов гороскоп совместимости рыбы женщина и рак мужчина совместимость нажмите чтобы увидеть больше гороскоп совместимости по луне и солнцу вот ссылка гороскоп на совместимость женщина телец любовный гороскоп на месяц весы 2017 гороскоп дева телец совместимость совместимость гороскопов лев скорпион посетить страницу гороскоп совместимости знаков зодиаков таблица фото гороскоп совместимости рыба тигр любовный гороскоп женщина козерог 2017 любовный гороскоп козерог на сегодня женщина любовный гороскоп для девы на сегодня и завтра гороскоп стрелец на завтра женщина любовный составить любовный любовный гороскоп водолей на 2017 гороскоп совместимости по знакам зодиака овен и водолей

Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Lukas
Без шапки, с небольшим форматированием:

Private rst As ADODB.Recordset

Public Sub ReadFiles()
    Dim f As Integer
    
    With GetFiles()
        If .Count = 0 Then
            Exit Sub
        Else
            CreateRST
            For f = 1 To .Count
    '            Debug.Print .Item(f)
                ReadFile .Item(f)
            Next f
            CreateList
            rst.Close
            Set rst = Nothing
        End If
    End With
End Sub

Private Function GetFiles() As FileDialogSelectedItems
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True
        .Filters.Clear
        .Filters.Add "Текстовые файлы", "*.txt"
        .Show
        Set GetFiles = .SelectedItems
    End With
End Function

Private Sub ReadFile(FullPath As String)
    Const INSIDE_MARK As String = "1CClientBankExchange"
    Const DELIMITER As String = "="
    
    Dim TextLine, row
    Dim i As Integer
    
    Open FullPath For Input As #1
        Line Input #1, TextLine
        If TextLine = INSIDE_MARK Then 'Проверка на Внутренний признак файла обмена
            Do While Not EOF(1)
                Line Input #1, TextLine
                If TextLine <> vbNullString Then
                    row = Split(TextLine, DELIMITER)
                    Select Case row(0)
                        Case "ВерсияФормата", "Кодировка", "Отправитель", "Получатель", "ДатаСоздания", "ВремяСоздания", "ДатаНачала", _
                            "ДатаКонца", "РасчСчет", "Документ", "СекцияРасчСчет", "ДатаНачала", "ДатаКонца", "РасчСчет", _
                            "НачальныйОстаток", "ВсегоПоступило", "ВсегоСписано", "КонечныйОстаток", "КонецРасчСчет", "КонецДокумента"
                        Case Is = "СекцияДокумент"
                            rst.AddNew
                            rst.Fields("СекцияДокумент") = row(1)
                        Case Is = "КонецФайла"
                            rst.UpdateBatch
                            rst.MoveFirst
                        Case Else
                            rst.Fields(row(0)) = row(1)
                    End Select
                End If
            Loop
        Else
            MsgBox "Файл не содержит Внутренний признак файла обмена"
        End If
    Close #1
End Sub

Private Sub CreateList()
    Dim wsh As Worksheet
    Dim i As Integer
    
    With Workbooks.Add
        Set wsh = .Worksheets(1)
        With wsh
            For i = 0 To rst.Fields.Count - 1
                .Cells(1, i + 1) = rst.Fields(i).Name
                Select Case rst.Fields(i).Type
                    Case adDate
                        .Columns(i + 1).NumberFormat = "dd/mm/yyyy"
                    Case adCurrency
                        .Columns(i + 1).Style = "Comma"
                End Select
            Next i
            .Cells(2, 1).CopyFromRecordset rst
            .Cells.EntireColumn.AutoFit
        End With
    End With
End Sub

Private Sub CreateRST()
    Dim i As Integer
    Set rst = New ADODB.Recordset
    With rst
        With .Fields
            .Append "СекцияДокумент", adVarChar, 255
            .Append "Номер", adVarChar, 255
            .Append "Дата", adDate, 8, adFldIsNullable
            .Append "Сумма", adCurrency
            .Append "КвитанцияДата", adDate, 8, adFldIsNullable
            .Append "КвитанцияВремя", adDate, 8, adFldIsNullable
            .Append "КвитанцияСодержание", adVarChar, 255
            .Append "ПлательщикСчет", adVarChar, 20
            .Append "ДатаСписано", adDate, 8, adFldIsNullable
            .Append "Плательщик", adVarChar, 255
            .Append "ПлательщикИНН", adVarChar, 12
            .Append "Плательщик1", adVarChar, 255
            .Append "Плательщик2", adVarChar, 255
            .Append "Плательщик3", adVarChar, 255
            .Append "Плательщик4", adVarChar, 255
            .Append "ПлательщикРасчСчет", adVarChar, 20
            .Append "ПлательщикБанк1", adVarChar, 255
            .Append "ПлательщикБанк2", adVarChar, 255
            .Append "ПлательщикБИК", adVarChar, 9
            .Append "ПлательщикКорсчет", adVarChar, 20
            .Append "ПолучательСчет", adVarChar, 20
            .Append "ДатаПоступило", adDate, 8, adFldIsNullable
            .Append "Получатель", adVarChar, 255
            .Append "ПолучательИНН", adVarChar, 12
            .Append "Получатель1", adVarChar, 255
            .Append "Получатель2", adVarChar, 255
            .Append "Получатель3", adVarChar, 255
            .Append "Получатель4", adVarChar, 255
            .Append "ПолучательРасчСчет", adVarChar, 20
            .Append "ПолучательБанк1", adVarChar, 255
            .Append "ПолучательБанк2", adVarChar, 255
            .Append "ПолучательБИК", adVarChar, 9
            .Append "ПолучательКорсчет", adVarChar, 20
            .Append "ВидПлатежа", adVarChar, 255
            .Append "ВидОплаты", adVarChar, 2
            .Append "Код", adVarChar, 25
            .Append "НазначениеПлатежа", adVarChar, 255
            .Append "НазначениеПлатежа1", adVarChar, 255
            .Append "НазначениеПлатежа2", adVarChar, 255
            .Append "НазначениеПлатежа3", adVarChar, 255
            .Append "НазначениеПлатежа4", adVarChar, 255
            .Append "НазначениеПлатежа5", adVarChar, 255
            .Append "НазначениеПлатежа6", adVarChar, 255
            .Append "СтатусСоставителя", adVarChar, 2
            .Append "ПлательщикКПП", adVarChar, 9
            .Append "ПолучательКПП", adVarChar, 9
            .Append "ПоказательКБК", adVarChar, 20
            .Append "ОКАТО", adVarChar, 11
            .Append "ПоказательОснования", adVarChar, 2
            .Append "ПоказательПериода", adVarChar, 10
            .Append "ПоказательНомера", adVarChar, 255
            .Append "ПоказательДаты", adDate, 8, adFldIsNullable
            .Append "ПоказательТипа", adVarChar, 2
            .Append "Очередность", adVarChar, 2
            .Append "СрокАкцепта", adInteger, 4
            .Append "ВидАккредитива", adVarChar, 255
            .Append "СрокПлатежа", adDate, 8, adFldIsNullable
            .Append "УсловиеОплаты1", adVarChar, 255
            .Append "УсловиеОплаты2", adVarChar, 255
            .Append "УсловиеОплаты3", adVarChar, 255
            .Append "ПлатежПоПредст", adVarChar, 255
            .Append "ДополнУсловия", adVarChar, 255
            .Append "НомерСчетаПоставщика", adVarChar, 255
            .Append "ДатаОтсылкиДок", adDate, 8, adFldIsNullable
        End With
        .Open
    End With
End Sub


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.