Module SQL_語法_2
    Friend Sub SQL_建築物料請購單核准_請購單清單()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔" : Else : 低網 = "" : End If
        SQL1 = "SELECT      請購單明細表.請購單號, 請購單明細表.項次 AS [" & 表頭(11) & "], 
                            物料編碼庫轉語言.品名 AS [" & 表頭(12) & "], 物料規格表.A1 AS [" & 表頭(13) & "], 
                            請購單明細表.備註 AS [" & 表頭(14) & "], 請購單明細表.數量 AS [" & 表頭(15) & "], 
                            物料編碼庫.單位 AS [" & 表頭(16) & "], 倉儲分區控制表.倉名 AS [" & 表頭(17) & "], 物料規格表.圖檔編號, 
                            請購單明細表.群組碼, 請購單明細表.群組原則, 物料資訊控制表.規格庫編號, 
                            物料資訊控制表.規格庫抬頭指定, 物料規格表.A2, 物料規格表.A3, 物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 
                            物料規格表.A7, 物料規格表.A8 " & 低網 & "
                FROM        請購單明細表 INNER JOIN
                            物料編碼庫 ON 請購單明細表.群組碼 = 物料編碼庫.群組碼 AND 
                            請購單明細表.群組原則 = 物料編碼庫.料號原則 INNER JOIN
                            物料圖庫 ON 物料編碼庫.群組碼 = 物料圖庫.群組碼 AND 
                            物料編碼庫.料號原則 = 物料圖庫.料號原則 LEFT OUTER JOIN
                            物料資訊控制表 ON 請購單明細表.群組原則 = 物料資訊控制表.料號原則 LEFT OUTER JOIN
                            物料規格表 ON 請購單明細表.料號 = 物料規格表.料號 LEFT OUTER JOIN
                            倉儲分區控制表 ON 請購單明細表.用途 = 倉儲分區控制表.倉名編號 INNER JOIN
                            物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                            物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼
                WHERE      (請購單明細表.請購單號 LIKE N'" & 請購單核准.請購單號_tb.Text & "') AND (物料資訊控制表.規格庫編號 IS NOT NULL) AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                ORDER BY   [" & 表頭(11) & "]"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_規格庫抬頭讀取()
        ConnOpen() : SQL1 = "SELECT 規格庫抬頭指定, A1, A2, A3, A4, A5, A6, A7, A8 FROM 規格庫抬頭 WHERE 規格庫抬頭指定 LIKE N'" & PA3 & "' AND 語言 LIKE N'" & 系統語言 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_規格庫抬頭讀取_列印用()
        ConnOpen() : SQL1 = "SELECT 規格庫抬頭指定, A1, A2, A3, A4, A5, A6, A7, A8 FROM 規格庫抬頭 WHERE 規格庫抬頭指定 LIKE N'" & PA3 & "' AND 語言 LIKE N'" & PA20 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料請購單申請_未核准()
        ConnOpen()
        SQL1 = "SELECT      TOP (100) 請購單控制表.請購單號 AS [" & 表頭(18) & "], 請購單控制表.申請人 AS [" & 表頭(19) & "], 
                            LEFT(請購單控制表.申請日期, 10) AS [" & 表頭(20) & "], 請購單控制表.核准人 AS [" & 表頭(21) & "], 
                            LEFT(請購單控制表.核准日期, 10) AS [" & 表頭(22) & "], 請購單控制表.需求日期,
                            請購單控制表.合約號 AS [" & 表頭(134) & "], 備註, 乙方, 甲方, 立約日, 序號
                FROM        請購單控制表 INNER JOIN
                            使用者權限管理表 ON 請購單控制表.申請人 = 使用者權限管理表.姓名 INNER JOIN
                                (SELECT          姓名, 帳號, 職稱, 時效, 授權
                                  FROM           系統跨部門權限表
                                  WHERE         (姓名 LIKE N'" & gUserName & "') AND (授權 = 1)) AS QQQ ON 
                            使用者權限管理表.職稱 = QQQ.職稱
                WHERE      (請購單控制表.核准人 LIKE N'') ORDER BY 請購單控制表.請購單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料請購單申請_作廢清單()
        ConnOpen()
        SQL1 = "SELECT      TOP (100) 請購單控制表.請購單號 AS [" & 表頭(18) & "], 請購單控制表.申請人 AS [" & 表頭(19) & "], 
                            LEFT(請購單控制表.申請日期, 10) AS [" & 表頭(20) & "], 請購單控制表.核准人 AS [" & 表頭(21) & "], 
                            LEFT(請購單控制表.核准日期, 10) AS [" & 表頭(22) & "], 請購單控制表.需求日期,
                            請購單控制表.合約號 AS [" & 表頭(134) & "], 備註, 乙方, 甲方, 立約日, 序號
                FROM        請購單控制表 INNER JOIN
                            使用者權限管理表 ON 請購單控制表.申請人 = 使用者權限管理表.姓名 INNER JOIN
                                (SELECT          姓名, 帳號, 職稱, 時效, 授權
                                  FROM           系統跨部門權限表
                                  WHERE         (姓名 LIKE N'" & gUserName & "') AND (授權 = 1)) AS QQQ ON 
                            使用者權限管理表.職稱 = QQQ.職稱
                WHERE      (請購單控制表.核准人 LIKE N'作廢%') ORDER BY 請購單控制表.請購單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料請購單申請_已核准()
        ConnOpen()
        SQL1 = "SELECT      TOP (100) 請購單控制表.請購單號 AS [" & 表頭(18) & "], 請購單控制表.申請人 AS [" & 表頭(19) & "], 
                            LEFT(請購單控制表.申請日期, 10) AS [" & 表頭(20) & "], 請購單控制表.核准人 AS [" & 表頭(21) & "], 
                            LEFT(請購單控制表.核准日期, 10) AS [" & 表頭(22) & "], 請購單控制表.需求日期,
                            請購單控制表.合約號 AS [" & 表頭(134) & "], 備註, 乙方, 甲方, 立約日, 序號
                FROM        請購單控制表 INNER JOIN
                            使用者權限管理表 ON 請購單控制表.申請人 = 使用者權限管理表.姓名 INNER JOIN
                                (SELECT          姓名, 帳號, 職稱, 時效, 授權
                                  FROM           系統跨部門權限表
                                  WHERE         (姓名 LIKE N'" & gUserName & "') AND (授權 = 1)) AS QQQ ON 
                            使用者權限管理表.職稱 = QQQ.職稱
                WHERE      (請購單控制表.核准人 NOT LIKE N'作廢%') AND (請購單控制表.特殊 = 1) AND (請購單控制表.核准人 NOT LIKE N'') AND (使用者權限管理表.CC63 = 0)  
                ORDER BY    請購單控制表.請購單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_倉名_下拉清單()
        ConnOpen() : SQL1 = "SELECT 倉名 FROM 倉儲分區控制表 WHERE CXL = '0' ORDER BY 倉級, 倉名編號" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單審核_申請人資料()
        ConnOpen() : SQL1 = "SELECT 部門, 課別, 組別, 級別 FROM 使用者權限管理表 WHERE (帳號 = '" & 請購單核准.申請人_tb.Text & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_物料圖庫_圖檔讀取()
        ConnOpen() : SQL1 = "SELECT 圖檔 FROM 物料圖庫 WHERE 群組碼 LIKE N'" & PA1 & "' AND 料號原則  LIKE N'" & PA2 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_指定倉儲_資料讀取()
        ConnOpen() : SQL1 = "SELECT 倉級, 倉名編號 FROM 倉儲分區控制表 WHERE (倉名 LIKE N'" & PA6 & "') AND CXL = '0'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料請購單核准_請購單核准()
        ConnOpen() : SQL1 = "UPDATE 請購單控制表 SET 核准人 = N'" & PA1 & "', 核准日期 = N'" & DTP & "' WHERE (請購單號 = N'" & PA & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單核准_加急核准()
        ConnOpen() : SQL1 = "UPDATE 請購單控制表 SET 加急 = 1 WHERE (請購單號 = N'" & PA & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單申請_加急存檔()
        ConnOpen() : SQL1 = "UPDATE 請購單明細表 SET 加急 = 1 WHERE (請購單號 LIKE N'" & PA4 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料請購單申請_存檔()
        ConnOpen()
        SQL1 = "UPDATE 請購單明細表 SET 備註 = N'" & PA1 & "', 數量 = N'" & NU1 & "', 單位 = N'" & PA2 & "', 用途 = N'" & PA3 & "'
                   WHERE (請購單號 LIKE N'" & PA4 & "' AND 項次 LIKE N'" & PA5 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單需求日其修改()
        ConnOpen() : SQL1 = "UPDATE 請購單控制表 SET 需求日期 = '" & DTP & "' WHERE 請購單號 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單明細表_指定刪除()
        ConnOpen() : SQL1 = "DELETE FROM 請購單明細表 WHERE (請購單號 LIKE N'" & PA1 & "' AND 項次 LIKE N'" & PA2 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單明細表_項次修改()
        ConnOpen() : SQL1 = "UPDATE 請購單明細表 SET 項次 = N'" & PA & "' WHERE (請購單號 LIKE N'" & PA1 & "' AND 項次 LIKE N'" & PA2 & "')" : CmdSet_For_dr()
    End Sub
    '---------------------供應商管理-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_建築物料供應商資料管理_清單()
        ConnOpen()
        If PA = "" Then
            SQL2 = ""
        Else
            SQL1 = " WHERE 供應商資料表.供應商編碼 LIKE N'%" & PA & "%' OR QQQ.類別 LIKE N'%" & PA & "%' OR 供應商資料表.公司名 LIKE N'%" & PA & "%' OR 供應商資料表.公司地址 LIKE N'%" & PA & "%' OR 
                           供應商資料表.聯繫人1 LIKE N'%" & PA & "%' OR 供應商資料表.聯繫人2 LIKE N'%" & PA & "%' OR 供應商資料表.聯繫人3 LIKE N'%" & PA & "%' "
        End If
        SQL1 = "SELECT 供應商資料表.供應商編碼 AS [" & 表頭(49) & "], QQQ.類別 AS [" & 表頭(50) & "], 供應商資料表.公司名 AS [" & 表頭(51) & "], 供應商資料表.公司地址 AS [" & 表頭(52) & "], 
                       供應商資料表.公司電話1 AS [" & 表頭(53) & "], 供應商資料表.公司電話2 AS [" & 表頭(54) & "], 供應商資料表.公司電話3 AS [" & 表頭(55) & "], 
                       供應商資料表.公司傳真1 AS [" & 表頭(56) & "], 供應商資料表.公司傳真2 AS [" & 表頭(57) & "], 供應商資料表.公司傳真3 AS [" & 表頭(58) & "], 
                       供應商資料表.聯繫人1 AS [" & 表頭(59) & "], 供應商資料表.聯繫人2 AS [" & 表頭(60) & "], 供應商資料表.聯繫人3 AS [" & 表頭(61) & "], 供應商資料表.聯繫人1職稱, 聯繫人2職稱, 
                       供應商資料表.聯繫人3職稱, 供應商資料表.聯繫人1電話, 供應商資料表.聯繫人2電話, 供應商資料表.聯繫人3電話, 供應商資料表.聯繫人1郵箱, 供應商資料表.聯繫人2郵箱, 
                       供應商資料表.聯繫人3郵箱, 供應商資料表.供應商簡稱 AS [key], 供應商資料表.特殊 AS [☆]
                FROM   供應商資料表 LEFT OUTER JOIN
                                (SELECT          編碼, 語言, 類別
                                  FROM           供應商類別
                                  WHERE         (供應商類別.語言 LIKE N'" & 系統語言 & "')) AS QQQ ON 供應商資料表.供應商簡稱 = QQQ.編碼
                " & SQL2 & " 
                ORDER BY 供應商資料表.供應商編碼"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_供應商類別_下拉清單()
        ConnOpen() : SQL1 = "SELECT 類別 FROM 供應商類別 WHERE 語言 LIKE N'" & 系統語言 & "' ORDER BY 編碼" : CmdSet_For_dr()
    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, 公司電話3, 公司傳真1, 公司傳真2, 公司傳真3, 聯繫人1, 聯繫人2, 聯繫人3, 聯繫人1職稱, 
                                          聯繫人2職稱, 聯繫人3職稱, 聯繫人1電話, 聯繫人2電話, 聯繫人3電話, 聯繫人1郵箱, 聯繫人2郵箱, 聯繫人3郵箱, 特殊) 
                VALUES (N'" & 供應商管理.供應商編號_tb.Text & "',N'" & 供應商管理.供應商簡稱_tb.Text & "',N'" & 供應商管理.公司名_tb.Text & "',
                        N'" & 供應商管理.地址_tb.Text & "',N'" & 供應商管理.電話1_tb.Text & "',N'" & 供應商管理.電話2_tb.Text & "',
                        N'" & 供應商管理.電話3_tb.Text & "', N'" & 供應商管理.傳真1_tb.Text & "',N'" & 供應商管理.傳真2_tb.Text & "',
                        N'" & 供應商管理.傳真3_tb.Text & "',N'" & 供應商管理.聯繫人1_tb.Text & "', N'" & 供應商管理.聯繫人2_tb.Text & "',
                        N'" & 供應商管理.聯繫人3_tb.Text & "',N'" & 供應商管理.職稱1_tb.Text & "',N'" & 供應商管理.職稱2_tb.Text & "',
                        N'" & 供應商管理.職稱3_tb.Text & "',N'" & 供應商管理.聯繫電話1_tb.Text & "',N'" & 供應商管理.聯繫電話2_tb.Text & "',
                        N'" & 供應商管理.聯繫電話3_tb.Text & "',N'" & 供應商管理.信箱1_tb.Text & "',N'" & 供應商管理.信箱2_tb.Text & "',
                        N'" & 供應商管理.信箱3_tb.Text & "', '" & 供應商管理.特殊_ch.Checked & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商資料表_修改()
        ConnOpen()
        SQL1 = "UPDATE 供應商資料表 SET 供應商簡稱 = N'" & 供應商管理.供應商簡稱_tb.Text & "', 公司名 = N'" & 供應商管理.公司名_tb.Text & "', 
                                        公司地址 = N'" & 供應商管理.地址_tb.Text & "', 公司電話1 = N'" & 供應商管理.電話1_tb.Text & "', 
                                        公司電話2 = N'" & 供應商管理.電話2_tb.Text & "', 公司電話3 = N'" & 供應商管理.電話3_tb.Text & "', 
                                        公司傳真1 = N'" & 供應商管理.傳真1_tb.Text & "', 公司傳真2 = N'" & 供應商管理.傳真2_tb.Text & "', 
                                        公司傳真3 = N'" & 供應商管理.傳真3_tb.Text & "', 聯繫人1 = N'" & 供應商管理.聯繫人1_tb.Text & "', 
                                        聯繫人2 = N'" & 供應商管理.聯繫人2_tb.Text & "', 聯繫人3 = N'" & 供應商管理.聯繫人3_tb.Text & "', 
                                        聯繫人1職稱 = N'" & 供應商管理.職稱1_tb.Text & "', 聯繫人2職稱 = N'" & 供應商管理.職稱2_tb.Text & "', 
                                        聯繫人3職稱 = N'" & 供應商管理.職稱3_tb.Text & "', 聯繫人1電話 = N'" & 供應商管理.聯繫電話1_tb.Text & "', 
                                        聯繫人2電話 = N'" & 供應商管理.聯繫電話2_tb.Text & "', 聯繫人3電話 = N'" & 供應商管理.聯繫電話3_tb.Text & "', 
                                        聯繫人1郵箱 = N'" & 供應商管理.信箱1_tb.Text & "', 聯繫人2郵箱 = N'" & 供應商管理.信箱2_tb.Text & "', 
                                        聯繫人3郵箱 = N'" & 供應商管理.信箱3_tb.Text & "', 特殊 = '" & 供應商管理.特殊_ch.Checked & "' 
                 WHERE (供應商編碼 = '" & 供應商管理.供應商編號_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 TOP (1) 編碼, 語言, 類別 FROM 供應商類別 WHERE 類別 LIKE N'" & PA20 & "' ORDER BY   編碼, 語言" : CmdSet_For_dr()
    End Sub
    '---------------------供應商類別管理-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_供應商類別()
        ConnOpen() : SQL1 = "SELECT 編碼, 語言, 類別 FROM 供應商類別 ORDER BY   編碼, 語言" : 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 供應商類別 (編碼, 語言, 類別) VALUES (N'" & PA1 & "',N'" & PA2 & "',N'" & PA3 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商類別管理_修改()
        ConnOpen() : SQL1 = "UPDATE 供應商類別 SET 類別 = N'" & PA3 & "' WHERE 編碼 LIKE N'" & PA1 & "' AND 語言 LIKE N'" & PA2 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商類別管理_刪除()
        ConnOpen() : SQL1 = "DELETE 供應商類別 WHERE 編碼 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
    End Sub
    '---------------------供應商商品單價設定-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_物料群組()
        ConnOpen()
        If 物料查詢 = False Then
            SQL1 = "SELECT     物料群組轉語言.群組碼, 物料群組轉語言.群組, 物料群組.圖片
                    FROM       物料群組轉語言 INNER JOIN 物料群組 ON 物料群組轉語言.群組碼 = 物料群組.群組碼
                    WHERE     (物料群組轉語言.主項 LIKE '" & PA1 & "') AND (物料群組轉語言.語言 LIKE '" & 系統語言 & "')
                    ORDER BY   物料群組轉語言.群組碼"
        Else
            SQL1 = "SELECT    物料群組轉語言.群組碼, 物料群組轉語言.群組, 物料群組.圖片
                    FROM      物料群組轉語言 INNER JOIN
                              物料群組 ON 物料群組轉語言.群組碼 = 物料群組.群組碼 INNER JOIN
                             (SELECT    群組碼  FROM  物料編碼庫轉語言  WHERE  (品名 LIKE N'%" & 物料關鍵字 & "%')
                              GROUP BY  群組碼) AS QQ ON 物料群組轉語言.群組碼 = QQ.群組碼
                    WHERE    (物料群組轉語言.語言 LIKE '" & 系統語言 & "')
                    ORDER BY  物料群組轉語言.群組碼"
        End If
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_供應商商品_歷史採購清單()
        ConnOpen()
        SQL1 = "SELECT    採購單控制表.供應商編號 AS [" & 表頭(6) & "], 採購單明細表.料號 AS [" & 表頭(1) & "], 採購單明細表.單價 AS [" & 表頭(3) & "], 
                          SUBSTRING(採購單明細表.採購單號, 7, 8) AS [" & 表頭(7) & "]
                FROM      採購單明細表 FULL OUTER JOIN 採購單控制表 ON 採購單明細表.採購單號 = 採購單控制表.採購單號
                WHERE    (採購單控制表.供應商編號 LIKE '" & PA & "')
                ORDER BY  採購單明細表.料號, SUBSTRING(採購單明細表.採購單號, 7, 12) DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料請購單申請_物料清單一()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔" : Else : 低網 = "" : End If
        If 物料查詢 = False Then
            SQL1 = "SELECT     物料編碼庫.群組碼 AS No, 物料編碼庫.料號原則 AS PN_Bagian, 物料編碼庫轉語言.品名 AS Pernyataan_Prinsip, 物料編碼庫.群組碼, 物料編碼庫.料號原則, 
                               物料編碼庫.單位 AS [" & 表頭(16) & "] " & 低網 & "
                    FROM       物料編碼庫 INNER JOIN 物料圖庫 ON 物料編碼庫.群組碼 = 物料圖庫.群組碼 AND 物料編碼庫.料號原則 = 物料圖庫.料號原則 INNER JOIN
                               物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼
                    WHERE     (物料編碼庫.群組碼 LIKE N'" & PA1 & "%') AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                    ORDER BY   Pernyataan_Prinsip, PN_Bagian"
        Else
            SQL1 = "SELECT    物料編碼庫.群組碼 AS No, 物料編碼庫.料號原則 AS PN_Bagian, 物料編碼庫轉語言.品名 AS Pernyataan_Prinsip, 
                              物料編碼庫.群組碼, 物料編碼庫.料號原則, 物料編碼庫.單位 AS [" & 表頭(16) & "] " & 低網 & "
                    FROM      物料編碼庫 INNER JOIN
                              物料圖庫 ON 物料編碼庫.群組碼 = 物料圖庫.群組碼 AND 物料編碼庫.料號原則 = 物料圖庫.料號原則 INNER JOIN
                              物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                              物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼 INNER JOIN
                             (SELECT    群組碼, 料號原則
                              FROM      物料編碼庫轉語言 AS 物料編碼庫轉語言_1
                              WHERE    (品名 LIKE N'%" & 物料關鍵字 & "%') AND (群組碼 LIKE N'" & PA1 & "%')
                              GROUP BY  群組碼, 料號原則) AS QQ ON 物料編碼庫轉語言.群組碼 = QQ.群組碼 AND 
                              物料編碼庫轉語言.料號原則 = QQ.料號原則
                    WHERE    (物料編碼庫.群組碼 LIKE N'" & PA1 & "%') AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                    ORDER BY  Pernyataan_Prinsip, PN_Bagian"
        End If
    End Sub
    Friend Sub SQL_供應商商品_採購清單()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔 AS Image" : Else : 低網 = "" : End If
        ConnOpen()
        SQL1 = "SELECT    供應商產品清單.供應商編碼 AS [" & 表頭(0) & "], 供應商產品清單.料號 AS [" & 表頭(1) & "], 物料編碼庫轉語言.品名 AS [" & 表頭(2) & "], 
                          供應商產品清單.單價 AS [" & 表頭(3) & "], 供應商產品清單.備註 AS [" & 表頭(4) & "], 物料資訊控制表.規格庫編號, 物料規格表.A1, 物料規格表.A2, 
                          物料規格表.A3, 物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, QQ.A1 AS AA1, QQ.A2 AS AA2, QQ.A3 AS AA3, QQ.A4 AS AA4, 
                          QQ.A5 AS AA5, QQ.A6 AS AA6, QQ.A7 AS AA7, QQ.A8 AS AA8, 供應商產品清單.日期 AS [" & 表頭(5) & "], 物料資訊控制表.群組碼, 物料資訊控制表.料號原則, 
                          物料規格表.特殊 AS [☆] " & 低網 & "
                FROM      物料資訊控制表 INNER JOIN
                          物料規格表 ON 物料資訊控制表.料號原則 = 物料規格表.料號原則 INNER JOIN
                          物料圖庫 ON 物料規格表.料號原則 = 物料圖庫.料號原則 INNER JOIN
                          (SELECT          規格庫抬頭指定, A1, A2, A3, A4, A5, A6, A7, A8, 語言
                           FROM            規格庫抬頭
                           WHERE          (語言 LIKE '" & 系統語言 & "')) AS QQ ON 
                          物料資訊控制表.規格庫抬頭指定 = QQ.規格庫抬頭指定 INNER JOIN
                          物料編碼庫轉語言 ON 物料規格表.料號原則 = 物料編碼庫轉語言.料號原則 RIGHT OUTER JOIN
                          供應商產品清單 ON 物料規格表.料號 = 供應商產品清單.料號
                WHERE    (供應商產品清單.供應商編碼 LIKE '" & PA & "') AND (物料編碼庫轉語言.語言 LIKE '" & 系統語言 & "')
                ORDER BY  供應商產品清單.料號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_供應商資料表_公司名_下拉用()
        ConnOpen() : SQL1 = "SELECT 公司名 FROM 供應商資料表 WHERE 供應商簡稱 LIKE N'%" & PA & "%' AND 特殊 = 1 ORDER BY 公司名" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_群組碼_語轉_下拉清單()
        ConnOpen() : SQL1 = "SELECT  群組 FROM 物料群組轉語言 WHERE 語言 LIKE N'" & 系統語言 & "' ORDER BY 群組碼" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_群組碼_下拉清單()
        ConnOpen() : SQL1 = "SELECT  群組碼 FROM 物料群組 ORDER BY 群組碼" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料請購單申請_物料規格讀取()
        ConnOpen()
        SQL1 = "SELECT  物料編碼庫.原則說明 AS 品名, 物料資訊控制表.群組碼, 物料資訊控制表.料號原則, 物料資訊控制表.規格庫編號, 物料資訊控制表.規格庫抬頭指定
                FROM    物料資訊控制表 INNER JOIN 物料編碼庫 ON 物料資訊控制表.群組碼 = 物料編碼庫.群組碼 AND 物料資訊控制表.料號原則 = 物料編碼庫.料號原則
                WHERE  (物料資訊控制表.料號原則 LIKE N'" & PA & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_物料規格_SQLB03()
        ConnOpen()
        SQL1 = "SELECT 物料規格表.群組碼, 物料規格表.料號原則, 物料規格表.料號 AS No, 物料規格表.圖檔編號, 物料規格表.A1 AS [" & AAA1 & "], 物料規格表.A2 AS [" & AAA2 & "], 
                               物料規格表.A3 AS [" & AAA3 & "], 物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, HX選擇按鈕.選擇 AS Pilih, 
                               物料編碼庫.原則說明, 物料規格表.最低庫存量 AS [申請數 Terapkan], 物料規格表.料號 AS Nomor_Bagian
                FROM 物料規格表 LEFT OUTER JOIN 物料編碼庫 ON 物料規格表.群組碼 = 物料編碼庫.群組碼 AND 物料規格表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                             HX選擇按鈕 ON 物料規格表.群組碼 = HX選擇按鈕.對應
                WHERE (物料規格表.料號原則 LIKE N'" & PA & "') AND (物料規格表.群組碼 LIKE N'" & PA4 & "')
                ORDER BY 物料規格表.排序, 物料規格表.料號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_物料規格_SQLB04()
        ConnOpen()
        SQL1 = "SELECT 物料規格表.群組碼, 物料規格表.料號原則, 物料規格表.料號 AS No, 物料規格表.圖檔編號, 物料規格表.A1 AS [" & AAA1 & "], 物料規格表.A2 AS [" & AAA2 & "], 
                               物料規格表.A3 AS [" & AAA3 & "], 物料規格表.A4 AS [" & AAA4 & "], 物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, HX選擇按鈕.選擇 AS Pilih, 
                               物料編碼庫.原則說明, 物料規格表.最低庫存量 AS [申請數 Terapkan], 物料規格表.料號 AS Nomor_Bagian
                FROM 物料規格表 LEFT OUTER JOIN 物料編碼庫 ON 物料規格表.群組碼 = 物料編碼庫.群組碼 AND 物料規格表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                             HX選擇按鈕 ON 物料規格表.群組碼 = HX選擇按鈕.對應
                WHERE (物料規格表.料號原則 LIKE N'" & PA & "') AND (物料規格表.群組碼 LIKE N'" & PA4 & "')
                ORDER BY 物料規格表.排序, 物料規格表.料號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_物料規格_SQLB05()
        ConnOpen()
        SQL1 = "SELECT 物料規格表.群組碼, 物料規格表.料號原則, 物料規格表.料號 AS No, 物料規格表.圖檔編號, 物料規格表.A1 AS [" & AAA1 & "], 物料規格表.A2 AS [" & AAA2 & "], 
                               物料規格表.A3 AS [" & AAA3 & "], 物料規格表.A4 AS [" & AAA4 & "], 物料規格表.A5 AS [" & AAA5 & "], 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, 
                               HX選擇按鈕.選擇 AS Pilih, 物料編碼庫.原則說明, 物料規格表.最低庫存量 AS [申請數 Terapkan], 物料規格表.料號 AS Nomor_Bagian
                        FROM 物料規格表 LEFT OUTER JOIN 物料編碼庫 ON 物料規格表.群組碼 = 物料編碼庫.群組碼 AND 物料規格表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                             HX選擇按鈕 ON 物料規格表.群組碼 = HX選擇按鈕.對應
                        WHERE (物料規格表.料號原則 LIKE N'" & PA & "') AND (物料規格表.群組碼 LIKE N'" & PA4 & "') 
                ORDER BY 物料規格表.排序, 物料規格表.料號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_物料規格_SQLB06()
        ConnOpen()
        SQL1 = "SELECT 物料規格表.群組碼, 物料規格表.料號原則, 物料規格表.料號 AS No, 物料規格表.圖檔編號, 物料規格表.A1 AS [" & AAA1 & "], 物料規格表.A2 AS [" & AAA2 & "], 
                               物料規格表.A3 AS [" & AAA3 & "], 物料規格表.A4 AS [" & AAA4 & "], 物料規格表.A5 AS [" & AAA5 & "], 物料規格表.A6 AS [" & AAA6 & "], 物料規格表.A7, 物料規格表.A8, 
                               HX選擇按鈕.選擇 AS Pilih, 物料編碼庫.原則說明, 物料規格表.最低庫存量 AS [申請數 Terapkan], 物料規格表.料號 AS Nomor_Bagian
                        FROM 物料規格表 LEFT OUTER JOIN 物料編碼庫 ON 物料規格表.群組碼 = 物料編碼庫.群組碼 AND 物料規格表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                             HX選擇按鈕 ON 物料規格表.群組碼 = HX選擇按鈕.對應
                        WHERE (物料規格表.料號原則 LIKE N'" & PA & "') AND (物料規格表.群組碼 LIKE N'" & PA4 & "') 
                ORDER BY 物料規格表.排序, 物料規格表.料號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_物料規格_SQLB07()
        ConnOpen()
        SQL1 = "SELECT 物料規格表.群組碼, 物料規格表.料號原則, 物料規格表.料號 AS No, 物料規格表.圖檔編號, 物料規格表.A1 AS [" & AAA1 & "], 物料規格表.A2 AS [" & AAA2 & "], 
                               物料規格表.A3 AS [" & AAA3 & "], 物料規格表.A4 AS [" & AAA4 & "], 物料規格表.A5 AS [" & AAA5 & "], 物料規格表.A6 AS [" & AAA6 & "], 物料規格表.A7 AS [" & AAA7 & "], 
                               物料規格表.A8, HX選擇按鈕.選擇 AS Pilih, 物料編碼庫.原則說明, 物料規格表.最低庫存量 AS [申請數 Terapkan], 物料規格表.料號 AS Nomor_Bagian
                        FROM 物料規格表 LEFT OUTER JOIN 物料編碼庫 ON 物料規格表.群組碼 = 物料編碼庫.群組碼 AND 物料規格表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                             HX選擇按鈕 ON 物料規格表.群組碼 = HX選擇按鈕.對應
                        WHERE (物料規格表.料號原則 LIKE N'" & PA & "') AND (物料規格表.群組碼 LIKE N'" & PA4 & "') 
                ORDER BY 物料規格表.排序, 物料規格表.料號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_物料規格_SQLB08()
        ConnOpen()
        SQL1 = "SELECT 物料規格表.群組碼, 物料規格表.料號原則, 物料規格表.料號 AS No, 物料規格表.圖檔編號, 物料規格表.A1 AS [" & AAA1 & "], 物料規格表.A2 AS [" & AAA2 & "], 
                               物料規格表.A3 AS [" & AAA3 & "], 物料規格表.A4 AS [" & AAA4 & "], 物料規格表.A5 AS [" & AAA5 & "], 物料規格表.A6 AS [" & AAA6 & "], 物料規格表.A7 AS [" & AAA7 & "], 
                               物料規格表.A8 AS [" & AAA8 & "], HX選擇按鈕.選擇 AS Pilih, 物料編碼庫.原則說明, 物料規格表.最低庫存量 AS [申請數 Terapkan], 物料規格表.料號 AS Nomor_Bagian
                        FROM 物料規格表 LEFT OUTER JOIN 物料編碼庫 ON 物料規格表.群組碼 = 物料編碼庫.群組碼 AND 物料規格表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                             HX選擇按鈕 ON 物料規格表.群組碼 = HX選擇按鈕.對應
                        WHERE (物料規格表.料號原則 LIKE N'" & PA & "') AND (物料規格表.群組碼 LIKE N'" & PA4 & "') 
                ORDER BY 物料規格表.排序, 物料規格表.料號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單生成_供應商資料二()
        ConnOpen() : SQL1 = "SELECT 供應商編碼, 公司地址, 公司電話1, 公司傳真1, 聯繫人1郵箱 FROM 供應商資料表 WHERE 公司名 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_群組碼_語轉_選擇()
        ConnOpen() : SQL1 = "SELECT  群組碼 FROM 物料群組轉語言 WHERE 語言 LIKE N'" & 系統語言 & "' AND 群組 = N'" & PA & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商商品_採購清單_新增()
        ConnOpen()
        SQL1 = "INSERT INTO 供應商產品清單 (供應商編碼, 料號, 單價, 備註, 日期) VALUES (N'" & PA1 & "',N'" & PA2 & "',N'" & PA3 & "',N'" & PA4 & "',N'" & PA5 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商商品_採購清單_修改()
        ConnOpen()
        SQL1 = "UPDATE 供應商產品清單 SET 單價 = N'" & PA3 & "', 日期 = N'" & PA5 & "' WHERE 供應商編碼 LIKE N'" & PA1 & "' AND 料號 LIKE N'" & PA2 & "'"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商商品_採購清單_查詢()
        ConnOpen() : SQL1 = "SELECT 料號 FROM  供應商產品清單 WHERE 供應商編碼 LIKE N'" & PA1 & "' AND 料號 LIKE N'" & PA2 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商商品_採購清單_修改1()
        ConnOpen()
        SQL1 = "UPDATE 供應商產品清單 SET 單價 = N'" & PA3 & "', 備註 = N'" & PA4 & "' WHERE 供應商編碼 LIKE N'" & PA1 & "' AND 料號 LIKE N'" & PA2 & "'"
        CmdSet_For_dr()
        ConnOpen()
        SQL1 = "UPDATE 物料規格表 SET 特殊 = '" & PA45 & "' WHERE 料號 LIKE N'" & PA2 & "'"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商商品_採購清單_刪除()
        ConnOpen() : SQL1 = "DELETE 供應商產品清單 WHERE 供應商編碼 LIKE N'" & PA1 & "' AND 料號 LIKE N'" & PA2 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_零用金基本設定存檔()
        ConnOpen()
        SQL1 = "UPDATE  系統預設值 SET  內帳加班 = '" & 每月零用金設定.加班_nud.Value & "', 內帳折數 = '" & 每月零用金設定.折數_nud.Value & "', 
                                        內帳單量 = '" & 每月零用金設定.每日單量_nud.Value & "', 內帳採購最高 = '" & 每月零用金設定.每單最高_nud.Value & "'"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_零用金基本設定()
        ConnOpen() : SQL1 = "SELECT  內帳加班, 內帳折數, 內帳單量, 內帳採購最高  FROM  系統預設值" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單控制表_單號最後一筆()
        ConnOpen()
        SQL1 = "SELECT TOP (1)  採購單號 FROM 採購單控制表 WHERE ( 採購單號 LIKE N'" & PA1 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_加權平均()
        ConnOpen() : SQL1 = "SELECT  料號, SUM(數量 * 單價) / SUM(數量) AS 單價  FROM  採購單明細表  WHERE (料號 LIKE  N'" & PA & "') AND  單價 > 0  GROUP BY  料號 " : CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_最近日期()
        ConnOpen() : SQL1 = "SELECT   TOP(1) 採購單明細表.料號, 採購單明細表.單價
                             FROM     採購單明細表 RIGHT OUTER Join 採購單控制表 ON 採購單明細表.採購單號 = 採購單控制表.採購單號
                             WHERE    (料號 LIKE  N'" & PA & "') AND  單價 > 0
                             ORDER BY 採購單控制表.核准日期  DESC "
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_採購單明細表()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔 AS Image" : Else : 低網 = "" : End If
        SQL1 = "SELECT      採購單明細表.採購單號, 採購單明細表.項次 AS [" & 表頭(11) & "],採購單明細表.合約號 AS [" & 表頭(134) & "], 物料編碼庫轉語言.品名 AS [" & 表頭(12) & "], 
                            物料規格表.A1 AS [" & 表頭(13) & "], 採購單明細表.備註 AS [" & 表頭(14) & "], 採購單明細表.數量 AS [" & 表頭(15) & "], 
                            採購單明細表.單位 AS [" & 表頭(16) & "], 採購單明細表.單價 AS [" & 表頭(26) & "], 
                            採購單明細表.數量 * 採購單明細表.單價 AS [" & 表頭(27) & "], 採購單明細表.群組碼, 
                            採購單明細表.料號原則, 採購單明細表.料號, 物料規格表.圖檔編號, 採購單明細表.項次 AS 項次01, 物料規格表.A2, 物料規格表.A3, 
                            物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, 
                            物料資訊控制表.規格庫編號, 物料資訊控制表.規格庫抬頭指定, 採購單明細表.請購單號 AS [KEY],
                            採購單明細表.單價 AS OUP, 採購單明細表.申請人 AS [SP%] , 採購單明細表.申請人 AS [" & 表頭(19) & "]" & 低網 & "
                FROM        採購單明細表 INNER JOIN
                            物料圖庫 ON 採購單明細表.群組碼 = 物料圖庫.群組碼 AND 
                            採購單明細表.料號原則 = 物料圖庫.料號原則 INNER JOIN
                            物料編碼庫 ON 採購單明細表.群組碼 = 物料編碼庫.群組碼 AND 
                            採購單明細表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                            物料資訊控制表 ON 採購單明細表.料號原則 = 物料資訊控制表.料號原則 LEFT OUTER JOIN
                            物料規格表 ON 採購單明細表.料號 = 物料規格表.料號 INNER JOIN
                            物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                            物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼
                WHERE      (採購單明細表.採購單號 LIKE N'" & PA10 & "') AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                ORDER BY   採購單明細表.項次"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單一級核准_清單()
        ConnOpen()
        SQL1 = "SELECT      採購單控制表.採購單號 AS [" & 表頭(18) & "], 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 
                            採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 採購單控制表.核准, 
                            採購單控制表.核准日期, 採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 
                            採購單控制表.稅, 採購單控制表.PPN, 採購單控制表.一級核准, 採購單控制表.一級核准核准日期, 採購單控制表.一級核准簽名檔編號, 
                            SUM(採購單明細表.數量 * 採購單明細表.單價) AS 總價, 採購單明細表.合約號, 採購單控制表.採購單號 AS [NO.], 
                            採購單控制表.已會計 AS [" & 表頭(0) & "], 採購單控制表.已出納 AS [" & 表頭(1) & "], 採購單控制表.備用金 AS 選擇
                FROM        採購單控制表 LEFT OUTER JOIN 採購單明細表 ON 採購單控制表.採購單號 = 採購單明細表.採購單號
                WHERE      (採購單控制表.核准 LIKE N'') AND (採購單控制表.供應商編號 NOT LIKE N'') AND 
                           (採購單控制表.一級核准 LIKE N'' OR 採購單控制表.一級核准 IS NULL) AND (採購單控制表.特殊 = 1)
                GROUP BY    採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 採購單控制表.核對員, 
                            採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 採購單控制表.核准, 採購單控制表.核准日期, 
                            採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 採購單控制表.PPN, 
                            採購單控制表.一級核准, 採購單控制表.一級核准核准日期, 採購單控制表.一級核准簽名檔編號, 採購單明細表.合約號, 
                            採購單控制表.已會計, 採購單控制表.已出納, 採購單控制表.備用金
                ORDER BY    SUBSTRING(採購單控制表.採購單號, 7, 8) DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_物料最新單價查詢()
        ConnOpen() : SQL1 = "SELECT 料號, 單價, 備註, 日期 FROM 供應商產品清單 WHERE (供應商編碼 LIKE '" & PA14 & "')" : CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_主管簽名檔管理()
        ConnOpen()
        If Val(登入人級別) = 0 Then
            SQL1 = "SELECT 圖片流水號 AS [" & 表頭(87) & "], 簽名檔人名 FROM HX主管簽名檔管理 ORDER BY 圖片流水號 DESC"
        Else
            SQL1 = "SELECT 圖片流水號 AS [" & 表頭(87) & "], 簽名檔人名 FROM HX主管簽名檔管理 WHERE 簽名檔人名 LIKE N'" & gUserName & "' ORDER BY 圖片流水號"
        End If
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_主管簽名檔管理_圖片流水號()
        ConnOpen() : SQL1 = "SELECT 簽名檔圖片 FROM HX主管簽名檔管理 WHERE 圖片流水號 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築驗證碼()
        ConnOpen() : SQL1 = "SELECT 驗證碼 FROM 樣品採購單控制表 WHERE 驗證碼 LIKE N'" & PA20 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_料號比對價格()
        ConnOpen() : SQL1 = "SELECT    採購單號 AS  [" & 表頭(24) & "] , 合約號 AS  [" & 表頭(134) & "], 申請人 AS  [" & 表頭(19) & "], 單價 AS  [" & 表頭(26) & "], 
                                       SUBSTRING(採購單號, 7, 8) AS 排序
                             FROM      採購單明細表
                             WHERE    (料號 LIKE N'" & PA & "') AND 單價 > 0
                             ORDER BY  SUBSTRING(採購單號, 7, 8)"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單生成_供應商資料一()
        ConnOpen() : SQL1 = "SELECT 公司名, 公司地址, 公司電話1, 聯繫人1郵箱 FROM 供應商資料表 WHERE 供應商編碼 LIKE N'" & PA1 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料採購單一級核准_不需二級()
        ConnOpen()
        SQL1 = "UPDATE 採購單控制表 SET  一級核准 = N'" & gUserName & "', 一級核准核准日期 = N'" & DTP & "',一級核准簽名檔編號 = N'" & 採購單一級核准.圖片編碼_tb.Text & "',
                                         核准 = N'" & gUserName & "', 核准日期 = N'" & DTP & "', 簽名檔編號 = N'" & 採購單一級核准.圖片編碼_tb.Text & "', 
                                         驗證碼 = N'" & 採購單一級核准.驗證碼_tb.Text & "', 手動號碼 = N'" & 採購單一級核准.手動號碼_tb.Text & "'
                WHERE (採購單號 LIKE N'" & 採購單一級核准.採購單號_tb.Text & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料採購單一級核准_需二級()
        ConnOpen()
        SQL1 = "UPDATE 採購單控制表 SET  一級核准 = N'" & gUserName & "', 一級核准核准日期 = N'" & DTP & "',一級核准簽名檔編號 = N'" & 採購單一級核准.圖片編碼_tb.Text & "', 
                                         手動號碼 = N'" & 採購單一級核准.手動號碼_tb.Text & "' 
                WHERE (採購單號 LIKE N'" & 採購單一級核准.採購單號_tb.Text & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單控制表_作廢()
        ConnOpen() : SQL1 = "UPDATE 採購單控制表 SET  核准 = N'作廢-" & gUserName & "' WHERE (採購單號 LIKE N'" & PA11 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單控制表_修改()
        ConnOpen()
        SQL1 = "UPDATE 採購單控制表 SET  供應商編號 = N'" & PA1 & "', 需求日期 = N'" & DTP2 & "', 使用地點 = N'" & PA2 & "', 核對日期 = N'" & DTP & "' , 
                                         DISC = N'" & PA3 & "', 稅 = N'" & BL1 & "', PPN = N'" & PA4 & "'
                WHERE (採購單號 LIKE N'" & PA5 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單明細表_修改二()
        ConnOpen()
        SQL1 = "UPDATE 採購單明細表 SET  品名 = N'" & PA11 & "', 規格 = N'" & PA12 & "', 備註 = N'" & PA6 & "', 單價 = N'" & PA7 & "', 數量 = N'" & PA8 & "', 單位 = N'" & PA9 & "' 
                WHERE (採購單號 LIKE N'" & PA5 & "') AND (請購單號 LIKE N'" & PA4 & "') AND (項次 LIKE N'" & PA10 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單明細表_刪除()
        ConnOpen()
        SQL1 = "DELETE FROM 採購單明細表 WHERE (採購單號 LIKE N'" & PA1 & "' AND 項次 LIKE N'" & PA3 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料採購單一級核准料_新項次()
        ConnOpen() : SQL1 = "UPDATE 採購單明細表 SET 項次 = N'" & PA18 & "' WHERE (採購單號 LIKE N'" & PA19 & "' AND 項次 LIKE N'" & PA20 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_財務單會計科目3()
        ConnOpen()
        SQL1 = "SELECT 會計科目, 編號 FROM 會計科目 
                WHERE (LEFT(編號, 7) LIKE N'" & PA26 & "') AND (停用 = 0) AND (統制科目 = 0) AND 英文名稱 LIKE N'" & 系統語言 & "' ORDER BY 會計科目"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_財務單會計科目1()
        ConnOpen()
        SQL1 = "SELECT 第一階, LEFT(編號, 4) AS 編號 FROM 會計科目  WHERE (停用 = 0) AND 英文名稱 LIKE N'" & 系統語言 & "' GROUP BY 第一階, LEFT(編號, 4) ORDER BY 編號"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_財務單會計科目2()
        ConnOpen()
        SQL1 = "SELECT LEFT(編號, 7) AS 編號, 第二階, 層級 FROM  會計科目 
                WHERE (LEFT(編號, 4) LIKE N'" & PA25 & "') AND (層級 NOT LIKE N'3') AND (停用 = 0) AND LEFT(編號, 7) NOT LIKE '%00' AND 英文名稱 LIKE N'" & 系統語言 & "'
                GROUP BY   LEFT(編號, 7), 第二階, 層級 ORDER BY   第二階"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_營運成本收支單申請_查詢匯率()
        ConnOpen()
        SQL1 = "SELECT 中心匯率, 美金匯率, 印尼盾 FROM 歷史匯率表 
                WHERE (年 LIKE N'" & Strings.Left(Format(財物支付單申請_傳票.申請日期_dtp.Value, "yyyyMMdd"), 4) & "%') AND 
                      (月 LIKE N'" & Strings.Mid(Format(財物支付單申請_傳票.申請日期_dtp.Value, "yyyyMMdd"), 5, 2) & "%')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_營運成本收支單申請_查詢收支單公帳流水號()
        ConnOpen() : SQL1 = "SELECT 流水號 FROM 財務收支明細表 WHERE (流水號 ='" & PA19 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_財物支付單修改()
        ConnOpen()
        SQL1 = "UPDATE 財務收支明細表 SET  明細 = N'" & PA1 & "', 支出 = N'" & PA2 & "', 類別 = N'" & PA4 & "', 大寫 = N'" & PA3 & "', 支付對象 = N'" & PA5 & "', 公司 = N'" & PA7 & "', 
                                           付款銀行 = N'" & PA8 & "', 銀行支行 = N'" & PA10 & "'
                WHERE  (支付單號 LIKE N'" & PA6 & "' AND 項次 LIKE N'" & PA9 & "')"
        CmdSet_For_dr()
    End Sub

    Friend Sub SQL_建築物料採購單一覽表_明細()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔 AS Image" : Else : 低網 = "" : End If
        SQL1 = "SELECT      採購單明細表.採購單號 AS 請購單號, 採購單明細表.項次 AS [" & 表頭(2) & "], 採購單明細表.合約號 AS [" & 表頭(134) & "],
                            物料編碼庫轉語言.品名 AS [" & 表頭(12) & "], 物料規格表.A1 AS [" & 表頭(13) & "], 
                            採購單明細表.備註 AS [" & 表頭(14) & "], 採購單明細表.數量 AS [" & 表頭(15) & "], 
                            採購單明細表.單位 AS [" & 表頭(16) & "], 採購單明細表.單價 AS [" & 表頭(26) & "], 
                            採購單明細表.數量 * 採購單明細表.單價 AS [" & 表頭(27) & "], 採購單明細表.群組碼, 
                            採購單明細表.料號原則, 採購單明細表.料號, 物料規格表.圖檔編號, 採購單明細表.項次, 採購單明細表.請購單號 AS [KEY], 物料資訊控制表.規格庫編號, 
                            物料資訊控制表.規格庫抬頭指定, 物料規格表.A2, 物料規格表.A3, 物料規格表.A4, 
                            物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8,採購單明細表.申請人 AS [" & 表頭(19) & "]" & 低網 & "
                 FROM       採購單明細表 INNER JOIN
                            物料圖庫 ON 採購單明細表.群組碼 = 物料圖庫.群組碼 AND 
                            採購單明細表.料號原則 = 物料圖庫.料號原則 INNER JOIN
                            物料編碼庫 ON 採購單明細表.群組碼 = 物料編碼庫.群組碼 AND 
                            採購單明細表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                            物料資訊控制表 ON 採購單明細表.料號原則 = 物料資訊控制表.料號原則 LEFT OUTER JOIN
                            HX選擇按鈕 ON 採購單明細表.採購單號 = HX選擇按鈕.對應 LEFT OUTER JOIN
                            物料規格表 ON 採購單明細表.料號 = 物料規格表.料號 INNER JOIN
                            物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                            物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼
                 WHERE     (採購單明細表.採購單號 LIKE N'" & 採購單歷史檔案.採購單號_tb.Text & "') AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                 ORDER BY   [" & 表頭(2) & "]"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單一覽表_已核准()
        ConnOpen()
        SQL1 = "SELECT     QQ.[" & 表頭(18) & "], QQ.供應商編號, QQ.需求日期, QQ.使用地點, QQ.核對員, QQ.核對日期, QQ.詢價員, QQ.尋價日期, QQ.核准, 
                           QQ.核准日期, QQ.簽名檔編號, QQ.驗證碼, QQ.請購單號, QQ.DISC, QQ.稅, QQ.PPN, QQ.一級核准簽名檔編號, 
                           QQ.一級核准核准日期, QQ.採購員, QQ.採購日期, QQ.手動號碼, QQ.公司名 AS [" & 表頭(6) & "], QQ.轉財務金額 AS [" & 表頭(8) & "], 
                           QQ.轉財務金額 AS [" & 表頭(9) & "], QQ.總金額 AS [" & 表頭(7) & "], 
                           HX空白圖片.圖片 AS [Select All], HX空白圖片.圖片 AS [To DK], HX空白圖片.圖片 AS [Save], QQ.[" & 表頭(0) & "], QQ.[" & 表頭(1) & "]
                FROM       HX空白圖片 RIGHT OUTER JOIN
                          (SELECT    採購單控制表.採購單號 AS [" & 表頭(18) & "], 採購單控制表.供應商編號, 採購單控制表.需求日期, 
                                     採購單控制表.使用地點, 採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 
                                     採購單控制表.尋價日期, 採購單控制表.核准, 採購單控制表.核准日期, 採購單控制表.簽名檔編號, 
                                     採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 
                                     採購單控制表.PPN, 採購單控制表.一級核准簽名檔編號, 採購單控制表.一級核准核准日期, 
                                     採購單控制表.採購員, 採購單控制表.採購日期, 採購單控制表.手動號碼, 供應商資料表.公司名, 
                                     採購單控制表.轉財務金額, SUM(採購單明細表.數量 * 採購單明細表.單價) AS 總金額, 
                                     採購單控制表.已會計 AS [" & 表頭(0) & "], 採購單控制表.已出納 AS [" & 表頭(1) & "]
                           FROM      採購單控制表 LEFT OUTER JOIN
                                     採購單明細表 ON 採購單控制表.採購單號 = 採購單明細表.採購單號 LEFT OUTER JOIN
                                     供應商資料表 ON 採購單控制表.供應商編號 = 供應商資料表.供應商編碼
                           WHERE    (採購單控制表.核准 NOT LIKE N'') AND (採購單控制表.核准 NOT LIKE N'作廢%') AND (採購單控制表.特殊 = 1)
                           GROUP BY  採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 
                                     採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 
                                     採購單控制表.核准, 採購單控制表.核准日期, 採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 
                                     採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 採購單控制表.PPN, 
                                     採購單控制表.一級核准簽名檔編號, 採購單控制表.一級核准核准日期, 採購單控制表.採購員, 
                                     採購單控制表.採購日期, 採購單控制表.手動號碼, 供應商資料表.公司名, 採購單控制表.轉財務金額, 
                                     採購單控制表.已會計, 採購單控制表.已出納) AS QQ ON 
                           HX空白圖片.選擇 = QQ.供應商編號
                ORDER BY   QQ.公司名, SUBSTRING(QQ.[" & 表頭(18) & "], 7, 8) DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單一覽表_已核准1()
        ConnOpen()
        SQL1 = "SELECT     QQ.[" & 表頭(18) & "], QQ.供應商編號, QQ.需求日期, QQ.使用地點, QQ.核對員, QQ.核對日期, QQ.詢價員, QQ.尋價日期, QQ.核准, 
                           QQ.核准日期, QQ.簽名檔編號, QQ.驗證碼, QQ.請購單號, QQ.DISC, QQ.稅, QQ.PPN, QQ.一級核准簽名檔編號, 
                           QQ.一級核准核准日期, QQ.採購員, QQ.採購日期, QQ.手動號碼, QQ.公司名 AS [" & 表頭(6) & "], QQ.轉財務金額 AS [" & 表頭(8) & "], 
                           QQ.轉財務金額 AS [" & 表頭(9) & "], QQ.總金額 AS [" & 表頭(7) & "], 
                           HX空白圖片.圖片 AS [Select All], HX空白圖片.圖片 AS [To DK], HX空白圖片.圖片 AS [Save], QQ.[" & 表頭(0) & "], QQ.[" & 表頭(1) & "]
                FROM       HX空白圖片 RIGHT OUTER JOIN
                          (SELECT    採購單控制表.採購單號 AS [" & 表頭(18) & "], 採購單控制表.供應商編號, 採購單控制表.需求日期, 
                                     採購單控制表.使用地點, 採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 
                                     採購單控制表.尋價日期, 採購單控制表.核准, 採購單控制表.核准日期, 採購單控制表.簽名檔編號, 
                                     採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 
                                     採購單控制表.PPN, 採購單控制表.一級核准簽名檔編號, 採購單控制表.一級核准核准日期, 
                                     採購單控制表.採購員, 採購單控制表.採購日期, 採購單控制表.手動號碼, 供應商資料表.公司名, 
                                     採購單控制表.轉財務金額, SUM(採購單明細表.數量 * 採購單明細表.單價) AS 總金額, 
                                     採購單控制表.已會計 AS [" & 表頭(0) & "], 採購單控制表.已出納 AS [" & 表頭(1) & "]
                           FROM      採購單控制表 LEFT OUTER JOIN
                                     採購單明細表 ON 採購單控制表.採購單號 = 採購單明細表.採購單號 LEFT OUTER JOIN
                                     供應商資料表 ON 採購單控制表.供應商編號 = 供應商資料表.供應商編碼
                           WHERE    (採購單控制表.核准 NOT LIKE N'') AND (採購單控制表.核准 NOT LIKE N'作廢%') AND (採購單控制表.特殊 = 1)
                           GROUP BY  採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 
                                     採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 
                                     採購單控制表.核准, 採購單控制表.核准日期, 採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 
                                     採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 採購單控制表.PPN, 
                                     採購單控制表.一級核准簽名檔編號, 採購單控制表.一級核准核准日期, 採購單控制表.採購員, 
                                     採購單控制表.採購日期, 採購單控制表.手動號碼, 供應商資料表.公司名, 採購單控制表.轉財務金額, 
                                     採購單控制表.已會計, 採購單控制表.已出納
                           HAVING  ((SUM(採購單明細表.數量 * 採購單明細表.單價)) + (SUM(採購單明細表.數量 * 採購單明細表.單價) / 100 *  採購單控制表.PPN) - 
                                    (SUM(採購單明細表.數量 * 採購單明細表.單價) / 100 *  採購單控制表.DISC) - 採購單控制表.轉財務金額) > 0) AS QQ ON 
                           HX空白圖片.選擇 = QQ.供應商編號
                ORDER BY   QQ.公司名, SUBSTRING(QQ.[" & 表頭(18) & "], 7, 8) DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單一覽表_已作廢()
        ConnOpen()
        If Val(登入人級別) <= 4 Then
            SQL1 = "SELECT 採購單號 AS [" & 表頭(18) & "], 供應商編號, 需求日期, 使用地點, 核對員, 核對日期, 詢價員, 尋價日期, 核准, 核准日期, 簽名檔編號, 驗證碼, 請購單號, DISC, 稅, PPN, 
                           一級核准簽名檔編號
                    FROM 採購單控制表 WHERE (核准 LIKE N'作廢%') ORDER BY   採購單號 DESC"
        Else
            SQL1 = "SELECT 採購單號 AS [" & 表頭(18) & "], 供應商編號, 需求日期, 使用地點, 核對員, 核對日期, 詢價員, 尋價日期, 核准, 核准日期, 簽名檔編號, 驗證碼, 請購單號, DISC, 稅, PPN, 
                           一級核准簽名檔編號
                    FROM 採購單控制表 WHERE (詢價員 LIKE N'" & gUserName & "') AND (核准 LIKE N'作廢%') ORDER BY   採購單號 DESC"
        End If
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_採購單控制表轉財務金額_歸零()
        ConnOpen() : SQL1 = "UPDATE 採購單控制表 SET  轉財務金額 = N'0' WHERE (轉財務金額 IS NULL)" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購轉財務金額修改_修改()
        ConnOpen() : SQL1 = "UPDATE 採購單控制表 SET  轉財務金額 = N'" & PA42 & "', 已會計 = '" & PA44 & "' WHERE (採購單號 LIKE N'" & PA43 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_財務採購關聯表_新增()
        ConnOpen() : SQL1 = "INSERT INTO 財務採購關聯表 (財務單號, 採購單號, 轉財務金額, 流水號)  VALUES " & SQL2 : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_物料採購單_首次列印()
        ConnOpen()
        SQL1 = "UPDATE 採購單控制表 SET  採購員 = N'" & gUserName & "', 採購日期 = N'" & Today() & "' WHERE (採購單號 LIKE N'" & 採購單歷史檔案.採購單號_tb.Text & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購資料()
        ConnOpen()
        SQL1 = "SELECT    採購單明細表.合約號, 合約控制表.工程名稱_英, 合約控制表.工程名稱_中, 採購單明細表.申請人
                FROM      採購單控制表 INNER JOIN 採購單明細表 ON 採購單控制表.採購單號 = 採購單明細表.採購單號 INNER JOIN 合約控制表 ON 採購單明細表.合約號 = 合約控制表.合約編號
                WHERE    (採購單控制表.採購單號 LIKE '" & PA38 & "')  GROUP BY   採購單明細表.合約號, 合約控制表.工程名稱_英, 合約控制表.工程名稱_中, 採購單明細表.申請人, 
                          採購單控制表.採購單號
                ORDER BY  採購單控制表.採購單號 DESC"
        CmdSet_For_DGV()
    End Sub
End Module
