Ei kuvausta
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SQL_採購系統管理.vb 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. Module SQL_採購系統管理
  2. '---------------------供應商資料表-----------------------------------------------------------------------------------------------------------------
  3. Friend Sub SQL_供應商資料表_清單()
  4. If 供應商資料表.精準查詢_ch.Checked = True Then : SQL2 = "AND"
  5. ElseIf 供應商資料表.精準查詢_ch.Checked = False Then : SQL2 = "OR" : End If
  6. ConnOpen()
  7. If 供應商資料表.查詢_tb.Text = "" Then
  8. If 供應商資料表.地區編碼_cb.Text = "" Then
  9. SQL1 = "SELECT 編號, 簡稱, 供應商, 公司地址, 電話1, 電話2, 電話3, 電話4, 店面地址, 店面電話, 工廠地址, 聯繫人1, 聯繫人2, 電話 AS 手機, 傳真, POS, 備註1, 備註2, 登入日期, 結算日,
  10. KR1, KR2, KR3, PEC, 停用, 票期, 支票_私人, 支票_公司, 稅金倍率, 廣告費倍率
  11. FROM 供應商資料表
  12. ORDER BY 編號"
  13. ElseIf 供應商資料表.地區編碼_cb.Text <> "9" And 供應商資料表.地區編碼_cb.Text <> "" Then
  14. SQL1 = "SELECT 編號, 簡稱, 供應商, 公司地址, 電話1, 電話2, 電話3, 電話4, 店面地址, 店面電話, 工廠地址, 聯繫人1, 聯繫人2, 電話 AS 手機, 傳真, POS, 備註1, 備註2, 登入日期, 結算日,
  15. KR1, KR2, KR3, PEC, 停用, 票期, 支票_私人, 支票_公司, 稅金倍率, 廣告費倍率
  16. FROM 供應商資料表
  17. WHERE (編號 LIKE N'" & 供應商資料表.地區編碼_cb.Text & "%') " & SQL2 & "
  18. (公司地址 LIKE '%" & 供應商資料表.地區_cb.Text & "%' OR 店面地址 LIKE '%" & 供應商資料表.地區_cb.Text & "%' OR 工廠地址 LIKE '%" & 供應商資料表.地區_cb.Text & "%')
  19. ORDER BY 編號"
  20. ElseIf (物料檔案.地區編碼_cb.Text <> "9" Or 物料檔案.地區編碼_cb.Text = "Y") Or 供應商資料表.地區編碼_cb.Text = "Y" Then
  21. SQL1 = "SELECT 編號, 簡稱, 供應商, 公司地址, 電話1, 電話2, 電話3, 電話4, 店面地址, 店面電話, 工廠地址, 聯繫人1, 聯繫人2, 電話 AS 手機, 傳真, POS, 備註1, 備註2, 登入日期, 結算日,
  22. KR1, KR2, KR3, PEC, 停用, 票期, 支票_私人, 支票_公司, 稅金倍率, 廣告費倍率
  23. FROM 供應商資料表
  24. WHERE (編號 LIKE N'" & 供應商資料表.地區編碼_cb.Text & "%') ORDER BY 編號"
  25. End If
  26. Else
  27. If 供應商資料表.地區編碼_cb.Text = "" Then
  28. SQL1 = "SELECT 編號, 簡稱, 供應商, 公司地址, 電話1, 電話2, 電話3, 電話4, 店面地址, 店面電話, 工廠地址, 聯繫人1, 聯繫人2, 電話 AS 手機, 傳真, POS, 備註1, 備註2, 登入日期, 結算日,
  29. KR1, KR2, KR3, PEC, 停用, 票期, 支票_私人, 支票_公司, 稅金倍率, 廣告費倍率
  30. FROM 供應商資料表
  31. WHERE (供應商 LIKE N'%" & PA & "%' OR 公司地址 LIKE N'%" & PA & "%' OR 電話1 LIKE N'%" & PA & "%' OR 電話2 LIKE N'%" & PA & "%' OR 電話3 LIKE N'%" & PA & "%' OR
  32. 電話4 LIKE N'%" & PA & "%' OR 店面地址 LIKE N'%" & PA & "%' OR 店面電話 LIKE N'%" & PA & "%' OR 簡稱 LIKE N'%" & PA & "%' OR 工廠地址 LIKE N'%" & PA & "%' OR
  33. 聯繫人1 LIKE N'%" & PA & "%' OR 聯繫人2 LIKE N'%" & PA & "%' OR 電話 LIKE N'%" & PA & "%' OR 傳真 LIKE N'%" & PA & "%' OR 備註1 LIKE N'%" & PA & "%' OR
  34. 備註2 LIKE N'%" & PA & "%')
  35. ORDER BY 編號"
  36. ElseIf (物料檔案.地區編碼_cb.Text <> "9" Or 物料檔案.地區編碼_cb.Text = "Y") And 供應商資料表.地區編碼_cb.Text <> "" Then
  37. SQL1 = "SELECT 編號, 簡稱, 供應商, 公司地址, 電話1, 電話2, 電話3, 電話4, 店面地址, 店面電話, 工廠地址, 聯繫人1, 聯繫人2, 電話 AS 手機, 傳真, POS, 備註1, 備註2, 登入日期, 結算日,
  38. KR1, KR2, KR3, PEC, 停用, 票期, 支票_私人, 支票_公司, 稅金倍率, 廣告費倍率
  39. FROM 供應商資料表
  40. WHERE (編號 LIKE N'" & 供應商資料表.地區編碼_cb.Text & "%') " & SQL2 & "
  41. (公司地址 LIKE '%" & 供應商資料表.地區_cb.Text & "%' OR 店面地址 LIKE '%" & 供應商資料表.地區_cb.Text & "%' OR 工廠地址 LIKE '%" & 供應商資料表.地區_cb.Text & "%') AND
  42. (供應商 LIKE N'%" & PA & "%' OR 公司地址 LIKE N'%" & PA & "%' OR 電話1 LIKE N'%" & PA & "%' OR
  43. 電話2 LIKE N'%" & PA & "%' OR 電話3 LIKE N'%" & PA & "%' OR 電話4 LIKE N'%" & PA & "%' OR 店面地址 LIKE N'%" & PA & "%' OR 店面電話 LIKE N'%" & PA & "%' OR
  44. 簡稱 LIKE N'%" & PA & "%' OR 工廠地址 LIKE N'%" & PA & "%' OR 聯繫人1 LIKE N'%" & PA & "%' OR 聯繫人2 LIKE N'%" & PA & "%' OR 電話 LIKE N'%" & PA & "%' OR
  45. 傳真 LIKE N'%" & PA & "%' OR 備註1 LIKE N'%" & PA & "%' OR 備註2 LIKE N'%" & PA & "%')
  46. ORDER BY 編號"
  47. ElseIf 供應商資料表.地區編碼_cb.Text = "9" Or 供應商資料表.地區編碼_cb.Text = "Y" Then
  48. SQL1 = "SELECT 編號, 簡稱, 供應商, 公司地址, 電話1, 電話2, 電話3, 電話4, 店面地址, 店面電話, 工廠地址, 聯繫人1, 聯繫人2, 電話 AS 手機, 傳真, POS, 備註1, 備註2, 登入日期, 結算日,
  49. KR1, KR2, KR3, PEC, 停用, 票期, 支票_私人, 支票_公司, 稅金倍率, 廣告費倍率
  50. FROM 供應商資料表
  51. WHERE (編號 LIKE N'" & 供應商資料表.地區編碼_cb.Text & "%') AND
  52. (供應商 LIKE N'%" & PA & "%' OR 公司地址 LIKE N'%" & PA & "%' OR 電話1 LIKE N'%" & PA & "%' OR
  53. 電話2 LIKE N'%" & PA & "%' OR 電話3 LIKE N'%" & PA & "%' OR 電話4 LIKE N'%" & PA & "%' OR 店面地址 LIKE N'%" & PA & "%' OR 店面電話 LIKE N'%" & PA & "%' OR
  54. 簡稱 LIKE N'%" & PA & "%' OR 工廠地址 LIKE N'%" & PA & "%' OR 聯繫人1 LIKE N'%" & PA & "%' OR 聯繫人2 LIKE N'%" & PA & "%' OR 電話 LIKE N'%" & PA & "%' OR
  55. 傳真 LIKE N'%" & PA & "%' OR 備註1 LIKE N'%" & PA & "%' OR 備註2 LIKE N'%" & PA & "%')
  56. ORDER BY 編號"
  57. End If
  58. End If
  59. CmdSet_For_DGV()
  60. End Sub
  61. Friend Sub SQL_供應商資料表_編號_最後一筆資料()
  62. ConnOpen() : SQL1 = "SELECT TOP (1) 編號 FROM 供應商資料表 WHERE (編號 LIKE N'" & 供應商資料表.地區編碼_cb.Text & "%') ORDER BY 編號 DESC" : CmdSet_For_dr()
  63. End Sub
  64. Friend Sub SQL_供應商資料表_新增()
  65. ConnOpen()
  66. SQL1 = "INSERT INTO 供應商資料表 (編號, 簡稱, 供應商, 公司地址, 電話1, 電話2, 電話3, 電話4, 店面地址, 店面電話, 工廠地址, 聯繫人1, 聯繫人2, 電話, 傳真, POS, 備註1,
  67. 備註2, 登入日期, 結算日, KR1, KR2, KR3, PEC, 停用)
  68. VALUES (N'" & PA & "', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'', N'" & DTP & "', N'0', N'0', N'0', N'0', N'0', N'0')"
  69. CmdSet_For_dr()
  70. End Sub
  71. Friend Sub SQL_供應商資料表_修改()
  72. ConnOpen()
  73. SQL1 = "UPDATE 供應商資料表 SET 簡稱 = N'" & 供應商資料表.簡稱_tb.Text & "', 供應商 = N'" & 供應商資料表.供應商_tb.Text & "', 公司地址 = N'" & 供應商資料表.公司地址_tb.Text & "',
  74. 電話1 = N'" & 供應商資料表.電話1_tb.Text & "', 電話2 = N'" & 供應商資料表.電話2_tb.Text & "', 電話3 = N'" & 供應商資料表.電話3_tb.Text & "',
  75. 電話4 = N'" & 供應商資料表.電話4_tb.Text & "', 店面地址 = N'" & 供應商資料表.店面地址_tb.Text & "', 店面電話 = N'" & 供應商資料表.店面電話_tb.Text & "',
  76. 工廠地址 = N'" & 供應商資料表.工廠地址_tb.Text & "', 聯繫人1 = N'" & 供應商資料表.聯繫人1_tb.Text & "', 聯繫人2 = N'" & 供應商資料表.聯繫人2_tb.Text & "',
  77. 電話 = N'" & 供應商資料表.手機_tb.Text & "', 傳真 = N'" & 供應商資料表.傳真_tb.Text & "', POS = N'" & 供應商資料表.POS_tb.Text & "',
  78. 備註1 = N'" & 供應商資料表.備註1_tb.Text & "', 備註2 = N'" & 供應商資料表.備註2_tb.Text & "', 登入日期 = N'" & 供應商資料表.登入日期_dtp.Value & "',
  79. 結算日 = N'" & 供應商資料表.結算日_nud.Value & "', KR1 = N'" & 供應商資料表.KR1_nud.Value & "', KR2 = N'" & 供應商資料表.KR2_nud.Value & "',
  80. KR3 = N'" & 供應商資料表.KR3_nud.Value & "', PEC = N'" & 供應商資料表.PEC_cb.Text & "', 停用 = N'" & 供應商資料表.停用_ch.Checked & "'
  81. WHERE (編號 = N'" & 供應商資料表.編號_tb.Text & "')"
  82. CmdSet_For_dr()
  83. End Sub
  84. Friend Sub SQL_供應商資料表_刪除()
  85. ConnOpen() : SQL1 = "DELETE 供應商資料表 WHERE (編號 = N'" & 供應商資料表.編號_tb.Text & "')" : CmdSet_For_dr()
  86. End Sub
  87. '---------------------一般性申請採購單-----------------------------------------------------------------------------------------------------------------
  88. Friend Sub SQL_採購申請單_單據()
  89. ConnOpen() : SQL1 = "SELECT 執行單號, 申請人, 申請日期 FROM 倉儲明細表 WHERE (狀態 LIKE N'採購入庫') AND (審核人 LIKE '') GROUP BY 執行單號, 申請人, 申請日期" : CmdSet_For_DGV()
  90. End Sub
  91. '---------------------依銷售申請採購單-----------------------------------------------------------------------------------------------------------------
  92. Friend Sub SQL_銷售控制表_轉採購()
  93. ConnOpen()
  94. SQL1 = "SELECT 流水號, 單號, 開單日期, 客戶編號, 交貨日期, 含稅, 單位主管, 審核日期, 業務人員, 送貨地點, 運費
  95. FROM 銷售控制表
  96. WHERE (單號 LIKE '" & PA19 & "%' AND 單位主管 NOT LIKE '作廢%') AND (單位主管 NOT LIKE '') AND (轉採購 IS NULL OR 轉採購 = 0)
  97. ORDER BY 單號 DESC"
  98. CmdSet_For_DGV()
  99. End Sub
  100. '---------------------採購對帳單-----------------------------------------------------------------------------------------------------------------
  101. Friend Sub SQL_採購對帳單_總表()
  102. ConnOpen()
  103. SQL1 = "SELECT LEFT(採購控制表.料號, 4) AS 編號, 供應商資料表.簡稱 AS 供應商, SUM(採購控制表.數量 * 採購控制表.成本)
  104. AS 當月貨款, 供應商資料表.稅金倍率 AS 稅金1, QQ.稅金 AS [稅金%], QQ.稅金, 供應商資料表.廣告費倍率 AS 廣告1,
  105. QQ.廣告 AS [廣告%], QQ.廣告, QQ.其他扣款, QQ.其他扣款 AS 實付金額, 供應商資料表.票期 AS 票期1, QQ.票期,
  106. QQ.公帳 AS [公司%], QQ.私帳 AS [個人%], QQ.公帳 AS 公司, QQ.私帳 AS 個人, 供應商資料表.支票_公司,
  107. 供應商資料表.支票_私人
  108. FROM (SELECT 年月, 客編, 稅金, 廣告, 其他扣款, 票期, 公帳, 私帳
  109. FROM 應付帳款基數
  110. WHERE (年月 LIKE '" & Strings.Left(Format(採購對帳單.結束日期_dtp.Value, "yyyy/MM/dd"), 7) & "')) AS QQ RIGHT OUTER JOIN
  111. 供應商資料表 ON QQ.客編 = 供應商資料表.編號 RIGHT OUTER JOIN
  112. 採購控制表 ON 供應商資料表.編號 = LEFT(採購控制表.料號, 4)
  113. WHERE (採購控制表.過帳日期 BETWEEN '" & Format(採購對帳單.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(採購對帳單.結束日期_dtp.Value, "yyyy/MM/dd") & "') AND
  114. (採購控制表.已過帳 = 1)
  115. GROUP BY LEFT(採購控制表.料號, 4), 供應商資料表.簡稱, 供應商資料表.票期, 供應商資料表.稅金倍率,
  116. 供應商資料表.廣告費倍率, QQ.票期, QQ.稅金, QQ.廣告, QQ.其他扣款, QQ.公帳, QQ.私帳, 供應商資料表.支票_公司,
  117. 供應商資料表.支票_私人
  118. ORDER BY 編號"
  119. CmdSet_For_DGV()
  120. End Sub
  121. Friend Sub SQL_採購對帳單_明細()
  122. ConnOpen()
  123. SQL1 = "SELECT 採購控制表.資料流水號, 採購控制表.銷售單號, 採購控制表.供商編號, 供應商資料表.簡稱 AS 供應商,
  124. 採購控制表.料號, 物料資料庫.品名, 採購控制表.倉儲狀態, 倉儲分區控制表.倉名, 採購控制表.訂製狀態,
  125. 物料訂製狀態.訂製, 採購控制表.物料狀態, 倉儲狀態.狀態, 採購控制表.備註, 採購控制表.訂製圖號, 採購控制表.數量,
  126. 採購控制表.成本, 採購控制表.採購總價 AS 金額, 採購控制表.申請人, 採購控制表.申請日期, 採購控制表.採購日期,
  127. 採購控制表.預計進廠日, 採購控制表.實際進廠日, 採購控制表.過帳日期, 採購控制表.已入庫, 採購控制表.已審核
  128. FROM 採購控制表 INNER JOIN
  129. 供應商資料表 ON 採購控制表.供商編號 = 供應商資料表.編號 INNER JOIN
  130. 物料資料庫 ON 採購控制表.料號 = 物料資料庫.料號 INNER JOIN
  131. 倉儲狀態 ON 採購控制表.物料狀態 = 倉儲狀態.編碼 INNER JOIN
  132. 物料訂製狀態 ON 採購控制表.訂製狀態 = 物料訂製狀態.編碼 INNER JOIN
  133. 倉儲分區控制表 ON 採購控制表.倉儲狀態 = 倉儲分區控制表.倉名編號
  134. WHERE (採購控制表.過帳日期 BETWEEN '" & Format(採購對帳單.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(採購對帳單.結束日期_dtp.Value, "yyyy/MM/dd") & "') AND
  135. (採購控制表.已過帳 = 1)
  136. ORDER BY 採購控制表.供商編號, 採購控制表.料號"
  137. CmdSet_For_DGV()
  138. End Sub
  139. End Module