Module SQL_採購系統管理 '---------------------供應商資料管理----------------------------------------------------------------------------------------------------------------- Friend Sub SQL__供應商資料管理清單() SQL1 = "SELECT 供應商資料表.編號, 供應商資料表.名稱, 供應商資料表.簡稱, 供應商資料表.負責人, 供應商資料表.負責人電話, 供應商資料表.公司電話1, 供應商資料表.公司電話2, 供應商資料表.傳真1, 供應商資料表.傳真2, 供應商資料表.地址1, 供應商資料表.郵遞區號1, 供應商資料表.地址2, 供應商資料表.郵遞區號2, 供應商資料表.聯絡人1, 供應商資料表.聯絡人電話1, 供應商資料表.聯絡人1MAIL, 供應商資料表.聯1LINE_唯信, 供應商資料表.聯絡人2, 供應商資料表.聯絡人電話2, 供應商資料表.聯絡人2MAIL, 供應商資料表.聯2LINE_唯信, 供應商資料表.聯絡人3, 供應商資料表.聯絡人手機3, 供應商資料表.聯絡人3MAIL, 供應商資料表.聯3LINE_唯信, 供應商資料表.統一編號, MJ付款方式.付款方式, 供應商資料表.請款日, 供應商資料表.票據日, 供應商資料表.折扣, 供應商資料表.稅率, 供應商資料表.幣別, 供應商資料表.備註, 供應商資料表.外貿對象 AS 外貿, 供應商資料表.停用 FROM 供應商資料表 INNER JOIN MJ付款方式 ON 供應商資料表.付款方式 = MJ付款方式.編號" PA1 = " ORDER BY 供應商資料表.編號 DESC" PA2 = " WHERE 供應商資料表.編號 LIKE N'%" & PA & "%' OR 供應商資料表.名稱 LIKE N'%" & PA & "%' OR 供應商資料表.簡稱 LIKE N'%" & PA & "%' OR 供應商資料表.負責人 LIKE N'%" & PA & "%' OR 供應商資料表.負責人電話 LIKE N'%" & PA & "%' OR 供應商資料表.公司電話1 LIKE N'%" & PA & "%' OR 供應商資料表.公司電話2 LIKE N'%" & PA & "%' OR 供應商資料表.傳真1 LIKE N'%" & PA & "%' OR 供應商資料表.傳真2 LIKE N'%" & PA & "%' OR 供應商資料表.地址1 LIKE N'%" & PA & "%' OR 供應商資料表.郵遞區號1 LIKE N'%" & PA & "%' OR 供應商資料表.地址2 LIKE N'%" & PA & "%' OR 供應商資料表.郵遞區號2 LIKE N'%" & PA & "%' OR 供應商資料表.聯絡人1 LIKE N'%" & PA & "%' OR 供應商資料表.聯絡人電話1 LIKE N'%" & PA & "%' OR 供應商資料表.聯絡人1MAIL LIKE N'%" & PA & "%' OR 供應商資料表.聯1LINE_唯信 LIKE N'%" & PA & "%' OR 供應商資料表.聯絡人2 LIKE N'%" & PA & "%' OR 供應商資料表.聯絡人電話2 LIKE N'%" & PA & "%' OR 供應商資料表.聯絡人2MAIL LIKE N'%" & PA & "%' OR 供應商資料表.聯2LINE_唯信 LIKE N'%" & PA & "%' OR 供應商資料表.聯絡人3 LIKE N'%" & PA & "%' OR 供應商資料表.聯絡人手機3 LIKE N'%" & PA & "%' OR 供應商資料表.聯絡人3MAIL LIKE N'%" & PA & "%' OR 供應商資料表.聯3LINE_唯信 LIKE N'%" & PA & "%' OR 供應商資料表.統一編號 LIKE N'%" & PA & "%' OR MJ付款方式.付款方式 LIKE N'%" & PA & "%' OR 供應商資料表.備註 LIKE N'%" & PA & "%'" ConnOpen() : If PA = "" Then : SQL1 &= PA1 : Else : SQL1 = SQL1 & PA2 & PA1 : End If : CmdSet_For_DGV() End Sub Friend Sub SQL_供應商資料表流水號最後一筆() ConnOpen() : SQL1 = "SELECT TOP (1) 編號 FROM 供應商資料表 ORDER BY 編號 DESC" : CmdSet_For_dr() End Sub Friend Sub SQL_供應商資料表新增() ConnOpen() SQL1 = "INSERT INTO 供應商資料表 (編號, 名稱, 簡稱, 負責人, 負責人電話, 公司電話1, 公司電話2, 傳真1, 傳真2, 地址1, 郵遞區號1, 地址2, 郵遞區號2, 聯絡人1, 聯絡人電話1, 聯絡人1MAIL, 聯1LINE_唯信, 聯絡人2, 聯絡人電話2, 聯絡人2MAIL, 聯2LINE_唯信, 聯絡人3, 聯絡人手機3, 聯絡人3MAIL, 聯3LINE_唯信, 統一編號, 付款方式, 請款日, 票據日, 折扣, 稅率, 幣別, 備註, 外貿對象, 停用) VALUES (N'" & 供應商資料管理.編號_tb.Text & "',N'" & 供應商資料管理.公司_tb.Text & "',N'" & 供應商資料管理.簡稱_tb.Text & "',N'" & 供應商資料管理.負責人_tb.Text & "',N'" & 供應商資料管理.負責人電話_tb.Text & "',N'" & 供應商資料管理.公司電話1_tb.Text & "',N'" & 供應商資料管理.公司電話2_tb.Text & "',N'" & 供應商資料管理.傳真1_tb.Text & "',N'" & 供應商資料管理.傳真2_tb.Text & "',N'" & 供應商資料管理.地址1_tb.Text & "',N'" & 供應商資料管理.郵號1_tb.Text & "',N'" & 供應商資料管理.地址2_tb.Text & "',N'" & 供應商資料管理.郵號2_tb.Text & "',N'" & 供應商資料管理.聯絡人1_tb.Text & "',N'" & 供應商資料管理.聯1電話_tb.Text & "',N'" & 供應商資料管理.聯1MAIL_tb.Text & "',N'" & 供應商資料管理.聯1LINE_tb.Text & "',N'" & 供應商資料管理.聯絡人2_tb.Text & "',N'" & 供應商資料管理.聯2電話_tb.Text & "',N'" & 供應商資料管理.聯2MAIL_tb.Text & "',N'" & 供應商資料管理.聯2LINE_tb.Text & "',N'" & 供應商資料管理.聯絡人3_tb.Text & "',N'" & 供應商資料管理.聯3電話_tb.Text & "',N'" & 供應商資料管理.聯3MAIL_tb.Text & "',N'" & 供應商資料管理.聯3LINE_tb.Text & "',N'" & 供應商資料管理.統編_tb.Text & "',N'" & 供應商資料管理.TextBox27.Text & "',N'" & 供應商資料管理.請款日_nud.Value & "',N'" & 供應商資料管理.票據日_nud.Value & "',N'" & 供應商資料管理.折扣_nud.Value & "',N'" & 供應商資料管理.稅率_nud.Value & "',N'" & 供應商資料管理.幣別_cb.Text & "',N'" & 供應商資料管理.備註_tb.Text & "',N'" & 供應商資料管理.外貿_ch.Checked & "',N'" & 供應商資料管理.停用_ch.Checked & "')" CmdSet_For_dr() End Sub Friend Sub SQL_供應商資料表修改() ConnOpen() SQL1 = "UPDATE 供應商資料表 SET 名稱 = N'" & 供應商資料管理.公司_tb.Text & "',簡稱 = N'" & 供應商資料管理.簡稱_tb.Text & "',負責人 = N'" & 供應商資料管理.負責人_tb.Text & "',負責人電話 = N'" & 供應商資料管理.負責人電話_tb.Text & "',公司電話1 = N'" & 供應商資料管理.公司電話1_tb.Text & "',公司電話2 = N'" & 供應商資料管理.公司電話2_tb.Text & "',傳真1 = N'" & 供應商資料管理.傳真1_tb.Text & "',傳真2 = N'" & 供應商資料管理.傳真2_tb.Text & "',地址1 = N'" & 供應商資料管理.地址1_tb.Text & "',郵遞區號1 = N'" & 供應商資料管理.郵號1_tb.Text & "',地址2 = N'" & 供應商資料管理.地址2_tb.Text & "',郵遞區號2 = N'" & 供應商資料管理.郵號2_tb.Text & "',聯絡人1 = N'" & 供應商資料管理.聯絡人1_tb.Text & "',聯絡人電話1 = N'" & 供應商資料管理.聯1電話_tb.Text & "',聯絡人1MAIL = N'" & 供應商資料管理.聯1MAIL_tb.Text & "',聯1LINE_唯信 = N'" & 供應商資料管理.聯1LINE_tb.Text & "',聯絡人2 = N'" & 供應商資料管理.聯絡人2_tb.Text & "',聯絡人電話2 = N'" & 供應商資料管理.聯2電話_tb.Text & "',聯絡人2MAIL = N'" & 供應商資料管理.聯2MAIL_tb.Text & "',聯2LINE_唯信 = N'" & 供應商資料管理.聯2LINE_tb.Text & "',聯絡人3 = N'" & 供應商資料管理.聯絡人3_tb.Text & "',聯絡人手機3 = N'" & 供應商資料管理.聯3電話_tb.Text & "',聯絡人3MAIL = N'" & 供應商資料管理.聯3MAIL_tb.Text & "',聯3LINE_唯信 = N'" & 供應商資料管理.聯3LINE_tb.Text & "',統一編號 = N'" & 供應商資料管理.統編_tb.Text & "',付款方式 = N'" & 供應商資料管理.TextBox27.Text & "',請款日 = N'" & 供應商資料管理.請款日_nud.Value & "',票據日 = N'" & 供應商資料管理.票據日_nud.Value & "',折扣 = N'" & 供應商資料管理.折扣_nud.Value & "',稅率 = N'" & 供應商資料管理.稅率_nud.Value & "',幣別 = N'" & 供應商資料管理.幣別_cb.Text & "',備註 = N'" & 供應商資料管理.備註_tb.Text & "',外貿對象 = N'" & 供應商資料管理.外貿_ch.Checked & "',停用 = N'" & 供應商資料管理.停用_ch.Checked & "' WHERE (編號 LIKE '" & 供應商資料管理.編號_tb.Text & "')" CmdSet_For_dr() End Sub Friend Sub SQL_供應商資料表刪除() ConnOpen() : SQL1 = "DELETE FROM 供應商資料表 WHERE (編號 = '" & 供應商資料管理.編號_tb.Text & "')" : CmdSet_For_dr() End Sub '---------------------採購控制表----------------------------------------------------------------------------------------------------------------- Friend Sub SQL_採購控制表清單() ConnOpen() SQL1 = "SELECT 倉儲明細表.單據編號, 倉儲明細表.客戶編號, 供應商資料表.簡稱 AS 廠商, 倉儲明細表.供應商編號, 客戶資料表.簡稱 AS 客戶, 倉儲明細表.料號, 物料資料庫.品名, 物料資料庫.尺寸, 物料資料庫.材質, 倉儲明細表.售價 AS 銷售單價, 倉儲明細表.金額 * 倉儲明細表.匯率 AS 單位成本, 倉儲明細表.入庫 AS 採購數量, 倉儲明細表.售價 * 倉儲明細表.入庫 AS 銷售金額, 倉儲明細表.金額 * 倉儲明細表.匯率 * 倉儲明細表.入庫 AS 採購成本, 倉儲明細表.售價 * 倉儲明細表.入庫 - 倉儲明細表.金額 * 倉儲明細表.匯率 * 倉儲明細表.入庫 AS 利潤, 倉儲明細表.採購下單, 倉儲明細表.入庫日期, 倉儲明細表.交期 AS 廠商交期, 倉儲明細表.備註, 倉儲明細表.狀態 FROM 倉儲明細表 LEFT OUTER JOIN 供應商資料表 ON 倉儲明細表.供應商編號 = 供應商資料表.編號 LEFT OUTER JOIN 物料資料庫 ON 倉儲明細表.料號 = 物料資料庫.料號 LEFT OUTER JOIN 客戶資料表 ON 倉儲明細表.客戶編號 = 客戶資料表.編號 WHERE (倉儲明細表.狀態 LIKE '採購入庫') AND (倉儲明細表.公司編號 LIKE '%" & 公司編號 & "%') AND (倉儲明細表.採購下單 BETWEEN '" & Format(採購控制表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(採購控制表.結束日期_dtp.Value, "yyyy/MM/dd") & "') ORDER BY 倉儲明細表.單據編號 DESC" CmdSet_For_DGV() End Sub Friend Sub SQL_採購控制表彙總() ConnOpen() SQL1 = "SELECT 供應商資料表.簡稱 AS 廠商, SUM(倉儲明細表.金額 * 倉儲明細表.匯率 * 倉儲明細表.入庫) AS 採購成本 FROM 倉儲明細表 LEFT OUTER JOIN 供應商資料表 ON 倉儲明細表.供應商編號 = 供應商資料表.編號 WHERE (倉儲明細表.狀態 LIKE '採購入庫') AND (倉儲明細表.公司編號 LIKE '%" & 公司編號 & "%') AND (倉儲明細表.採購下單 BETWEEN '" & Format(採購控制表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(採購控制表.結束日期_dtp.Value, "yyyy/MM/dd") & "') GROUP BY 供應商資料表.簡稱 ORDER BY 廠商" CmdSet_For_DGV() End Sub '---------------------採購單申請----------------------------------------------------------------------------------------------------------------- Friend Sub SQL_採購單申請_物料清單() ConnOpen() SQL1 = "SELECT 料號, 頁碼, 品名, 成本, 售價, 件數, 尺寸, 材質, 圖片編碼, 備註, 停用 FROM 物料資料庫 WHERE (頁碼 LIKE N'%" & 採購單申請.頁碼_cb.Text & "%') AND (停用 = 0 OR 停用 IS NULL) AND (料號 LIKE N'%" & 採購單申請.物料關鍵字_tb.Text & "%' OR 品名 LIKE N'%" & 採購單申請.物料關鍵字_tb.Text & "%' OR 成本 LIKE N'%" & 採購單申請.物料關鍵字_tb.Text & "%' OR 售價 LIKE N'%" & 採購單申請.物料關鍵字_tb.Text & "%' OR 件數 LIKE N'%" & 採購單申請.物料關鍵字_tb.Text & "%' OR 尺寸 LIKE N'%" & 採購單申請.物料關鍵字_tb.Text & "%' OR 材質 LIKE N'%" & 採購單申請.物料關鍵字_tb.Text & "%' OR 備註 LIKE N'%" & 採購單申請.物料關鍵字_tb.Text & "%') ORDER BY 料號 DESC" CmdSet_For_DGV() End Sub Friend Sub SQL_採購單申請_單號彙總() ConnOpen() If 採購單申請.未完全入庫的單據_rb.Checked = True Then KKKJJ = "(倉儲明細表.入庫日期 LIKE N'')" ElseIf 採購單申請.未完全入庫的單據_rb.Checked = False Then KKKJJ = "(倉儲明細表.入庫日期 NOT LIKE N'')" End If SQL1 = "SELECT 倉儲明細表.單據編號, 倉儲明細表.採購下單, 倉儲明細表.供應商編號, 供應商資料表.簡稱, 倉儲明細表.交期 FROM 倉儲明細表 INNER JOIN 供應商資料表 ON 倉儲明細表.供應商編號 = 供應商資料表.編號 WHERE " & KKKJJ & " AND (倉儲明細表.狀態 LIKE '採購入庫') AND (倉儲明細表.公司編號 LIKE '%" & 公司編號 & "%') AND (倉儲明細表.入庫 >= 0) GROUP BY 倉儲明細表.單據編號, 倉儲明細表.採購下單, 倉儲明細表.供應商編號, 供應商資料表.簡稱, 倉儲明細表.交期 ORDER BY 倉儲明細表.單據編號 DESC" CmdSet_For_DGV() End Sub Friend Sub SQL_採購單申請明細() SQL1 = "SELECT 倉儲明細表.資料流水號, 倉儲明細表.資料流水號 AS 項次, 倉儲明細表.料號, 物料資料庫.品名, 物料資料庫.尺寸, 物料資料庫.材質, 倉儲明細表.入庫 AS 數量, 倉儲明細表.金額 AS 單價, 倉儲明細表.匯率, 倉儲明細表.金額 * 倉儲明細表.匯率 AS 台幣單價, 倉儲明細表.金額 * 倉儲明細表.匯率 * 倉儲明細表.入庫 AS 進貨成本_台幣, 倉儲明細表.備註, 倉儲明細表.入庫日期, 倉儲明細表.供應商編號, 倉儲明細表.客戶編號, 倉儲明細表.售價, 倉儲明細表.公司編號, MJ選擇按鈕.選擇 FROM 倉儲明細表 LEFT OUTER JOIN MJ選擇按鈕 ON 倉儲明細表.資料流水號 = MJ選擇按鈕.按鈕 LEFT OUTER JOIN 物料資料庫 ON 倉儲明細表.料號 = 物料資料庫.料號 WHERE (倉儲明細表.單據編號 LIKE N'" & 採購單申請.單據編號_tb.Text & "') AND (倉儲明細表.公司編號 LIKE '%" & 公司編號 & "%') AND (倉儲明細表.入庫 >= 0) ORDER BY 倉儲明細表.料號" CmdSet_For_DGV() End Sub Friend Sub SQL_採購單申請_供應商資料表讀取() ConnOpen() SQL1 = "SELECT 供應商資料表.名稱, 供應商資料表.公司電話1, 供應商資料表.公司電話2, 供應商資料表.傳真1, 供應商資料表.地址1, 供應商資料表.郵遞區號1, 供應商資料表.地址2, 供應商資料表.郵遞區號2, 供應商資料表.統一編號, MJ付款方式.付款方式 FROM 供應商資料表 INNER JOIN MJ付款方式 ON 供應商資料表.付款方式 = MJ付款方式.編號 WHERE (供應商資料表.編號 LIKE '%" & 採購單申請.供應商編號_cb.Text & "%') AND (供應商資料表.停用 = 0 OR 供應商資料表.停用 IS NULL) ORDER BY 名稱" CmdSet_For_dr() End Sub Friend Sub SQL_採購單申請_倉儲明細表匯率修改() ConnOpen() : SQL1 = "UPDATE 倉儲明細表 SET 匯率 = N'" & NU1 & "' WHERE (資料流水號 LIKE '" & PA1 & "')" : CmdSet_For_dr() End Sub '---------------------採購退貨申請----------------------------------------------------------------------------------------------------------------- Friend Sub SQL_採購退貨申請_單號彙總() ConnOpen() SQL1 = "SELECT 倉儲明細表.單據編號, 倉儲明細表.採購下單, 倉儲明細表.供應商編號, 供應商資料表.簡稱, 倉儲明細表.交期 FROM 倉儲明細表 INNER JOIN 供應商資料表 ON 倉儲明細表.供應商編號 = 供應商資料表.編號 WHERE (倉儲明細表.入庫日期 NOT LIKE N'') AND (倉儲明細表.狀態 LIKE '採購入庫') AND (倉儲明細表.公司編號 LIKE '%" & 公司編號 & "%') GROUP BY 倉儲明細表.單據編號, 倉儲明細表.採購下單, 倉儲明細表.供應商編號, 供應商資料表.簡稱, 倉儲明細表.交期 ORDER BY 倉儲明細表.單據編號 DESC" CmdSet_For_DGV() End Sub Friend Sub SQL_採購退貨申請明細() SQL1 = "SELECT 倉儲明細表.資料流水號, 倉儲明細表.資料流水號 AS 項次, 倉儲明細表.料號, 物料資料庫.品名, 物料資料庫.尺寸, 物料資料庫.材質, 倉儲明細表.入庫 AS 數量, 倉儲明細表.金額 AS 單價, 倉儲明細表.匯率, 倉儲明細表.金額 * 倉儲明細表.匯率 AS 台幣單價, 倉儲明細表.金額 * 倉儲明細表.匯率 * 倉儲明細表.入庫 AS 進貨成本_台幣, 倉儲明細表.備註, 倉儲明細表.入庫日期, 倉儲明細表.供應商編號, 倉儲明細表.客戶編號, 倉儲明細表.售價, 倉儲明細表.公司編號, MJ選擇按鈕.選擇 FROM 倉儲明細表 LEFT OUTER JOIN MJ選擇按鈕 ON 倉儲明細表.資料流水號 = MJ選擇按鈕.按鈕 LEFT OUTER JOIN 物料資料庫 ON 倉儲明細表.料號 = 物料資料庫.料號 WHERE (倉儲明細表.單據編號 LIKE N'" & 採購退貨申請.單據編號_tb.Text & "') AND (倉儲明細表.公司編號 LIKE '%" & 公司編號 & "%') ORDER BY 倉儲明細表.料號" CmdSet_For_DGV() End Sub Friend Sub SQL_採購退貨申請_供應商資料表讀取() ConnOpen() SQL1 = "SELECT 供應商資料表.名稱, 供應商資料表.公司電話1, 供應商資料表.公司電話2, 供應商資料表.傳真1, 供應商資料表.地址1, 供應商資料表.郵遞區號1, 供應商資料表.地址2, 供應商資料表.郵遞區號2, 供應商資料表.統一編號, MJ付款方式.付款方式 FROM 供應商資料表 INNER JOIN MJ付款方式 ON 供應商資料表.付款方式 = MJ付款方式.編號 WHERE (供應商資料表.編號 LIKE '%" & 採購退貨申請.供應商編號_cb.Text & "%') AND (供應商資料表.停用 = 0 OR 供應商資料表.停用 IS NULL) ORDER BY 名稱" CmdSet_For_dr() End Sub Friend Sub SQL_採購退貨申請清單() ConnOpen() If 採購退貨申請.依供應商排序_ch.Checked = True Then : KKKJJ = "ORDER BY 供應商資料表.簡稱, 倉儲明細表.料號" : Else : KKKJJ = "ORDER BY 倉儲明細表.料號, 供應商資料表.簡稱" : End If If 採購退貨申請.物料關鍵字_tb.Text = "" And 採購退貨申請.頁碼_cb.Text = "" Then KKKJJ2 = "" ElseIf 採購退貨申請.物料關鍵字_tb.Text <> "" And 採購退貨申請.頁碼_cb.Text = "" Then KKKJJ2 = " AND (物料資料庫.品名 LIKE '%" & 採購退貨申請.物料關鍵字_tb.Text & "%') " ElseIf 採購退貨申請.物料關鍵字_tb.Text = "" And 採購退貨申請.頁碼_cb.Text <> "" Then KKKJJ2 = " AND (物料資料庫.頁碼 LIKE '" & 採購退貨申請.頁碼_cb.Text & "%') " ElseIf 採購退貨申請.物料關鍵字_tb.Text <> "" And 採購退貨申請.頁碼_cb.Text <> "" Then KKKJJ2 = " AND (物料資料庫.品名 LIKE '%" & 採購退貨申請.物料關鍵字_tb.Text & "%' OR 物料資料庫.頁碼 LIKE '" & 採購退貨申請.頁碼_cb.Text & "%') " End If SQL1 = "SELECT 供應商資料表.簡稱 AS 供應商, 倉儲明細表.供應商編號, 倉儲明細表.料號, 物料資料庫.品名, 物料資料庫.尺寸, 物料資料庫.材質, SUM(倉儲明細表.金額 * 倉儲明細表.匯率 * 倉儲明細表.入庫) / SUM(倉儲明細表.入庫) AS 加權成本_台幣, SUM(倉儲明細表.入庫) - SUM(倉儲明細表.出庫) AS 庫存, (SUM(倉儲明細表.入庫) - SUM(倉儲明細表.出庫)) * (SUM(倉儲明細表.金額 * 倉儲明細表.匯率 * 倉儲明細表.入庫) / SUM(倉儲明細表.入庫)) AS 庫存成本_台幣, WW.未入庫, WW.未入庫 * (SUM(倉儲明細表.金額 * 倉儲明細表.匯率 * 倉儲明細表.入庫) / SUM(倉儲明細表.入庫)) AS 在途成本_台幣, QQ.未出庫, QQ.未出庫 * (SUM(倉儲明細表.金額 * 倉儲明細表.匯率 * 倉儲明細表.入庫) / SUM(倉儲明細表.入庫)) AS 備貨成本_台幣, QQ.未出庫 AS 可領用, 物料資料庫.售價 FROM 倉儲明細表 LEFT OUTER JOIN 物料資料庫 ON 倉儲明細表.料號 = 物料資料庫.料號 LEFT OUTER JOIN 供應商資料表 ON 倉儲明細表.供應商編號 = 供應商資料表.編號 FULL OUTER JOIN (SELECT 供應商編號, 料號, SUM(出庫) AS 未出庫 FROM 倉儲明細表 AS 倉儲明細表_2 WHERE (倉儲作業 LIKE '') AND (狀態 LIKE '%出庫') AND (公司編號 LIKE '%" & 公司編號 & "%') GROUP BY 供應商編號, 料號) AS QQ ON 倉儲明細表.供應商編號 = QQ.供應商編號 AND 倉儲明細表.料號 = QQ.料號 FULL OUTER JOIN (SELECT 供應商編號, 料號, SUM(入庫) AS 未入庫 FROM 倉儲明細表 AS 倉儲明細表_1 WHERE (倉儲作業 LIKE '') AND (狀態 LIKE '%入庫') AND (公司編號 LIKE '%" & 公司編號 & "%') GROUP BY 供應商編號, 料號) AS WW ON 倉儲明細表.供應商編號 = WW.供應商編號 AND 倉儲明細表.料號 = WW.料號 WHERE (倉儲明細表.倉儲作業 NOT LIKE '') AND (倉儲明細表.公司編號 LIKE '%" & 公司編號 & "%') AND (倉儲明細表.倉名編號 LIKE '%" & 採購退貨申請.倉庫編號_tb.Text & "%') " & KKKJJ2 & " GROUP BY 供應商資料表.簡稱, 倉儲明細表.供應商編號, 倉儲明細表.料號, 物料資料庫.品名, 物料資料庫.尺寸, 物料資料庫.材質, WW.未入庫, QQ.未出庫, 物料資料庫.售價 HAVING (SUM(倉儲明細表.入庫) - SUM(倉儲明細表.出庫) > 0) " & KKKJJ & "" CmdSet_For_DGV() End Sub '---------------------採購退貨清單----------------------------------------------------------------------------------------------------------------- Friend Sub SQL_採購退貨清單_單號彙總() ConnOpen() SQL1 = "SELECT 倉儲明細表.單據編號, 倉儲明細表.採購下單, 倉儲明細表.供應商編號, 供應商資料表.簡稱, 倉儲明細表.交期 FROM 倉儲明細表 INNER JOIN 供應商資料表 ON 倉儲明細表.供應商編號 = 供應商資料表.編號 WHERE (倉儲明細表.狀態 LIKE '採購入庫') AND (倉儲明細表.公司編號 LIKE '%" & 公司編號 & "%') AND (倉儲明細表.入庫 < 0) GROUP BY 倉儲明細表.單據編號, 倉儲明細表.採購下單, 倉儲明細表.供應商編號, 供應商資料表.簡稱, 倉儲明細表.交期 ORDER BY 倉儲明細表.單據編號 DESC" CmdSet_For_DGV() End Sub Friend Sub SQL_採購退貨清單明細() SQL1 = "SELECT 倉儲明細表.資料流水號, 倉儲明細表.資料流水號 AS 項次, 倉儲明細表.料號, 物料資料庫.品名, 物料資料庫.尺寸, 物料資料庫.材質, 倉儲明細表.入庫 AS 數量, 倉儲明細表.金額 AS 單價, 倉儲明細表.匯率, 倉儲明細表.金額 * 倉儲明細表.匯率 AS 台幣單價, 倉儲明細表.金額 * 倉儲明細表.匯率 * 倉儲明細表.入庫 AS 進貨成本_台幣, 倉儲明細表.備註, 倉儲明細表.入庫日期, 倉儲明細表.供應商編號, 倉儲明細表.客戶編號, 倉儲明細表.售價, 倉儲明細表.公司編號, MJ選擇按鈕.選擇 FROM 倉儲明細表 LEFT OUTER JOIN MJ選擇按鈕 ON 倉儲明細表.資料流水號 = MJ選擇按鈕.按鈕 LEFT OUTER JOIN 物料資料庫 ON 倉儲明細表.料號 = 物料資料庫.料號 WHERE (倉儲明細表.單據編號 LIKE N'" & 採購退貨清單.單據編號_tb.Text & "') AND (倉儲明細表.公司編號 LIKE '%" & 公司編號 & "%') AND (倉儲明細表.入庫 < 0) ORDER BY 倉儲明細表.料號" CmdSet_For_DGV() End Sub Friend Sub SQL_採購退貨清單_供應商資料表讀取() ConnOpen() SQL1 = "SELECT 供應商資料表.名稱, 供應商資料表.公司電話1, 供應商資料表.公司電話2, 供應商資料表.傳真1, 供應商資料表.地址1, 供應商資料表.郵遞區號1, 供應商資料表.地址2, 供應商資料表.郵遞區號2, 供應商資料表.統一編號, MJ付款方式.付款方式 FROM 供應商資料表 INNER JOIN MJ付款方式 ON 供應商資料表.付款方式 = MJ付款方式.編號 WHERE (供應商資料表.編號 LIKE '%" & 採購退貨清單.供應商編號_cb.Text & "%') AND (供應商資料表.停用 = 0 OR 供應商資料表.停用 IS NULL) ORDER BY 名稱" CmdSet_For_dr() End Sub '---------------------採購退貨確認----------------------------------------------------------------------------------------------------------------- Friend Sub SQL_採購退貨確認清單() ConnOpen() SQL1 = "SELECT 倉儲明細表.資料流水號, 倉儲明細表.單據編號, 倉儲明細表.料號, 物料資料庫.品名, 物料資料庫.尺寸, 物料資料庫.材質, 倉儲明細表.入庫 AS 準備入庫數量, 倉儲明細表.備註, 倉儲明細表.採購下單, 倉儲明細表.入庫日期, MJ選擇按鈕.選擇, 倉儲明細表.狀態, 倉儲明細表.倉名編號 FROM 倉儲明細表 LEFT OUTER JOIN MJ選擇按鈕 ON 倉儲明細表.資料流水號 = MJ選擇按鈕.按鈕 LEFT OUTER JOIN 物料資料庫 ON 倉儲明細表.料號 = 物料資料庫.料號 WHERE (倉儲明細表.狀態 LIKE '採購入庫') AND (倉儲明細表.入庫日期 LIKE '') AND (倉儲明細表.公司編號 LIKE '%" & 公司編號 & "%') AND (倉儲明細表.入庫 < 0) ORDER BY 倉儲明細表.單據編號" CmdSet_For_DGV() End Sub Friend Sub SQL_採購退貨確認_倉名取得() ConnOpen() : SQL1 = "SELECT 倉名 FROM 倉儲分區控制表 WHERE 倉名編號 LIKE N'" & PA & "'" : CmdSet_For_dr() End Sub End Module