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

  • Question

  • When pressing button to run procedure Кнопка7_Click(), the program works for 5 hours to open file .csv How do 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

    Private Sub Удаление__Click()
        CurrentDb.Execute "UPDATE Итого SET Артикул = REPLACE(Артикул,'-','');"
        CurrentDb.Execute "UPDATE Итого SET Артикул = REPLACE(Артикул,'*','');"
        CurrentDb.Execute "UPDATE Итого SET Наименование = REPLACE(Наименование,';','/');"
        CurrentDb.Execute "UPDATE Итого SET Наименование = REPLACE(Наименование,'Chr(34)','');"
        CurrentDb.Execute "UPDATE Итого SET Наименование = REPLACE(Наименование,'*','');"
        MsgBox ("Выполнено")

    End Sub

    Private Sub Удаление_Click()
        If MsgBox("Будут удалены результаты всех расчетов", vbYesNo) = vbNo Then Exit Sub
        CurrentDb.Execute "DELETE Связи.* FROM Связи"
        CurrentDb.Execute "DELETE SUBARU.* FROM SUBARU"
        CurrentDb.Execute "DELETE Итого.* FROM Итого"
        MsgBox ("Данные удалены")
    Exit_Удаление_Click:
        Exit Sub

    Err_Удаление_Click:
        MsgBox err.Description
        Resume Exit_Удаление_Click

    End Sub

    Function Сущ_таб(Имя_таб)
        Dim i
        For i = 0 To DBEngine.Workspaces(0).Databases(0).TableDefs.Count - 1
            If DBEngine.Workspaces(0).Databases(0).TableDefs(i).Name = Имя_таб Then
                Сущ_таб = True
                Exit Function       ' Выход из функции, если форма не загружена.
            End If
        Next
        Сущ_таб = False


    End Function

    • Edited by daveramsey Thursday, June 13, 2019 7:41 AM
    Tuesday, May 21, 2019 1:15 PM

All replies

  • Hello,

    This code does not appear to be VB.NET, can you confirm if this is not VB.NET? If so is it VBA (which includes code in MS-Access or Excel) or VB6?


    Please remember to mark the replies as answers if they help and unmarked them if they provide no help, this will help others who are looking for solutions to the same or similar problem. Contact via my Twitter (Karen Payne) or Facebook (Karen Payne) via my MSDN profile but will not answer coding question on either.

    NuGet BaseConnectionLibrary for database connections.

    StackOverFlow
    profile for Karen Payne on Stack Exchange


    Tuesday, May 21, 2019 2:56 PM
    Moderator
  • access visual basic

    files

    https://drive.google.com/file/d/15Smah_4lc-Vgz2k0cBjjUZ1PXNC8Uhh8/view?usp=sharing

    https://drive.google.com/file/d/1ek6ddpVTHWYZsRZZKEka7aEgxHggGUHs/view?usp=sharing

    Thursday, May 23, 2019 7:12 AM
  • hi where is the answer to my question?

    access visual basic

    files

    https://drive.google.com/file/d/15Smah_4lc-Vgz2k0cBjjUZ1PXNC8Uhh8/view?usp=sharing

    https://drive.google.com/file/d/1ek6ddpVTHWYZsRZZKEka7aEgxHggGUHs/view?usp=sharing

    • Edited by daveramsey Friday, May 24, 2019 8:37 AM
    Friday, May 24, 2019 8:37 AM
  • Hi,

    This forum is discussing and asking questions about the vb.net,your issue is related about vba or vb6,if so,ask in the following forum:

    VB6

    VBA

    Best Regards,

    Alex


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Monday, May 27, 2019 3:16 AM
    Moderator
  • Hi,
    вместо этого:

    ...
        Dim Subsru As Recordset, Полe(20) As String
        Set Subsru = DBEngine.Workspaces(0).Databases(0).OpenRecordset("SUBARU", DB_OPEN_DYNASET)
    ...
                        Subsru.AddNew
    ...
                        Subsru.Update
    …

    лучше использовать INSERT.


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Monday, May 27, 2019 5:27 AM
  • hi Peter Fleischer,

    измените на insert оригинальный файл и пришлите мне на почту файл vitaly9oleg@gmail.com

    Thursday, June 6, 2019 8:38 AM
  • do you recommend use insert instead of OpenRecodset?

    What is the rules for INSERT operator?


    • Edited by daveramsey Monday, June 10, 2019 7:21 AM
    Monday, June 10, 2019 7:20 AM
  • give me example how can i use insert instead of

    ...
        Dim Subsru As Recordset, Полe(20) As String
        Set Subsru = DBEngine.Workspaces(0).Databases(0).OpenRecordset("SUBARU", DB_OPEN_DYNASET)
    ...
                        Subsru.AddNew
    ...
                        Subsru.Update
    

    Monday, June 10, 2019 8:40 AM
  • give me example how can i use insert instead of

    ...
        Dim Subsru As Recordset, Полe(20) As String
        Set Subsru = DBEngine.Workspaces(0).Databases(0).OpenRecordset("SUBARU", DB_OPEN_DYNASET)
    ...
                        Subsru.AddNew
    ...
                        Subsru.Update
    …

    Hi,

    If your issue is  related about vb6,ask in the following forum.

    http://www.vbforums.com/forumdisplay.php?1-Visual-Basic-6-and-Earlier

    Best Regards,

    Alex


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Tuesday, June 11, 2019 9:03 AM
    Moderator