Option Compare Database
Private Sub Кнопка10_Click()
' сделать активным поле, в которое нужно ввести дату
Поле1.SetFocus
' открыть форму ввода даты
DoCmd.OpenForm "Календарь"
End Sub
Private Sub Кнопка13_Click()
' сделать активным поле, в которое нужно ввести дату
Поле2.SetFocus
' открыть форму ввода даты
DoCmd.OpenForm "Календарь"
End Sub
Private Sub Кнопка7_Click()
On Error GoTo Err_Кнопка7_Click
Dim stDocName As String
stDocName = ChrW(1054) & ChrW(1090) & ChrW(1095) & ChrW(1077) & ChrW(1090) & ChrW(67) & ChrW(1056) & ChrW(1072) & ChrW(1079) & ChrW(1073) & ChrW(1080) & ChrW(1074) & ChrW(1082) & ChrW(1086) & ChrW(1081) & ChrW(1055) & ChrW(1086) & ChrW(1050) & ChrW(1083) & ChrW(1080) & ChrW(1077) & ChrW(1085) & ChrW(1090) & ChrW(1072) & ChrW(1084)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка7_Click:
Exit Sub
Err_Кнопка7_Click:
MsgBox Err.Description
Resume Exit_Кнопка7_Click
End Sub
Форма сменный отчет
Option Compare Database
Private Sub Кнопка2_Click()
On Error GoTo Err_Кнопка2_Click
Dim stDocName As String
stDocName = ChrW(1047) & ChrW(1072) & ChrW(1087) & ChrW(1088) & ChrW(1086) & ChrW(1089) & ChrW(1057) & ChrW(1084) & ChrW(1077) & ChrW(1085) & ChrW(1085) & ChrW(1099) & ChrW(1081) & ChrW(1054) & ChrW(1090) & ChrW(1095) & ChrW(1077) & ChrW(1090) & ChrW(50)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка2_Click:
Exit Sub
Err_Кнопка2_Click:
MsgBox Err.Description
Resume Exit_Кнопка2_Click
End Sub
Состояние склада
Option Compare Database
Private Sub Кнопка7_Click()
On Error GoTo Err_Кнопка7_Click
Dim stDocName As String
DoCmd.OpenReport [ОтчетСостояниеСклада], acPreview
Exit_Кнопка7_Click:
Exit Sub
Err_Кнопка7_Click:
MsgBox Err.Description
Resume Exit_Кнопка7_Click
End Sub
Private Sub Кнопка10_Click()
' сделать активным поле, в которое нужно ввести дату
Поле1.SetFocus
' открыть форму ввода даты
DoCmd.OpenForm "Календарь"
End Sub
Private Sub Кнопка8_Click()
On Error GoTo Err_Кнопка8_Click
Dim stDocName As String
stDocName = ChrW(1054) & ChrW(1090) & ChrW(1095) & ChrW(1077) & ChrW(1090) & ChrW(1057) & ChrW(1086) & ChrW(1089) & ChrW(1090) & ChrW(1086) & ChrW(1103) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(1057) & ChrW(1082) & ChrW(1083) & ChrW(1072) & ChrW(1076) & ChrW(1072)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка8_Click:
Exit Sub
Err_Кнопка8_Click:
MsgBox Err.Description
Resume Exit_Кнопка8_Click
End Sub
Серверное приложение главного офиса:
Главная форма :
Option Compare Database
Private Sub Кнопка0_Click()
On Error GoTo Err_Кнопка0_Click
DoCmd.RunSQL "insert"
Exit_Кнопка0_Click:
Exit Sub
Err_Кнопка0_Click:
MsgBox Err.Description
Resume Exit_Кнопка0_Click
End Sub
Private Sub Кнопка13_Click()
On Error GoTo Err_Кнопка13_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1054) & ChrW(1089) & ChrW(1090) & ChrW(1072) & ChrW(1090) & ChrW(1082) & ChrW(1080)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кнопка13_Click:
Exit Sub
Err_Кнопка13_Click:
MsgBox Err.Description
Resume Exit_Кнопка13_Click
End Sub
Private Sub Кнопка14_Click()
On Error GoTo Err_Кнопка14_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1044) & ChrW(1086) & ChrW(1083) & ChrW(1078) & ChrW(1085) & ChrW(1080) & ChrW(1082) & ChrW(1080)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кнопка14_Click:
Exit Sub
Err_Кнопка14_Click:
MsgBox Err.Description
Resume Exit_Кнопка14_Click
End Sub
Private Sub Кнопка15_Click()
On Error GoTo Err_Кнопка15_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1054) & ChrW(1057) & ChrW(1042)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кнопка15_Click:
Exit Sub
Err_Кнопка15_Click:
MsgBox Err.Description
Resume Exit_Кнопка15_Click
End Sub
Private Sub Кнопка20_Click()
On Error GoTo Err_Кнопка20_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1054) & ChrW(1089) & ChrW(1090) & ChrW(1072) & ChrW(1090) & ChrW(1082) & ChrW(1080)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кнопка20_Click:
Exit Sub
Err_Кнопка20_Click:
MsgBox Err.Description
Resume Exit_Кнопка20_Click
End Sub
Private Sub Кнопка21_Click()
On Error GoTo Err_Кнопка21_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1044) & ChrW(1086) & ChrW(1083) & ChrW(1078) & ChrW(1085) & ChrW(1080) & ChrW(1082) & ChrW(1080)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кнопка21_Click:
Exit Sub
Err_Кнопка21_Click:
MsgBox Err.Description
Resume Exit_Кнопка21_Click
End Sub
Private Sub Кнопка22_Click()
On Error GoTo Err_Кнопка22_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1054) & ChrW(1057) & ChrW(1042)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кнопка22_Click:
Exit Sub
Err_Кнопка22_Click:
MsgBox Err.Description
Resume Exit_Кнопка22_Click
End Sub
Private Sub Кнопка28_Click()
On Error GoTo Err_Кнопка28_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1054) & ChrW(1089) & ChrW(1090) & ChrW(1072) & ChrW(1090) & ChrW(1082) & ChrW(1080)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кнопка28_Click:
Exit Sub
Err_Кнопка28_Click:
MsgBox Err.Description
Resume Exit_Кнопка28_Click
End Sub
Private Sub Кнопка29_Click()
On Error GoTo Err_Кнопка29_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1054) & ChrW(1087) & ChrW(1083) & ChrW(1072) & ChrW(1090) & ChrW(1099) & ChrW(32) & ChrW(1082) & ChrW(1086) & ChrW(1085) & ChrW(1090) & ChrW(1088) & ChrW(1072) & ChrW(1075) & ChrW(1077) & ChrW(1085) & ChrW(1090) & ChrW(1086) & ChrW(1074)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кнопка29_Click:
Exit Sub
Err_Кнопка29_Click:
MsgBox Err.Description
Resume Exit_Кнопка29_Click
End Sub
Private Sub Кнопка34_Click()
On Error GoTo Err_Кнопка34_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1044) & ChrW(1086) & ChrW(1083) & ChrW(1078) & ChrW(1085) & ChrW(1080) & ChrW(1082) & ChrW(1080)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кнопка34_Click:
Exit Sub
Err_Кнопка34_Click:
MsgBox Err.Description
Resume Exit_Кнопка34_Click
End Sub
Private Sub Кнопка35_Click()
On Error GoTo Err_Кнопка35_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = ChrW(1054) & ChrW(1057) & ChrW(1042)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Кнопка35_Click:
Exit Sub
Err_Кнопка35_Click:
MsgBox Err.Description
Resume Exit_Кнопка35_Click
End Sub
Форма должники :
Option Compare Database
Private Sub Кнопка7_Click()
On Error GoTo Err_Кнопка7_Click
Dim stDocName As String
DoCmd.OpenReport [ОтчетСостояниеСклада], acPreview
Exit_Кнопка7_Click:
Exit Sub
Err_Кнопка7_Click:
MsgBox Err.Description
Resume Exit_Кнопка7_Click
End Sub
Private Sub Кнопка8_Click()
On Error GoTo Err_Кнопка8_Click
Dim stDocName As String
stDocName = ChrW(1054) & ChrW(1090) & ChrW(1095) & ChrW(1077) & ChrW(1090) & ChrW(1057) & ChrW(1086) & ChrW(1089) & ChrW(1090) & ChrW(1086) & ChrW(1103) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(1057) & ChrW(1082) & ChrW(1083) & ChrW(1072) & ChrW(1076) & ChrW(1072)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка8_Click:
Exit Sub
Err_Кнопка8_Click:
MsgBox Err.Description
Resume Exit_Кнопка8_Click
End Sub
Private Sub Кнопка5_Click()
' сделать активным поле, в которое нужно ввести дату
Поле1.SetFocus
' открыть форму ввода даты
DoCmd.OpenForm "Календарь"
End Sub
Private Sub Кнопка9_Click()
On Error GoTo Err_Кнопка9_Click
Dim stDocName As String
stDocName = ChrW(1047) & ChrW(1072) & ChrW(1087) & ChrW(1088) & ChrW(1086) & ChrW(1089) & ChrW(1044) & ChrW(1086) & ChrW(1083) & ChrW(1078) & ChrW(1085) & ChrW(1080) & ChrW(1082) & ChrW(1080)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка9_Click:
Exit Sub
Err_Кнопка9_Click:
MsgBox Err.Description
Resume Exit_Кнопка9_Click
End Sub
Форма ОСВ
Option Compare Database
Private Sub Calendar4_Updated(Code As Integer)
MsgBox Format(Calendar4.Object.Value, "dd/mm/yy")
ДатаОСВ = Format(Calendar4.Object.Value, "dd/mm/yy")
End Sub
' Изменяет формат отображения даты
Private Sub Form_Open(Cancel As Integer)
Form_ОСВ!ДатаОСВ.Format = "mmmm yyyy"
End Sub
Private Sub Кнопка3_Click()
On Error GoTo Err_Кнопка3_Click
Dim stDocName As String
stDocName = ChrW(1079) & ChrW(1072) & ChrW(1087) & ChrW(1088) & ChrW(1086) & ChrW(1089) & ChrW(1054) & ChrW(1057) & ChrW(1042) & ChrW(95) & ChrW(1087) & ChrW(1077) & ChrW(1088) & ChrW(1077) & ChrW(1082) & ChrW(1088) & ChrW(1077) & ChrW(1089) & ChrW(1090) & ChrW(1085) & ChrW(1099) & ChrW(1081)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка3_Click:
Exit Sub
Err_Кнопка3_Click:
MsgBox Err.Description
Resume Exit_Кнопка3_Click
End Sub
' кнопка вызова формы с календарём
Private Sub Кнопка5_Click()
' сделать активным поле, в которое нужно ввести дату
ДатаОСВ.SetFocus
' открыть форму ввода даты
DoCmd.OpenForm "Календарь"
End Sub
Форма остатки
Option Compare Database
Private Sub Кнопка7_Click()
On Error GoTo Err_Кнопка7_Click
Dim stDocName As String
DoCmd.OpenReport [ОтчетСостояниеСклада], acPreview
Exit_Кнопка7_Click:
Exit Sub
Err_Кнопка7_Click:
MsgBox Err.Description
Resume Exit_Кнопка7_Click
End Sub
Private Sub Кнопка8_Click()
On Error GoTo Err_Кнопка8_Click
Dim stDocName As String
stDocName = ChrW(1054) & ChrW(1090) & ChrW(1095) & ChrW(1077) & ChrW(1090) & ChrW(1057) & ChrW(1086) & ChrW(1089) & ChrW(1090) & ChrW(1086) & ChrW(1103) & ChrW(1085) & ChrW(1080) & ChrW(1077) & ChrW(1057) & ChrW(1082) & ChrW(1083) & ChrW(1072) & ChrW(1076) & ChrW(1072)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка8_Click:
Exit Sub
Err_Кнопка8_Click:
MsgBox Err.Description
Resume Exit_Кнопка8_Click
End Sub
Private Sub Кнопка10_Click()
On Error GoTo Err_Кнопка10_Click
Dim stDocName As String
stDocName = [ЗапросОстатки]
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка10_Click:
Exit Sub
Err_Кнопка10_Click:
MsgBox Err.Description
Resume Exit_Кнопка10_Click
End Sub
Private Sub Кнопка11_Click()
On Error GoTo Err_Кнопка11_Click
Dim stDocName As String
stDocName = ChrW(1047) & ChrW(1072) & ChrW(1087) & ChrW(1088) & ChrW(1086) & ChrW(1089) & ChrW(1054) & ChrW(1089) & ChrW(1090) & ChrW(1072) & ChrW(1090) & ChrW(1082) & ChrW(1080)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка11_Click:
Exit Sub
Err_Кнопка11_Click:
MsgBox Err.Description
Resume Exit_Кнопка11_Click
End Sub
Private Sub Кнопка12_Click()
On Error GoTo Err_Кнопка12_Click
Dim stDocName As String
stDocName = ChrW(1044) & ChrW(1080) & ChrW(1072) & ChrW(1075) & ChrW(1088) & ChrW(1072) & ChrW(1084) & ChrW(1084) & ChrW(1072) & ChrW(1054) & ChrW(1089) & ChrW(1090) & ChrW(1072) & ChrW(1090) & ChrW(1082) & ChrW(1080)
DoCmd.OpenReport stDocName, acPreview
Exit_Кнопка12_Click:
Exit Sub
Err_Кнопка12_Click:
MsgBox Err.Description
Resume Exit_Кнопка12_Click
End Sub
Private Sub Кнопка5_Click()
' сделать активным поле, в которое нужно ввести дату
Поле1.SetFocus
' открыть форму ввода даты
DoCmd.OpenForm "Календарь"
End Sub
Приложение 2
Запросы:
Клиентское приложение:
Выручка за смену по товарам:
SELECT DateValue(Продажа.Дата) AS Выражение1, Продажа.КодНоменклатуры, Sum(Продажа.Количество) AS [Sum-Количество], Sum(Продажа.Стоимость) AS [Sum-Стоимость], Константы.КодЗаправки
FROM Продажа, Константы
WHERE (((Продажа.Дата)>All (select Начало from Смены Order by Начало desc)))
GROUP BY DateValue(Продажа.Дата), Продажа.КодНоменклатуры, Константы.КодЗаправки;
Выручка по дням по товарам:
SELECT DateValue(Продажа.Дата) AS Выражение1, Номенклатура.Наименование, Sum(Продажа.Количество) AS [Sum-Количество], Sum(Продажа.Стоимость) AS [Sum-Стоимость]
FROM Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры=Продажа.КодНоменклатуры
GROUP BY DateValue(Продажа.Дата), Номенклатура.Наименование;
Запрос с разбивкой поклиентам:
SELECT Контрагенты.Наименование, Sum(Продажа.Количество) AS Доза, Sum(Продажа.Стоимость) AS Сумма, Count(Продажа.КодКонтрагента) AS [Кол-во]
FROM Номенклатура INNER JOIN (Контрагенты INNER JOIN Продажа ON Контрагенты.КодКонтрагента = Продажа.КодКонтрагента) ON Номенклатура.КодНоменклатуры = Продажа.КодНоменклатуры
WHERE (((Продажа.Дата)>[Forms]![РеализацияГазаСРазбивкойПоКлиентам]![Поле1] And (Продажа.Дата)<[Forms]![РеализацияГазаСРазбивкойПоКлиентам]![Поле2]) AND ((Продажа.КодНоменклатуры)=1))
GROUP BY Контрагенты.Наименование;
МатОтчет:
SELECT ЗапросМатОтчетОстатокНач.Наименование, ЗапросМатОтчетОстатокНач.[Остаток(нач)], ЗапросМатОтчетПриход.ПриходОб, ЗапросМатОтчетПродажа.ПродажаОб, ЗапросМатОтчетКон.[Остаток(кон)]
FROM ((ЗапросМатОтчетПриход RIGHT JOIN ЗапросМатОтчетОстатокНач ON ЗапросМатОтчетПриход.Наименование = ЗапросМатОтчетОстатокНач.Наименование) LEFT JOIN ЗапросМатОтчетПродажа ON ЗапросМатОтчетОстатокНач.Наименование = ЗапросМатОтчетПродажа.Наименование) LEFT JOIN ЗапросМатОтчетКон ON ЗапросМатОтчетОстатокНач.Наименование = ЗапросМатОтчетКон.Наименование;
МатОтчет1:
SELECT Номенклатура.Наименование, Sum(Приход.Количество) AS нач
FROM Номенклатура LEFT JOIN Приход ON Номенклатура.КодНоменклатуры=Приход.КодНоменклатуры
WHERE (((Приход.ДатаПрихода)<Forms!МатериальныйОтчет!Поле1))
GROUP BY Номенклатура.Наименование;
МатОтчет2:
SELECT Номенклатура.Наименование, Sum(Продажа.Количество)*(-1) AS нач
FROM Номенклатура LEFT JOIN Продажа ON Номенклатура.КодНоменклатуры=Продажа.КодНоменклатуры
WHERE (((Продажа.Дата)<Forms!МатериальныйОтчет!Поле1))
GROUP BY Номенклатура.Наименование;
МатОтчет3:
SELECT Номенклатура.Наименование, Sum(Приход.Количество) AS [Приход(кон)]
FROM Номенклатура LEFT JOIN Приход ON Номенклатура.КодНоменклатуры = Приход.КодНоменклатуры
WHERE (((Приход.ДатаПрихода)<=[Forms]![МатериальныйОтчет]![Поле2]))
GROUP BY Номенклатура.Наименование;
МатОтчет4:
SELECT Номенклатура.Наименование, Sum(Продажа.Количество)*(-1) AS [Расход(кон)]
FROM Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры = Продажа.КодНоменклатуры
WHERE (((Продажа.Дата)<=[Forms]![МатериальныйОтчет]![Поле2]))
GROUP BY Номенклатура.Наименование;
МатОтчет контрагенты:
SELECT ЗапросМатОтчет3.Наименование, (ЗапросМатОтчет3.[Приход(кон)]+ЗапросМатОтчет4.[Расход(кон)]) AS [Остаток(кон)]
FROM ЗапросМатОтчет3 INNER JOIN ЗапросМатОтчет4 ON ЗапросМатОтчет3.Наименование=ЗапросМатОтчет4.Наименование;
МатОтчет остаток начальный:
SELECT ЗапросМатОтчет1.Наименование, Sum(ЗапросМатОтчет1.нач+ЗапросМатОтчет2.нач) AS [Остаток(нач)]
FROM ЗапросМатОтчет1 LEFT JOIN ЗапросМатОтчет2 ON ЗапросМатОтчет1.Наименование = ЗапросМатОтчет2.Наименование
GROUP BY ЗапросМатОтчет1.Наименование;
МатОтчет приход:
SELECT Номенклатура.Наименование, Sum(Приход.Количество) AS ПриходОб
FROM Номенклатура LEFT JOIN Приход ON Номенклатура.КодНоменклатуры=Приход.КодНоменклатуры
WHERE (((Приход.ДатаПрихода)>=Forms!МатериальныйОтчет!Поле1) And ((Приход.ДатаПрихода)<=Forms!МатериальныйОтчет!Поле2))
GROUP BY Номенклатура.Наименование;
МатОтчет продажа:
SELECT Номенклатура.Наименование, Sum(Продажа.Количество) AS ПродажаОб
FROM Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры=Продажа.КодНоменклатуры
WHERE (((Продажа.Дата)>=Forms!МатериальныйОтчет!Поле1) And ((Продажа.Дата)<=Forms!МатериальныйОтчет!Поле2))
GROUP BY Номенклатура.Наименование;
Остатки:
SELECT КодЗаправки AS K1, Alias.кодНоменклатуры AS N, now() AS D, Sum(K) AS S
FROM Константы, [SELECT приход.кодНоменклатуры , sum(количество) as K
from (приход INNER JOIN Номенклатура on приход.КодНоменклатуры=Номенклатура.КодНоменклатуры)
where Номенклатура.Товар=True
group by приход.кодНоменклатуры
union (SELECT продажа.кодНоменклатуры , sum(количество)*(-1) as K from (продажа INNER JOIN Номенклатура on продажа.КодНоменклатуры=Номенклатура.КодНоменклатуры)
where Номенклатура.Товар=True
group by продажа.кодНоменклатуры) ]. AS Alias
GROUP BY КодЗаправки, Alias.кодНоменклатуры;
Продажа операторами:
SELECT Сотрудники.Фамилия, DateValue(Продажа.Дата) AS Выражение1, Sum(Продажа.Количество) AS [Количество номен-ры], Count(Продажа.Количество) AS Количество
FROM Сотрудники INNER JOIN (Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры=Продажа.КодНоменклатуры) ON Сотрудники.КодСотрудника=Продажа.КодСотрудника
WHERE (Forms!ПродажаОператорами!ПолеСоСписком10=Номенклатура.КодНоменклатуры) And (((Продажа.Дата)>Forms!ПродажаОператорами!Поле1 And (Продажа.Дата)<Forms!ПродажаОператорами!Поле2))
GROUP BY Сотрудники.Фамилия, DateValue(Продажа.Дата);
Реализация газа общий:
SELECT ЗапросРеализацияГазаПриход.Приход AS [Приход газа], ЗапросРеализацияГазаПродажа.Продажа AS [Продажа газа], РГКС.[Кон остаток], РГНС.[Нач остаток]
FROM ЗапросРеализацияГазаПриход, ЗапросРеализацияГазаПродажа, РГКС, РГНС;
Реализация газа приход:
SELECT iif((Sum(количество)>0),Sum(количество),0) AS Приход
FROM Номенклатура INNER JOIN приход ON Номенклатура.КодНоменклатуры=приход.КодНоменклатуры
WHERE (((приход.ДатаПрихода)>=(SELECT Смены.Начало FROM Смены WHERE (((Смены.КодСмены)=[Forms]![РеализацияГаза]![ПолеСоСписком0])) ) And (приход.ДатаПрихода)<=(SELECT Смены.Окончание FROM Смены WHERE (((Смены.КодСмены)=[Forms]![РеализацияГаза]![ПолеСоСписком0])) )) AND ((Номенклатура.Наименование)="Газ"));
Реализация газа продажа:
SELECT Iif((Sum(количество)>0),Sum(количество),0) AS Продажа
FROM Номенклатура INNER JOIN продажа ON Номенклатура.КодНоменклатуры=продажа.КодНоменклатуры
WHERE (((продажа.Дата)>=(SELECT Смены.Начало FROM Смены WHERE (((Смены.КодСмены)=[Forms]![РеализацияГаза]![ПолеСоСписком0])) ) And (продажа.Дата)<=(SELECT Смены.Окончание FROM Смены WHERE (((Смены.КодСмены)=[Forms]![РеализацияГаза]![ПолеСоСписком0])) )) AND ((Номенклатура.Наименование)="Газ"));
Реализация газа:
SELECT Switch(Продажа.Безнал=0,"НАЛИЧНЫЕ",Продажа.Безнал=-1,"БЕЗНАЛ") AS Оплата, Номенклатура.Цена, Sum(Продажа.Количество) AS [Sum-Количество], Sum(Продажа.Стоимость) AS [Sum-Стоимость], Count(Продажа.Количество) AS [Count-Количество]
FROM Номенклатура LEFT JOIN Продажа ON Номенклатура.КодНоменклатуры=Продажа.КодНоменклатуры
WHERE (((Номенклатура.Наименование)="Газ") And ((Продажа.КодСмены)=Forms!РеализацияГаза!ПолеСоСписком0))
GROUP BY Номенклатура.Цена, Продажа.Безнал, Продажа.КодСмены;
Сменный отчет:
SELECT Номенклатура.Наименование, Sum(Продажа.Количество) AS [Сум-Количество], Sum(Продажа.Стоимость) AS [Сум-Стоимость]
FROM Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры=Продажа.КодНоменклатуры
WHERE (((Продажа.Дата)>(select max(Начало)from Смены)))
GROUP BY Номенклатура.Наименование;
Сменный отчет1:
SELECT Смены.Начало, Смены.Окончание, Сотрудники.Фамилия, Номенклатура.Наименование, Контрагенты.Безнал, Контрагенты.Наименование, Sum(Продажа.Количество) AS [Sum-Количество], Sum(Продажа.Стоимость) AS [Sum-Стоимость]
FROM Сотрудники INNER JOIN ((Контрагенты INNER JOIN (Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры = Продажа.КодНоменклатуры) ON Контрагенты.КодКонтрагента = Продажа.КодКонтрагента) INNER JOIN Смены ON Продажа.КодСмены = Смены.КодСмены) ON Сотрудники.КодСотрудника = Смены.КодСотрудника
WHERE (((Продажа.КодСмены)=[Forms]![СменныйОтчет]![ПолеСоСписком0]))
GROUP BY Смены.Начало, Смены.Окончание, Сотрудники.Фамилия, Номенклатура.Наименование, Контрагенты.Безнал, Контрагенты.Наименование;
Состояние склада:
SELECT Номенклатура.Наименование AS Наименование, Номенклатура.Цена AS Цена, Sum([Кол-во]) AS Склад, Номенклатура.Цена*Sum([Кол-во]) AS Сумма
FROM [SELECT Номенклатура.Наименование, Номенклатура.Цена, sum(Приход.Количество) as [Кол-во]
FROM (Номенклатура INNER JOIN Приход ON Номенклатура.КодНоменклатуры = Приход.КодНоменклатуры)
WHERE (((Номенклатура.Товар)=Yes)) and (Приход.ДатаПрихода<=[Forms]![СостояниеСклада]![Поле1])
group by Номенклатура.Наименование, Номенклатура.Цена
UNION SELECT Номенклатура.Наименование, Номенклатура.Цена, sum(Продажа.Количество)*(-1) as [Кол-во]
FROM (Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры = Продажа.КодНоменклатуры)
WHERE (((Номенклатура.Товар)=Yes)) and (Продажа.Дата<=[Forms]![СостояниеСклада]![Поле1])
group by Номенклатура.Наименование, Номенклатура.Цена]. AS Alias
GROUP BY Номенклатура.Наименование, Номенклатура.Цена;
Последняя смена:
SELECT Max(Смены.Начало) AS [Max-Начало], Сотрудники.Фамилия
FROM Сотрудники INNER JOIN Смены ON Сотрудники.КодСотрудника = Смены.КодСотрудника
GROUP BY Сотрудники.Фамилия;
РГНС:
SELECT Sum([Нач смены]) AS [Нач остаток]
FROM [SELECT Sum(Приход.Количество) AS [Нач смены]
FROM Номенклатура INNER JOIN Приход ON Номенклатура.КодНоменклатуры = Приход.КодНоменклатуры
where (((Номенклатура.Наименование)="Газ") AND ((Приход.ДатаПрихода)<(select начало from смены where кодсмены=[Forms]![РеализацияГаза]![ПолеСоСписком0])))
union
SELECT Sum(Продажа.Количество)*(-1) AS [Нач смены]
FROM Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры = Продажа.КодНоменклатуры
where (((Номенклатура.Наименование)="Газ") AND ((Продажа.Дата)<(select начало from смены where кодсмены=[Forms]![РеализацияГаза]![ПолеСоСписком0])))
]. AS Aias1;
РГКС:
SELECT Sum([%$##@_Alias].[Нач смены]) AS [Кон остаток]
FROM [SELECT Sum(Приход.Количество) AS [Нач смены]
FROM Номенклатура INNER JOIN Приход ON Номенклатура.КодНоменклатуры = Приход.КодНоменклатуры
where (((Номенклатура.Наименование)="Газ") AND ((Приход.ДатаПрихода)<(select окончание from смены where кодсмены=[Forms]![РеализацияГаза]![ПолеСоСписком0])))
UNION SELECT Sum(Продажа.Количество)*(-1) AS [Нач смены]
FROM Номенклатура INNER JOIN Продажа ON Номенклатура.КодНоменклатуры = Продажа.КодНоменклатуры
where (((Номенклатура.Наименование)="Газ") AND ((Продажа.Дата)<(select окончание from смены where кодсмены=[Forms]![РеализацияГаза]![ПолеСоСписком0])))
]. AS [%$##@_Alias];
Цена номенклатуры:
SELECT Номенклатура.Цена
FROM Номенклатура
WHERE (((Номенклатура.КодНоменклатуры)=[Forms]![Продажа]![ПолеСоСписком12]));
Серверное приложение:
Должники:
SELECT Контрагенты.Наименование, Sum(РасчетыКонтрагенты.Сумма)*(-1) AS [Сумма долга]
FROM Контрагенты INNER JOIN РасчетыКонтрагенты ON Контрагенты.КодКонтрагента = РасчетыКонтрагенты.КодКонтрагента
WHERE (((РасчетыКонтрагенты.Дата)<=([Forms]![Должники]![Поле1])+1))
GROUP BY Контрагенты.Наименование
HAVING (((Sum(РасчетыКонтрагенты.Сумма))<0));
Должники текущие:
SELECT Контрагенты.Наименование, Sum(РасчетыКонтрагенты.Сумма)*(-1) AS [Сумма долга]
FROM Контрагенты INNER JOIN РасчетыКонтрагенты ON Контрагенты.КодКонтрагента = РасчетыКонтрагенты.КодКонтрагента
GROUP BY Контрагенты.Наименование
HAVING (((Sum(РасчетыКонтрагенты.Сумма))<0));
ОСВ :
PARAMETERS FORMS![ОСВ]![ДАТАОСВ] DateTime;
SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма), "3Обороты Дт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата>=DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ]), 1)) and (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ])+1,1 ))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)>=0
union
SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма)*(-1),"4Обороты Кт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата>=DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ]), 1)) and (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ])+1,1 ))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)<=0
union
SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма), "1Начало Дт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ]), 1))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)>=0
union
SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма)*(-1),"2Начало Кт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ]), 1))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)<=0
union
SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма), "5Конец Дт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ])+1, 1))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)>=0
UNION SELECT Контрагенты.Наименование,sum( РасчетыКонтрагенты.Сумма)*(-1),"6Конец Кт"
FROM РасчетыКонтрагенты inner join Контрагенты on РасчетыКонтрагенты.КодКонтрагента=Контрагенты.КодКонтрагента
where (Дата<DateSerial(year(FORMS![ОСВ]![ДАТАОСВ]), month(FORMS![ОСВ]![ДАТАОСВ])+1, 1))
group by Контрагенты.Наименование
having sum(РасчетыКонтрагенты.Сумма)<=0;
ОСВ перекрестный :
TRANSFORM Sum(запросОСВ.Expr1001) AS [Sum-Expr1001]
SELECT запросОСВ.Наименование AS Контрагенты
FROM запросОСВ
GROUP BY запросОСВ.НАименование
PIVOT запросОСВ.Expr1002;
Остатки:
SELECT Районы.Название, Номенклатура.Наименование, Остатки.Количество, Остатки.Дата
FROM Районы INNER JOIN (Номенклатура INNER JOIN (запрОстатки2 INNER JOIN Остатки ON (запрОстатки2.[Max-Дата] = Остатки.Дата) AND (запрОстатки2.КодЗаправки = Остатки.КодЗаправки) AND (запрОстатки2.КодНоменклатуры = Остатки.КодНоменклатуры)) ON Номенклатура.КодНоменклатуры = Остатки.КодНоменклатуры) ON Районы.КодРайона = Остатки.КодЗаправки;
Остатки1:
SELECT Районы.Название, Номенклатура.Наименование, Остатки.Количество, Остатки.Дата
FROM Районы INNER JOIN (Номенклатура INNER JOIN (запрОстатки3 INNER JOIN Остатки ON (запрОстатки3.[Max-Дата] = Остатки.Дата) AND (запрОстатки3.КодЗаправки = Остатки.КодЗаправки) AND (запрОстатки3.КодНоменклатуры = Остатки.КодНоменклатуры)) ON Номенклатура.КодНоменклатуры = Остатки.КодНоменклатуры) ON Районы.КодРайона = Остатки.КодЗаправки
WHERE (((Номенклатура.Наименование) Like "Г*"));
Остатки 2:
PARAMETERS [Forms]![Остатки]![Поле1] DateTime;
SELECT Остатки.КодНоменклатуры, Остатки.КодЗаправки, Max(Остатки.Дата) AS [Max-Дата]
FROM Остатки
WHERE (((Остатки.Дата)<=[Forms]![Остатки]![Поле1]))
GROUP BY Остатки.КодНоменклатуры, Остатки.КодЗаправки;
Остатки3:
SELECT Остатки.КодНоменклатуры, Остатки.КодЗаправки, Max(Остатки.Дата) AS [Max-Дата]
FROM Остатки
WHERE (((Остатки.Дата)<=now()))
GROUP BY Остатки.КодНоменклатуры, Остатки.КодЗаправки;
Расчеты контрагенты:
TRANSFORM Sum(РасчетыКонтрагенты.Сумма) AS [Sum-Сумма]
SELECT РасчетыКонтрагенты.КодКонтрагента, Sum(РасчетыКонтрагенты.Сумма) AS [Итоговое значение Сумма]
FROM РасчетыКонтрагенты
GROUP BY РасчетыКонтрагенты.КодКонтрагента
PIVOT Format([Дата],"mmm");
Дата: 2019-07-30, просмотров: 220.