AccessVBA クラスオブジェクト⑤在庫数表示

AccessVBA開発

Option Compare Database
Dim zanNuki As Long, zanKomi As Long
‘zan1 As Long, zan2 As Long, zan3 As Long, zan4 As Long, zan5 As Long, zan6 As Long, zan7 As Long, zan8 As Long, zan9 As Long, zan10 As Long
‘zan11 As Long, zan12 As Long, zan13 As Long, zan14 As Long, zan15 As Long, zan16 As Long, zan17 As Long, zan18 As Long, zan19 As Long, zan20 As Long

Private Sub Excelへエクスポートボタン_Click()
On Error GoTo err_Shori

‘[仮_tb在庫商品一覧]のテーブルの既存データをクリアにし、新たに在庫一覧のデータを格納する。
TableClear (“仮_tb在庫商品一覧”)

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim rrs As ADODB.Recordset

Dim ID As Variant, Baika As Variant, I As Long
Dim sqlName As String, SQL As String
Dim strFilter1 As String
Dim strFilter2 As String

Set cn = CurrentProject.Connection
Set rs = New ADODB.Recordset
Set rrs = New ADODB.Recordset

SQL = “SELECT * FROM q商品一覧 WHERE ”
strFilter1 = “ステータス = ‘在庫'”
strFilter2 = “ステータス=’Yahoo!出品中'”
strFilter3 = “ステータス=’楽天出品中'”
strFilter4 = “ステータス=’業者出品中'”
strFilter5 = “ステータス=’市場出品中'”

sqlName = strFilter1 & ” Or ” & strFilter2 & ” Or ” & strFilter3 & ” Or ” & strFilter4 & ” Or ” & strFilter5
SQL = SQL & sqlName & “;”
rs.Open SQL, cn, adOpenKeyset, adLockOptimistic

rrs.Open “仮_tb在庫商品一覧”, cn, adOpenKeyset, adLockOptimistic

MsgBox rs.RecordCount & “件のデータを抽出します。”

Do Until rs.EOF

With rrs
.AddNew
.Fields(0).Value = rs!商品コード
.Fields(1).Value = rs!ステータス
.Fields(2).Value = rs!仕入日
.Fields(3).Value = rs!取引先名
.Fields(4).Value = rs!買番号
.Fields(5).Value = rs!商品分類
.Fields(6).Value = rs!ブランド
.Fields(7).Value = rs!品番
.Fields(8).Value = rs!ライン
.Fields(9).Value = rs!商品名
.Fields(10).Value = rs!素材
.Fields(11).Value = rs!色
.Fields(12).Value = rs!付属品
.Fields(13).Value = rs!シリアルNo
.Fields(14).Value = rs!ランク
.Fields(15).Value = rs!予定_税抜売価
.Fields(16).Value = rs!税抜定価
.Fields(17).Value = rs!備考
.Fields(18).Value = rs!税抜原価
.Fields(19).Value = rs!税込原価
.Fields(20).Value = rs!売却日
.Fields(21).Value = rs!税抜売価
.Fields(22).Value = rs!税込売価
.Fields(23).Value = rs!売却先名
.Update
.MoveNext
End With

rs.MoveNext
I = I + 1
Loop

rs.Close: rrs.Close: cn.Close
Set rs = Nothing: Set rrs = Nothing: Set cn = Nothing

MsgBox “抽出が完了しました。”

‘今日の日付でファイル名作成
Dim FileName As String
FileName = Format(Now, “yyyymmdd_hhnn”) & “_在庫商品一覧.xlsx”
‘出力先のパス(ファイル名まで含む)
Dim Path As String
Path = Me.txtPath.Value
‘テーブルをエクセルでエクスポート
Call ExcelExport(Path, FileName, “仮_tb在庫商品一覧”)

‘終了処理
err_Exit:
Exit Sub

‘エラー処理
err_Shori:
MsgBox Err.Description
Err.Clear
Resume err_Exit:

End Sub

Private Sub Form_Open(Cancel As Integer)
FormSizeSquare
Me.PictureType = 0
Me.Picture = BgImageDataPath

‘*********************在庫金額(税抜)を表示させる’*********************
zan1 = DSum(“税抜原価”, “tb商品一覧”, “ステータス=’在庫'”)
zan2 = DSum(“税抜原価”, “tb商品一覧”, “ステータス=’Yahoo!出品中'”)
zan3 = DSum(“税抜原価”, “tb商品一覧”, “ステータス=’楽天出品中'”)
zan4 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “ステータス=’業者出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “ステータス=’業者出品中'”))
zan5 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “ステータス=’市場出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “ステータス=’市場出品中'”))
zanNuki = zan1 + zan2 + zan3 + zan4 + zan5
‘ zanNuki = zanNuki – DSum(“評価損”, “q評価損一覧_仮”)

With Me
.txt在庫額_税抜き.Value = zanNuki
.txtZ1.Value = zan1
.txtZ2.Value = zan2
.txtZ3.Value = zan3
.txtZ4.Value = zan4
.txtZ5.Value = zan5
End With

”*********************在庫金額(税込)を表示させる’*********************
zanKomi = DSum(“税込原価”, “q商品一覧”, “ステータス=’在庫'”)
zanKomi = zanKomi + DSum(“税込原価”, “q商品一覧”, “ステータス=’Yahoo!出品中'”)
zanKomi = zanKomi + DSum(“税込原価”, “q商品一覧”, “ステータス=’楽天出品中'”)
zanKomi = zanKomi + IIf(IsNull(DSum(“税込原価”, “q商品一覧”, “ステータス=’業者出品中'”)), 0, DSum(“税込原価”, “q商品一覧”, “ステータス=’業者出品中'”))
zanKomi = zanKomi + IIf(IsNull(DSum(“税込原価”, “q商品一覧”, “ステータス=’市場出品中'”)), 0, DSum(“税込原価”, “q商品一覧”, “ステータス=’市場出品中'”))
‘ zanKomi = zanKomi – DSum(“評価損”, “q評価損一覧_仮”)

Me.txt在庫額_税込み.Value = zanKomi

”*********************預かり消費税額を表示させる’*********************
Me.txt預かり消費税.Value = zanKomi – zanNuki

”*********************商品カテゴリ別在庫金額(税抜)を表示させる’*********************
zan11 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’001′” & ” And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’001′” & ” And ステータス=’在庫'”))
zan11 = zan11 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’001′” & ” And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’001′” & ” And ステータス=’Yahoo!出品中'”))
zan11 = zan11 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’001′” & ” And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’001′” & ” And ステータス=’楽天出品中'”))

zan12 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’002′” & ” And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’002′” & ” And ステータス=’在庫'”))
zan12 = zan12 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’002′” & ” And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’002′” & ” And ステータス=’Yahoo!出品中'”))
zan12 = zan12 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’002′” & ” And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’002′” & ” And ステータス=’楽天出品中'”))

zan13 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’003′” & ” And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’003′” & ” And ステータス=’在庫'”))
zan13 = zan13 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’003′” & ” And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’003′” & ” And ステータス=’Yahoo!出品中'”))
zan13 = zan13 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’003′” & ” And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’003′” & ” And ステータス=’楽天出品中'”))

zan14 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’004′” & ” And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’004′” & ” And ステータス=’在庫'”))
zan14 = zan14 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’004′” & ” And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’004′” & ” And ステータス=’Yahoo!出品中'”))
zan14 = zan14 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’004′” & ” And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’004′” & ” And ステータス=’楽天出品中'”))

zan15 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’005′” & ” And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’005′” & ” And ステータス=’在庫'”))
zan15 = zan15 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’005′” & ” And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’005′” & ” And ステータス=’Yahoo!出品中'”))
zan15 = zan15 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’005′” & ” And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’005′” & ” And ステータス=’楽天出品中'”))

zan16 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’006′” & ” And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’006′” & ” And ステータス=’在庫'”))
zan16 = zan16 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’006′” & ” And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’006′” & ” And ステータス=’Yahoo!出品中'”))
zan16 = zan16 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’006′” & ” And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’006′” & ” And ステータス=’楽天出品中'”))

zan17 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’007′” & ” And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’007′” & ” And ステータス=’在庫'”))
zan17 = zan17 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’007′” & ” And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’007′” & ” And ステータス=’Yahoo!出品中'”))
zan17 = zan17 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’007′” & ” And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’007′” & ” And ステータス=’楽天出品中'”))

zan18 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’008′” & ” And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’008′” & ” And ステータス=’在庫'”))
zan18 = zan18 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’008′” & ” And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’008′” & ” And ステータス=’Yahoo!出品中'”))
zan18 = zan18 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’008′” & ” And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’008′” & ” And ステータス=’楽天出品中'”))

zan19 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’009′” & ” And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’009′” & ” And ステータス=’在庫'”))
zan19 = zan19 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’009′” & ” And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’009′” & ” And ステータス=’Yahoo!出品中'”))
zan19 = zan19 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’009′” & ” And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’009′” & ” And ステータス=’楽天出品中'”))

zan20 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’012′” & ” And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’012′” & ” And ステータス=’在庫'”))
zan20 = zan20 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’012′” & ” And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’012′” & ” And ステータス=’Yahoo!出品中'”))
zan20 = zan20 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’012′” & ” And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “商品分類コード=’012′” & ” And ステータス=’楽天出品中'”))

zan21 = zanNuki – zan11 – zan12 – zan13 – zan14 – zan15 – zan16 – zan17 – zan18 – zan19 – zan20

With Me
.txtZ11.Value = zan11
.txtZ12.Value = zan12
.txtZ13.Value = zan13
.txtZ14.Value = zan14
.txtZ15.Value = zan15
.txtZ16.Value = zan16
.txtZ17.Value = zan17
.txtZ18.Value = zan18
.txtZ19.Value = zan19
.txtZ20.Value = zan20
.txtZ21.Value = zan21
End With

”*********************入荷時期別在庫金額(税抜)を表示させる’*********************
‘過去の日付をとる
day_hanToshi = DateAdd(“m”, -6, Date) ‘半年前
day_1nen = DateAdd(“yyyy”, -1, Date) ‘1年前
day_2nen = DateAdd(“yyyy”, -2, Date) ‘2年前
day_3nen = DateAdd(“yyyy”, -3, Date) ‘3年前

zan6 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_hanToshi & “# And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_hanToshi & “# And ステータス=’在庫'”))
zan6 = zan6 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_hanToshi & “# And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_hanToshi & “# And ステータス=’Yahoo!出品中'”))
zan6 = zan6 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_hanToshi & “# And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_hanToshi & “# And ステータス=’楽天出品中'”))

zan7 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_1nen & “# And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_1nen & “# And ステータス=’在庫'”))
zan7 = zan7 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_1nen & “# And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_1nen & “# And ステータス=’Yahoo!出品中'”))
zan7 = zan7 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_1nen & “# And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_1nen & “# And ステータス=’楽天出品中'”))
zan7 = zan7 – zan6

zan8 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_2nen & “# And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_2nen & “# And ステータス=’在庫'”))
zan8 = zan8 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_2nen & “# And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_2nen & “# And ステータス=’Yahoo!出品中'”))
zan8 = zan8 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_2nen & “# And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_2nen & “# And ステータス=’楽天出品中'”))
zan8 = zan8 – zan7 – zan6

zan9 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_3nen & “# And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_3nen & “# And ステータス=’在庫'”))
zan9 = zan9 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_3nen & “# And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_3nen & “# And ステータス=’Yahoo!出品中'”))
zan9 = zan9 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_3nen & “# And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 >= #” & day_3nen & “# And ステータス=’楽天出品中'”))
zan9 = zan9 – zan8 – zan7 – zan6

zan10 = IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 < #” & day_3nen & “# And ステータス=’在庫'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 < #” & day_3nen & “# And ステータス=’在庫'”))
zan10 = zan10 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 < #” & day_3nen & “# And ステータス=’Yahoo!出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 < #” & day_3nen & “# And ステータス=’Yahoo!出品中'”))
zan10 = zan10 + IIf(IsNull(DSum(“税抜原価”, “tb商品一覧”, “仕入日 < #” & day_3nen & “# And ステータス=’楽天出品中'”)), 0, DSum(“税抜原価”, “tb商品一覧”, “仕入日 < #” & day_3nen & “# And ステータス=’楽天出品中'”))

zan11 = zanNuki – zan6 – zan7 – zan8 – zan9 – zan10

With Me
.txtZ6.Value = zan6
.txtZ7.Value = zan7
.txtZ8.Value = zan8
.txtZ9.Value = zan9
.txtZ10.Value = zan10
.txtZ22.Value = zan11
End With
End Sub

Private Sub TOPへ戻るボタン_Click()
Application.Echo False ‘画面の描画を止める
OpenMain
CloseForm (“fm在庫数表示”)
Application.Echo True ‘画面の描画を行う
End Sub

Private Sub 参照ボタン_Click()
Me.txtPath.Value = FDFolderPicker
End Sub

Private Sub 商品管理画面へ戻るボタン_Click()
Application.Echo False ‘画面の描画を止める
OpenForm (“fm商品管理”)
CloseForm (“fm在庫数表示”)
Application.Echo True ‘画面の描画を行う
End Sub

Private Sub 販売管理画面へ戻るボタン_Click()
Application.Echo False ‘画面の描画を止める
OpenForm (“fm販売管理”)
CloseForm (“fm在庫数表示”)
Application.Echo True ‘画面の描画を行う
End Sub

タイトルとURLをコピーしました