PHP User Warning: fetch_template() calls should be replaced by the vB_Template class. Template name: bbcode_highlight in ..../includes/functions.php on line 4197
When pressing button to run procedure Кнопка7_Click(), the program works for 5 hours-VBForums
Results 1 to 12 of 12

Thread: When pressing button to run procedure Кнопка7_Click(), the program works for 5 hours

  1. #1

    Thread Starter
    Junior Member
    Join Date
    Jun 2019
    Posts
    24

    When pressing button to run procedure Кнопка7_Click(), the program works for 5 hours

    When pressing button to run procedure Кнопка7_Click(), the program works for 5 hours to open file .csv How does I increase speed for opening file .csv?

    example of .csv file
    MKMASTER,MKMASTER,DESC,PNC,COST,CORE,LIST,1,2,3,4
    84651TL0E01ZB,84651TL0E01ZB,LNG L. NH85L,,156.67,0,184.97,,,,
    84651TL0E01ZA,84651TL0E01ZA,LNG ASSY LNH85L,,131.49,0,178.01,,,,
    84651TK4A01ZA,84651TK4A01ZA,LNG L. NH85L,,84.53,0,104.92,,,,

    the program that work very slowly when open csv



    Private Sub Кнопка7_Click()
    Dim dbName As String
    Dim strFileName As String
    Dim i&, j&, s$, v, v1, k As Long
    Dim Subsru As Recordset, Полe(20) As String
    Set Subsru = DBEngine.Workspaces(0).Databases(0).OpenRecordset("SUBARU", DB_OPEN_DYNASET)
    Dim DESC As String, MKMASTER As String, Поле2 As String, NEW1 As String, COST As String, ABCD As String, CORE As String, LIST As String, mmm As String
    strFileName = FindNorthwind(dbName, "*.csv")
    If strFileName = "" Then
    MsgBox ("Нет выбранного файла")
    Else
    i = FreeFile: Open strFileName For Input As i: s = Input(LOF(i), i): Close i
    v = Split(s, vbLf)
    CurrentDb.Execute "DELETE SUBARU.* FROM SUBARU"
    Dim arr(0 To 4)
    For i = LBound(v) To UBound(v)
    If i > 0 Then
    SysCmd acSysCmdSetStatus, "Формирование " & i
    s = v(i)
    If s = "" Then
    Exit For
    End If
    If UBound(Split(s, ",")) = 10 Then
    Subsru.AddNew
    Subsru!MKMASTER = Nz(CuttingFromLine(1, ",", s))
    mmm = CuttingFromLine(2, ",", s)
    mmm = CuttingFromLine(2, ",", mmm)
    Subsru![DESC] = Nz(CuttingFromLine(1, ",", mmm))
    mmm = CuttingFromLine(2, ",", mmm)
    Subsru![NEW#] = Nz(CuttingFromLine(1, ",", mmm))
    mmm = CuttingFromLine(2, ",", mmm)
    If Nz(CuttingFromLine(1, ",", mmm)) = "" Then
    Subsru!COST = 0
    Else
    Subsru!COST = CCur(Nz(CuttingFromLine(1, ",", mmm)))
    End If
    mmm = CuttingFromLine(2, ",", mmm)
    CORE = Nz(CuttingFromLine(1, ",", mmm))
    If Nz(CORE) = "" Then
    Subsru![CORE] = 0
    Else
    Subsru![CORE] = CCur(CORE)
    End If

    mmm = CuttingFromLine(2, ",", mmm)
    If Nz(CuttingFromLine(1, ",", mmm)) = "" Then
    Subsru!LIST = 0
    Else
    Subsru!LIST = CCur(Nz(CuttingFromLine(1, ",", mmm)))
    End If


    Subsru.Update
    Else

    MKMASTER = Nz(CuttingFromLine(1, ",", s))

    mmm = CuttingFromLine(2, ",", s)
    Поле2 = Nz(CuttingFromLine(1, ",", mmm))
    mmm = CuttingFromLine(2, ",", mmm)
    For j = 0 To 20
    Полe(j) = Nz(CuttingFromLine(1, ",", mmm))
    mmm = CuttingFromLine(2, ",", mmm)
    If Nz(mmm) = "" Then
    Полe(j + 1) = ""
    Exit For
    End If
    If InStr(1, mmm, ",") = 0 Then
    Полe(j + 1) = mmm
    Exit For
    End If
    Next
    LIST = Полe(j - 3)
    CORE = Полe(j - 4)
    COST = Полe(j - 5)
    NEW1 = Полe(j - 6)
    j = j - 6
    DESC = Nz(Полe(0))
    For k = 1 To j - 1
    If Nz(Полe(k)) <> "" Then DESC = DESC & "," & Nz(Полe(k))
    Next

    "SELECT '" & DESC & "','" & MKMASTER & "','" & NEW1 & "','" & COST & "','" & LIST & "'"
    Subsru.AddNew
    Subsru![DESC] = DESC
    Subsru!MKMASTER = MKMASTER
    Subsru![NEW#] = NEW1
    If Nz(CORE) = "" Then
    Subsru![CORE] = 0
    Else
    Subsru![CORE] = CCur(CORE)
    End If
    If Nz(COST) = "" Then
    Subsru!COST = 0
    Else
    Subsru!COST = CCur(Nz(COST))
    End If
    If Nz(LIST) = "" Then
    Subsru!LIST = 0
    Else
    Subsru!LIST = CCur(Nz(LIST))
    End If
    Subsru.Update


    End If
    End If
    Next i
    End If
    MsgBox ("Данные загружены")
    Exit_Кадр_Click:
    Exit Sub

    Err_Кадр_Click:
    MsgBox err.Description & " обработка строки " & Str(i + 1)
    Resume Exit_Кадр_Click
    End Sub
    Function CuttingFromLine(Serial As Byte, Symbol As String, Line As String)
    Dim i As Integer, j As Integer
    On Error GoTo err_
    i = 0
    j = 0
    j = Len(Line)
    i = InStr(1, Line, Symbol)
    If i = 0 Then MsgBox ("Не найден разделитель " & Symbol & " в строке :" & Line): GoTo ext
    If Serial = 1 Then
    CuttingFromLine = Mid(Line, 1, i - 1)
    Else
    CuttingFromLine = Mid(Line, i + 1, j - i)
    End If
    Exit Function
    ext:
    CuttingFromLine = ""
    Exit Function
    err_:
    MsgBox (err.Description & " " & err.Number)
    GoTo ext
    End Function

    Private Sub Кнопка8_Click()
    If Nz(Me.Фирма) = "" Then MsgBox ("Выберите фирму"): Exit Sub

    If MsgBox("Пересчитать результат", vbYesNo) = vbNo Then Exit Sub
    If Сущ_таб("Связи") Then DoCmd.DeleteObject acTable, "Связи"

    CurrentDb.Execute "Результат_итог"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_MKMASTER"

    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_1_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_1_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_1_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_2_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_2_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_2_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_3_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_3_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_3_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_4_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_4_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_4_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_5_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_5_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_5_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_6_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_6_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_6_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_7_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_7_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_7_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_8_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_8_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_8_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_9_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_9_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_9_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_10_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_10_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_10_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_11_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_11_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_11_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_12_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_12_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_12_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_13_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_13_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_13_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_14_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_14_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_14_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_15_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_15_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_15_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_16_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_16_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_16_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_17_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_17_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_17_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_18_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_18_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_18_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_19_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_19_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_19_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_20_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_20_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_20_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_21_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_21_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_21_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_22_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_22_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_22_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_23_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_23_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_23_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_24_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_24_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_24_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_25_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_25_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_25_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_26_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_26_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_26_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_27_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_27_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_27_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_28_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_28_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_28_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_29_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_29_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_29_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_30_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_30_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_30_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_31_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_31_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_31_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_1_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_1_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_1_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_2_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_2_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_2_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_3_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_3_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_3_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_4_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_4_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_4_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_5_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_5_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_5_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_6_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_6_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_6_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_7_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_7_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_7_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_8_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_8_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_8_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_9_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_9_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_9_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_10_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_10_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_10_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_11_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_11_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_11_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_12_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_12_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_12_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_13_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_13_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_13_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_14_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_14_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_14_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_15_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_15_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_15_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_16_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_16_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_16_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_17_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_17_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_17_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_18_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_18_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_18_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_19_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_19_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_19_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_20_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_20_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_20_MKMASTER"
    ' Forms![Расчет]![подчиненная форма Связи].Form.RecordSource = "Связи"
    Select Case Me.Фирма
    Case "TOYOTA"
    CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'LEXUS'"
    Case "LEXUS"
    CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'TOYOTA'"
    Case "HONDA"
    CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'ACURA'"
    Case "ACURA"
    CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'HONDA'"
    End Select

    Me.Фирма = Null
    MsgBox ("Пересчет выполнен")
    End Sub

    Private Sub Показать_Click()
    DoCmd.OpenForm "Результат"
    End Sub

    Private Sub Прогон_Click()
    CurrentDb.Execute "DELETE Итого.* " & _
    "FROM Итого INNER JOIN OTKAZ_ALL ON (Итого.Фирма = OTKAZ_ALL.Фирма) AND (Итого.Артикул = OTKAZ_ALL.Артикул)"
    MsgBox ("Выполнено")

    End Sub

  2. #2

    Thread Starter
    Junior Member
    Join Date
    Jun 2019
    Posts
    24

    Re: When pressing button to run procedure Кнопка7_Click(), the program works for 5 ho


  3. #3
    PowerPoster TysonLPrice's Avatar
    Join Date
    Sep 2002
    Location
    Columbus, Ohio
    Posts
    3,298

    Re: When pressing button to run procedure Кнопка7_Click(), the program works for 5 ho

    I put code tags on it for readability:

    Code:
    Private Sub Кнопка7_Click()
    Dim dbName As String
    Dim strFileName As String
    Dim i&, j&, s$, v, v1, k As Long
    Dim Subsru As Recordset, Полe(20) As String
    Set Subsru = DBEngine.Workspaces(0).Databases(0).OpenRecordset("SUBARU", DB_OPEN_DYNASET)
    Dim DESC As String, MKMASTER As String, Поле2 As String, NEW1 As String, COST As String, ABCD As String, CORE As String, LIST As String, mmm As String
    strFileName = FindNorthwind(dbName, "*.csv")
    If strFileName = "" Then
    MsgBox ("Нет выбранного файла")
    Else
    i = FreeFile: Open strFileName For Input As i: s = Input(LOF(i), i): Close i
    v = Split(s, vbLf)
    CurrentDb.Execute "DELETE SUBARU.* FROM SUBARU"
    Dim arr(0 To 4)
    For i = LBound(v) To UBound(v)
    If i > 0 Then
    SysCmd acSysCmdSetStatus, "Формирование " & i
    s = v(i)
    If s = "" Then
    Exit For
    End If
    If UBound(Split(s, ",")) = 10 Then
    Subsru.AddNew
    Subsru!MKMASTER = Nz(CuttingFromLine(1, ",", s))
    mmm = CuttingFromLine(2, ",", s)
    mmm = CuttingFromLine(2, ",", mmm)
    Subsru![DESC] = Nz(CuttingFromLine(1, ",", mmm))
    mmm = CuttingFromLine(2, ",", mmm)
    Subsru![NEW#] = Nz(CuttingFromLine(1, ",", mmm))
    mmm = CuttingFromLine(2, ",", mmm)
    If Nz(CuttingFromLine(1, ",", mmm)) = "" Then
    Subsru!COST = 0
    Else
    Subsru!COST = CCur(Nz(CuttingFromLine(1, ",", mmm)))
    End If
    mmm = CuttingFromLine(2, ",", mmm)
    CORE = Nz(CuttingFromLine(1, ",", mmm))
    If Nz(CORE) = "" Then
    Subsru![CORE] = 0
    Else
    Subsru![CORE] = CCur(CORE)
    End If
    
    mmm = CuttingFromLine(2, ",", mmm)
    If Nz(CuttingFromLine(1, ",", mmm)) = "" Then
    Subsru!LIST = 0
    Else
    Subsru!LIST = CCur(Nz(CuttingFromLine(1, ",", mmm)))
    End If
    
    
    Subsru.Update
    Else
    
    MKMASTER = Nz(CuttingFromLine(1, ",", s))
    
    mmm = CuttingFromLine(2, ",", s)
    Поле2 = Nz(CuttingFromLine(1, ",", mmm))
    mmm = CuttingFromLine(2, ",", mmm)
    For j = 0 To 20
    Полe(j) = Nz(CuttingFromLine(1, ",", mmm))
    mmm = CuttingFromLine(2, ",", mmm)
    If Nz(mmm) = "" Then
    Полe(j + 1) = ""
    Exit For
    End If
    If InStr(1, mmm, ",") = 0 Then
    Полe(j + 1) = mmm
    Exit For
    End If
    Next
    LIST = Полe(j - 3)
    CORE = Полe(j - 4)
    COST = Полe(j - 5)
    NEW1 = Полe(j - 6)
    j = j - 6
    DESC = Nz(Полe(0))
    For k = 1 To j - 1
    If Nz(Полe(k)) <> "" Then DESC = DESC & "," & Nz(Полe(k))
    Next
    
    "SELECT '" & DESC & "','" & MKMASTER & "','" & NEW1 & "','" & COST & "','" & LIST & "'"
    Subsru.AddNew
    Subsru![DESC] = DESC
    Subsru!MKMASTER = MKMASTER
    Subsru![NEW#] = NEW1
    If Nz(CORE) = "" Then
    Subsru![CORE] = 0
    Else
    Subsru![CORE] = CCur(CORE)
    End If
    If Nz(COST) = "" Then
    Subsru!COST = 0
    Else
    Subsru!COST = CCur(Nz(COST))
    End If
    If Nz(LIST) = "" Then
    Subsru!LIST = 0
    Else
    Subsru!LIST = CCur(Nz(LIST))
    End If
    Subsru.Update
    
    
    End If
    End If
    Next i
    End If
    MsgBox ("Данные загружены")
    Exit_Кадр_Click:
    Exit Sub
    
    Err_Кадр_Click:
    MsgBox err.Description & " обработка строки " & Str(i + 1)
    Resume Exit_Кадр_Click
    End Sub
    Function CuttingFromLine(Serial As Byte, Symbol As String, Line As String)
    Dim i As Integer, j As Integer
    On Error GoTo err_
    i = 0
    j = 0
    j = Len(Line)
    i = InStr(1, Line, Symbol)
    If i = 0 Then MsgBox ("Не найден разделитель " & Symbol & " в строке :" & Line): GoTo ext
    If Serial = 1 Then
    CuttingFromLine = Mid(Line, 1, i - 1)
    Else
    CuttingFromLine = Mid(Line, i + 1, j - i)
    End If
    Exit Function
    ext:
    CuttingFromLine = ""
    Exit Function
    err_:
    MsgBox (err.Description & " " & err.Number)
    GoTo ext
    End Function
    
    Private Sub Кнопка8_Click()
    If Nz(Me.Фирма) = "" Then MsgBox ("Выберите фирму"): Exit Sub
    
    If MsgBox("Пересчитать результат", vbYesNo) = vbNo Then Exit Sub
    If Сущ_таб("Связи") Then DoCmd.DeleteObject acTable, "Связи"
    
    CurrentDb.Execute "Результат_итог"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_MKMASTER"
    
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_1_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_1_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_1_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_2_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_2_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_2_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_3_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_3_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_3_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_4_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_4_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_4_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_5_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_5_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_5_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_6_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_6_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_6_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_7_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_7_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_7_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_8_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_8_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_8_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_9_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_9_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_9_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_10_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_10_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_10_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_11_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_11_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_11_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_12_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_12_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_12_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_13_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_13_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_13_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_14_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_14_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_14_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_15_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_15_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_15_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_16_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_16_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_16_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_17_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_17_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_17_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_18_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_18_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_18_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_19_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_19_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_19_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_20_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.Результат_SUBARU_20_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_20_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_21_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_21_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_21_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_22_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_22_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_22_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_23_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_23_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_23_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_24_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_24_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_24_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_25_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_25_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_25_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_26_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_26_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_26_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_27_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_27_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_27_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_28_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_28_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_28_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_29_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_29_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_29_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_30_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_30_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_30_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_31_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_31_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_31_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_1_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_1_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_1_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_2_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_2_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_2_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_3_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_3_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_3_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_4_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_4_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_4_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_5_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_5_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_5_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_6_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_6_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_6_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_7_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_7_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_7_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_8_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_8_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_8_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_9_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_9_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_9_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_10_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_10_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_10_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_11_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_11_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_11_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_12_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_12_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_12_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_13_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_13_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_13_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_14_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_14_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_14_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_15_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_15_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_15_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_16_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_16_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_16_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_17_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_17_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_17_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_18_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_18_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_18_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_19_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_19_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_19_MKMASTER"
    CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_20_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
    "FROM Связи WHERE (((Связи.SUBARU_20_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_20_MKMASTER"
    ' Forms![Расчет]![подчиненная форма Связи].Form.RecordSource = "Связи"
    Select Case Me.Фирма
    Case "TOYOTA"
    CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'LEXUS'"
    Case "LEXUS"
    CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'TOYOTA'"
    Case "HONDA"
    CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'ACURA'"
    Case "ACURA"
    CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'HONDA'"
    End Select
    
    Me.Фирма = Null
    MsgBox ("Пересчет выполнен")
    End Sub
    
    Private Sub Показать_Click()
    DoCmd.OpenForm "Результат"
    End Sub
    
    Private Sub Прогон_Click()
    CurrentDb.Execute "DELETE Итого.* " & _
    "FROM Итого INNER JOIN OTKAZ_ALL ON (Итого.Фирма = OTKAZ_ALL.Фирма) AND (Итого.Артикул = OTKAZ_ALL.Артикул)"
    MsgBox ("Выполнено")
    
    End Sub
    But I did something wrong...
    Please remember next time...elections matter!

  4. #4

    Thread Starter
    Junior Member
    Join Date
    Jun 2019
    Posts
    24
    Last edited by daveramsey; Jun 13th, 2019 at 07:04 AM.

  5. #5
    PowerPoster
    Join Date
    Dec 2004
    Posts
    24,438

    Re: When pressing button to run procedure Кнопка7_Click(), the program works for 5 ho

    this looks like vba, is it done in access?

    maybe you should time all the queries and see if any take particularly long compared to others, but as i can not read the fields etc i am just guessing
    i do my best to test code works before i post it, but sometimes am unable to do so for some reason, and usually say so if this is the case.
    Note code snippets posted are just that and do not include error handling that is required in real world applications, but avoid On Error Resume Next

    dim all variables as required as often i have done so elsewhere in my code but only posted the relevant part

    come back and mark your original post as resolved if your problem is fixed
    pete

  6. #6

    Thread Starter
    Junior Member
    Join Date
    Jun 2019
    Posts
    24

    Re: When pressing button to run procedure Кнопка7_Click(), the program works for 5 ho

    please download source code files
    inside you can easy read code

  7. #7

    Thread Starter
    Junior Member
    Join Date
    Jun 2019
    Posts
    24

    Re: When pressing button to run procedure Кнопка7_Click(), the program works for 5 ho

    please download source code files
    inside you can easy read code

  8. #8
    VB-aholic & Lovin' It LaVolpe's Avatar
    Join Date
    Oct 2007
    Location
    Beside Waldo
    Posts
    18,273

    Re: When pressing button to run procedure Кнопка7_Click(), the program works for 5 ho

    Quote Originally Posted by daveramsey View Post
    please download source code files
    inside you can easy read code
    Most on this site will not download files from an external site. This site offers users to upload zip files.

    A couple things to consider.

    1. You are manually parsing the csv file. You can use ADO, with a schema.ini, to parse/query the csv instead. I'm sure it will be significantly faster for large csv files. Search this site & others for the keyword: schema.ini

    2. I don't understand why it is important to use Order By in your Insert Into statements. It should not matter what order the records are added to the table. That table can be sorted as needed, when needed. Removing the sorting should improve performance.
    Insomnia is just a byproduct of, "It can't be done"

    Classics Enthusiast? Here's my 1969 Mustang Mach I Fastback. Her sister '67 Coupe has been adopted

    Newbie? Novice? Bored? Spend a few minutes browsing the FAQ section of the forum.
    Read the HitchHiker's Guide to Getting Help on the Forums.
    Here is the list of TAGs you can use to format your posts
    Here are VB6 Help Files online


    {Alpha Image Control} {Memory Leak FAQ} {Unicode Open/Save Dialog} {Resource Image Viewer/Extractor}
    {VB and DPI Tutorial} {Manifest Creator} {UserControl Button Template} {stdPicture Render Usage}

  9. #9
    Frenzied Member wqweto's Avatar
    Join Date
    May 2011
    Posts
    1,490

    Re: When pressing button to run procedure Кнопка7_Click(), the program works for 5 ho

    How many rows do you have in the source CSV?

    Кнопка7 just needs a transaction to wrap all those Subsru.AddNews in batches of 1000 or more. There are about 1000 micro optimizations (like getting rid of CuttingFromLine function) that can halve the time in total but an order of magnitude speed up will come from more fundamental changes.

    It's Кнопка8 that truely scares me. . . This is the true franken-button in these sources! :-))

    cheers,
    </wqw>

  10. #10
    Hyperactive Member
    Join Date
    Feb 2019
    Posts
    382

    Re: When pressing button to run procedure Кнопка7_Click(), the program works for 5 ho

    Here is the code, properly formated. Кнопка means Button:
    Code:
    MKMASTER,MKMASTER,DESC,PNC,COST,CORE,LIST,1,2,3,4
    84651TL0E01ZB,84651TL0E01ZB,LNG L. NH85L,,156.67,0,184.97,,,,
    84651TL0E01ZA,84651TL0E01ZA,LNG ASSY LNH85L,,131.49,0,178.01,,,,
    84651TK4A01ZA,84651TK4A01ZA,LNG L. NH85L,,84.53,0,104.92,,,,
    
    the program that work very slowly when open csv
    
    
    
     Private Sub Кнопка7_Click()
        Dim dbName As String
        Dim strFileName As String
        Dim i&, j&, s$, v, v1, k As Long
        Dim Subsru As Recordset, Полe(20) As String
        Set Subsru = DBEngine.Workspaces(0).Databases(0).OpenRecordset("SUBARU", DB_OPEN_DYNASET)
        Dim DESC As String, MKMASTER As String, Поле2 As String, NEW1 As String, COST As String, ABCD As String, CORE As String, LIST As String, mmm As String
        strFileName = FindNorthwind(dbName, "*.csv")
        If strFileName = "" Then
            MsgBox ("Нет выбранного файла")
          Else
                 i = FreeFile: Open strFileName For Input As i: s = Input(LOF(i), i): Close i
                  v = Split(s, vbLf)
            CurrentDb.Execute "DELETE SUBARU.* FROM SUBARU"
            Dim arr(0 To 4)
             For i = LBound(v) To UBound(v)
                If i > 0 Then
                    SysCmd acSysCmdSetStatus, "Формирование  " & i
                    s = v(i)
                    If s = "" Then
                        Exit For
                    End If
                    If UBound(Split(s, ",")) = 10 Then
                        Subsru.AddNew
                        Subsru!MKMASTER = Nz(CuttingFromLine(1, ",", s))
                        mmm = CuttingFromLine(2, ",", s)
                        mmm = CuttingFromLine(2, ",", mmm)
                        Subsru![DESC] = Nz(CuttingFromLine(1, ",", mmm))
                        mmm = CuttingFromLine(2, ",", mmm)
                        Subsru![NEW#] = Nz(CuttingFromLine(1, ",", mmm))
                        mmm = CuttingFromLine(2, ",", mmm)
                        If Nz(CuttingFromLine(1, ",", mmm)) = "" Then
                            Subsru!COST = 0
                        Else
                            Subsru!COST = CCur(Nz(CuttingFromLine(1, ",", mmm)))
                        End If
                        mmm = CuttingFromLine(2, ",", mmm)
                        CORE = Nz(CuttingFromLine(1, ",", mmm))
                        If Nz(CORE) = "" Then
                            Subsru![CORE] = 0
                        Else
                            Subsru![CORE] = CCur(CORE)
                        End If
    
                        mmm = CuttingFromLine(2, ",", mmm)
                        If Nz(CuttingFromLine(1, ",", mmm)) = "" Then
                            Subsru!LIST = 0
                        Else
                            Subsru!LIST = CCur(Nz(CuttingFromLine(1, ",", mmm)))
                        End If
    
    
                        Subsru.Update
                    Else
    
                        MKMASTER = Nz(CuttingFromLine(1, ",", s))
    
                        mmm = CuttingFromLine(2, ",", s)
                        Поле2 = Nz(CuttingFromLine(1, ",", mmm))
                        mmm = CuttingFromLine(2, ",", mmm)
                        For j = 0 To 20
                            Полe(j) = Nz(CuttingFromLine(1, ",", mmm))
                            mmm = CuttingFromLine(2, ",", mmm)
                            If Nz(mmm) = "" Then
                                Полe(j + 1) = ""
                                Exit For
                            End If
                            If InStr(1, mmm, ",") = 0 Then
                                Полe(j + 1) = mmm
                                Exit For
                            End If
                        Next
                        LIST = Полe(j - 3)
                        CORE = Полe(j - 4)
                        COST = Полe(j - 5)
                        NEW1 = Полe(j - 6)
                        j = j - 6
                        DESC = Nz(Полe(0))
                        For k = 1 To j - 1
                            If Nz(Полe(k)) <> "" Then DESC = DESC & "," & Nz(Полe(k))
                        Next
    
                            "SELECT '" & DESC & "','" & MKMASTER & "','" & NEW1 & "','" & COST & "','" & LIST & "'"
                        Subsru.AddNew
                        Subsru![DESC] = DESC
                        Subsru!MKMASTER = MKMASTER
                        Subsru![NEW#] = NEW1
                        If Nz(CORE) = "" Then
                            Subsru![CORE] = 0
                        Else
                            Subsru![CORE] = CCur(CORE)
                        End If
                        If Nz(COST) = "" Then
                            Subsru!COST = 0
                        Else
                            Subsru!COST = CCur(Nz(COST))
                        End If
                        If Nz(LIST) = "" Then
                            Subsru!LIST = 0
                        Else
                            Subsru!LIST = CCur(Nz(LIST))
                        End If
                        Subsru.Update
    
    
                    End If
                End If
            Next i
        End If
        MsgBox ("Данные загружены")
    Exit_Кадр_Click:
        Exit Sub
    
    Err_Кадр_Click:
        MsgBox err.Description & " обработка строки " & Str(i + 1)
        Resume Exit_Кадр_Click
    End Sub
    Function CuttingFromLine(Serial As Byte, Symbol As String, Line As String)
        Dim i As Integer, j As Integer
        On Error GoTo err_
        i = 0
        j = 0
        j = Len(Line)
        i = InStr(1, Line, Symbol)
        If i = 0 Then MsgBox ("Не найден разделитель " & Symbol & " в строке :" & Line): GoTo ext
        If Serial = 1 Then
            CuttingFromLine = Mid(Line, 1, i - 1)
          Else
            CuttingFromLine = Mid(Line, i + 1, j - i)
        End If
        Exit Function
    ext:
        CuttingFromLine = ""
        Exit Function
    err_:
        MsgBox (err.Description & " " & err.Number)
        GoTo ext
    End Function
    
    Private Sub Кнопка8_Click()
        If Nz(Me.Фирма) = "" Then MsgBox ("Выберите фирму"): Exit Sub
    
        If MsgBox("Пересчитать результат", vbYesNo) = vbNo Then Exit Sub
        If Сущ_таб("Связи") Then DoCmd.DeleteObject acTable, "Связи"
    
        CurrentDb.Execute "Результат_итог"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_MKMASTER"
    
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_1_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_1_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_1_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_2_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_2_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_2_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_3_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_3_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_3_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_4_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_4_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_4_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_5_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_5_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_5_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_6_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_6_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_6_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_7_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_7_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_7_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_8_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_8_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_8_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_9_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_9_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_9_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_10_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_10_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_10_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_11_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_11_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_11_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_12_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_12_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_12_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_13_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_13_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_13_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_14_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_14_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_14_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_15_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_15_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_15_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_16_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_16_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_16_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_17_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_17_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_17_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_18_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_18_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_18_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_19_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_19_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_19_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.Результат_SUBARU_20_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.Результат_SUBARU_20_MKMASTER) Is Not Null)) ORDER BY Связи.Результат_SUBARU_20_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_21_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_21_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_21_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_22_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_22_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_22_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_23_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_23_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_23_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_24_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_24_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_24_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_25_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_25_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_25_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_26_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_26_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_26_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_27_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_27_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_27_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_28_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_28_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_28_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_29_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_29_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_29_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_30_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_30_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_30_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_31_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_31_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_31_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_1_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_1_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_1_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_2_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_2_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_2_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_3_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_3_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_3_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_4_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_4_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_4_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_5_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_5_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_5_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_6_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_6_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_6_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_7_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_7_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_7_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_8_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_8_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_8_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_9_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_9_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_9_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_10_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_10_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_10_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_11_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_11_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_11_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_12_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_12_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_12_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_13_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_13_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_13_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_14_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_14_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_14_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_15_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_15_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_15_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_16_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_16_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_16_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_17_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_17_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_17_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_18_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_18_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_18_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_19_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_19_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_19_MKMASTER"
        CurrentDb.Execute "INSERT INTO Итого ( Артикул, Наименование, Цена1, Цена2, Фирма, CORE ) SELECT Связи.SUBARU_20_MKMASTER, Связи.DESC, CCur(nz(Связи.COST)), CCur(nz(Связи.LIST)), '" & Me.Фирма & "', Связи.CORE " & _
            "FROM Связи WHERE (((Связи.SUBARU_20_MKMASTER) Is Not Null)) ORDER BY Связи.SUBARU_20_MKMASTER"
    '    Forms![Расчет]![подчиненная форма Связи].Form.RecordSource = "Связи"
        Select Case Me.Фирма
        Case "TOYOTA"
            CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'LEXUS'"
        Case "LEXUS"
            CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'TOYOTA'"
        Case "HONDA"
            CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'ACURA'"
        Case "ACURA"
            CurrentDb.Execute "UPDATE Итого SET Итого.[Фирма1] = 'HONDA'"
        End Select
    
        Me.Фирма = Null
        MsgBox ("Пересчет выполнен")
    End Sub
    
    Private Sub Показать_Click()
        DoCmd.OpenForm "Результат"
    End Sub
    
    Private Sub Прогон_Click()
    CurrentDb.Execute "DELETE Итого.* " & _
        "FROM Итого INNER JOIN OTKAZ_ALL ON (Итого.Фирма = OTKAZ_ALL.Фирма) AND (Итого.Артикул = OTKAZ_ALL.Артикул)"
        MsgBox ("Выполнено")
    
    End Sub
    TysonLPrice: you probably used Copy&Paste, I just used Reply with quotes.

  11. #11

    Thread Starter
    Junior Member
    Join Date
    Jun 2019
    Posts
    24

    Re: When pressing button to run procedure Кнопка7_Click(), the program works for 5 ho

    we have 574845 rows in CSV file.

  12. #12
    Frenzied Member wqweto's Avatar
    Join Date
    May 2011
    Posts
    1,490

    Re: When pressing button to run procedure Кнопка7_Click(), the program works for 5 ho

    Quote Originally Posted by daveramsey View Post
    we have 574845 rows in CSV file.
    By fundamental changes I mean you have to use bulk-insert to a staging table and do the processing entirely w/ set-based SQL.

    For bulk-insert you can use somthing like this
    Code:
    1. INSERT INTO stage_SUBARU(MKMASTER,MKMASTER,DESC,PNC,COST,CORE,LIST,[1],[2],[3],[4])
    2. SELECT MKMASTER,MKMASTER,DESC,PNC,COST,CORE,LIST,[1],[2],[3],[4]
    3. FROM [Text;FMT=CSVDelimited;HDR=Yes;DATABASE=C:\TEMP].[source_SUBARU.csv]

    That's the easy part. Reimplementing the Кнопка7 logic w/ a set-based SQL is the harder part.

    You'll need to hire someone knownledgable to do it as this will be mentally challenging and will need a lot of iterative testing. Doubt anyone would do it out of sheer good will here.

    For half a mil rows you can expect this appproach to reduce processing time to 5-10 minutes total (on a fairly recent desktop machine).

    Edit: Might need explicit schema.ini to specify CSV columns data-types and other options for bulk-insert performance optimization.

    cheers,
    </wqw>

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Featured


Click Here to Expand Forum to Full Width