当按下按钮来运行程序Кнопка7_Click()时,该程序将工作5个小时以打开文件.csv。如何提高打开.csv文件的速度?
.csv文件的示例 MKMASTER,MKMASTER,DESC,PNC,COST,CORE,LIST,1、2、3、4 84651TL0E01ZB,84651TL0E01ZB,LNG L. NH85L ,, 156.67,0,184.97 ,,,, 84651TL0E01ZA,84651TL0E01ZA,LNG组件L NH85L ,, 131.49,0,178.01 ,,,, 84651TK4A01ZA,84651TK4A01ZA,LNG L. NH85L ,, 84.53,0,104.92 ,,,, 打开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