Module SQL_請採購系統管理
    Friend Sub SQL_合約清單_倉儲用()
        ConnOpen()
        If PA = "" Then
            SQL1 = "SELECT  合約編號 AS [Kontrak], 客戶名稱, 負責人A, 工程地點, 客戶地址, 工程名稱_中 AS 工程名稱, 工程名稱_英 AS [Nama Proyek], 我司公司, 負責人B, 我司地址, 
                            工程總價, 第一期比例, 第二期比例, 第三期比例, 第四期比例, 第五期比例, 工期, 逾期_中, 最高扣罰_中, 逾期_英, 
                            最高扣罰_英, 減價, 工程廠區, 頁數, 立約日期, 合約種類, 約號排序, 約號尾序, 約號甲方, 報價說明, 合約停止 AS 停止, 
                            簽回檔圖庫, 報價簽回 AS MAT, 報價放行 AS 審核通過, 幣別, 折讓比例, 稅前歸零, 稅後歸零, 歸零位數
                FROM        合約控制表
                WHERE       約號甲方 LIKE N'%" & PA46 & "%' AND 合約期數 LIKE N'%" & PA47 & "%' 
                ORDER BY    約號排序  DESC, 約號尾序, 約號甲方, 合約期數"
        Else
            SQL1 = "SELECT  合約編號 AS [Kontrak], 客戶名稱, 負責人A, 工程地點, 客戶地址, 工程名稱_中, 工程名稱_英, 我司公司, 負責人B, 我司地址, 
                            工程總價, 第一期比例, 第二期比例, 第三期比例, 第四期比例, 第五期比例, 工期, 逾期_中, 最高扣罰_中, 逾期_英, 
                            最高扣罰_英, 減價, 工程廠區, 頁數, 立約日期, 合約種類, 約號排序, 約號尾序, 約號甲方, 報價說明, 合約停止 AS 停止, 
                            簽回檔圖庫, 報價簽回 AS MAT, 報價放行 AS 審核通過, 幣別, 折讓比例, 稅前歸零, 稅後歸零, 歸零位數
                FROM        合約控制表
                WHERE      (合約編號 LIKE N'%" & PA & "%' OR 客戶名稱 LIKE N'%" & PA & "%' OR 負責人A LIKE N'%" & PA & "%' OR 
                            工程地點 LIKE N'%" & PA & "%' OR 客戶地址 LIKE N'%" & PA & "%' OR 工程名稱_中 LIKE N'%" & PA & "%' OR 
                            工程名稱_英 LIKE N'%" & PA & "%') 
                ORDER BY    約號排序  DESC, 約號尾序, 約號甲方, 合約期數"
        End If
        CmdSet_For_DGV()
    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      TOP (100) 請購單控制表.請購單號, 請購單控制表.申請人, LEFT(請購單控制表.申請日期, 10) AS [申請日期], 請購單控制表.核准人, 
                            LEFT(請購單控制表.核准日期, 10) AS [核准日期], 請購單控制表.需求日期, 請購單控制表.合約號 , 備註, 乙方, 甲方, 立約日, 序號, 請購單控制表.退單, 
                            請購單控制表.退單備註
                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) 請購單控制表.請購單號, 請購單控制表.申請人, LEFT(請購單控制表.申請日期, 10) AS [申請日期], 請購單控制表.核准人, 
                            LEFT(請購單控制表.核准日期, 10) AS [核准日期], 請購單控制表.需求日期, 請購單控制表.合約號, 備註, 乙方, 甲方, 立約日, 序號, 請購單控制表.退單, 
                            請購單控制表.退單備註
                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) 請購單控制表.請購單號, 請購單控制表.申請人, LEFT(請購單控制表.申請日期, 10) AS [申請日期], 請購單控制表.核准人, 
                            LEFT(請購單控制表.核准日期, 10) AS [核准日期], 請購單控制表.需求日期, 請購單控制表.合約號, 備註, 乙方, 甲方, 立約日, 序號, 請購單控制表.退單, 
                            請購單控制表.退單備註
                FROM        請購單控制表 INNER JOIN
                            使用者權限管理表 ON 請購單控制表.申請人 = 使用者權限管理表.姓名 INNER JOIN
                                (SELECT          姓名, 帳號, 職稱, 時效, 授權
                                  FROM           系統跨部門權限表
                                  WHERE         (姓名 LIKE N'" & gUserName & "') AND (授權 = 1)) AS QQQ ON 
                            使用者權限管理表.職稱 = QQQ.職稱
                WHERE      (請購單控制表.核准人 NOT LIKE N'作廢%') AND (請購單控制表.核准人 NOT LIKE N'')  AND 使用者權限管理表.CC63 = 0  
                ORDER BY    請購單控制表.請購單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料請購單申請_請購單清單()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔" : Else : 低網 = "" : End If
        SQL1 = "SELECT      請購單明細表.請購單號, 請購單明細表.項次, 物料編碼庫轉語言.品名, 物料規格表.A1 AS [規格], 請購單明細表.備註, 請購單明細表.數量, 
                            物料編碼庫.單位, 倉儲分區控制表.倉名, 請購單明細表.群組碼, 請購單明細表.群組原則, 
                            請購單明細表.料號, 物料資訊控制表.規格庫抬頭指定, 物料資訊控制表.規格庫編號, 物料規格表.A2, 
                            物料規格表.A3, 物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, 請購單明細表.已採購 
                            " & 低網 & "
                 FROM       請購單明細表 INNER JOIN
                            物料編碼庫 ON 請購單明細表.群組碼 = 物料編碼庫.群組碼 AND 
                            請購單明細表.群組原則 = 物料編碼庫.料號原則 INNER JOIN
                            物料圖庫 ON 物料編碼庫.群組碼 = 物料圖庫.群組碼 AND 物料編碼庫.料號原則 = 物料圖庫.料號原則 INNER JOIN
                            物料資訊控制表 ON 物料編碼庫.料號原則 = 物料資訊控制表.料號原則 INNER JOIN
                            物料規格表 ON 請購單明細表.料號 = 物料規格表.料號 LEFT OUTER JOIN
                            倉儲分區控制表 ON 請購單明細表.用途 = 倉儲分區控制表.倉名編號 INNER JOIN
                            物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                            物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼
                 WHERE     (請購單明細表.請購單號 LIKE N'" & 請購單申請.請購單號_tb.Text & "') AND (物料資訊控制表.規格庫編號 IS NOT NULL) AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                 ORDER BY   請購單明細表.項次"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料請購單申請_物料清單一()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔" : Else : 低網 = "" : End If
        If 物料查詢 = False Then
            SQL1 = "SELECT     物料編碼庫.群組碼 AS No, 物料編碼庫.料號原則, 物料編碼庫轉語言.品名, 物料編碼庫.群組碼, 
                               物料編碼庫.單位 " & 低網 & "
                    FROM       物料編碼庫 INNER JOIN 物料圖庫 ON 物料編碼庫.群組碼 = 物料圖庫.群組碼 AND 物料編碼庫.料號原則 = 物料圖庫.料號原則 INNER JOIN
                               物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼
                    WHERE     (物料編碼庫.群組碼 LIKE N'" & PA1 & "%') AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                    ORDER BY   品名, 料號原則"
        Else
            If 精準 = False Then
                SQL2 = "WHERE    (物料編碼庫.原則說明 LIKE N'%" & PA1 & "%') OR (物料規格表.A1 LIKE N'%" & PA1 & "%') OR (物料規格表.A2 LIKE N'%" & PA1 & "%') OR
                                 (物料規格表.A3 LIKE N'%" & PA1 & "%') OR (物料規格表.A4 LIKE N'%" & PA1 & "%') OR (物料規格表.A5 LIKE N'%" & PA1 & "%') OR
                                 (物料規格表.A6 LIKE N'%" & PA1 & "%') OR (物料規格表.A7 LIKE N'%" & PA1 & "%') OR (物料規格表.A8 LIKE N'%" & PA1 & "%') OR 
                                 (物料編碼庫.料號原則 LIKE N'" & PA1 & "%')"
            Else : SQL2 = "WHERE    (物料編碼庫.料號原則 LIKE N'" & PA1 & "%')" : End If
            SQL1 = "SELECT    QQ.項次 AS No, QQ.料號原則, QQ.原則說明 AS 品名, QQ.群組碼, QQ.單位 " & 低網 & "
                    FROM      物料圖庫 RIGHT OUTER JOIN
                             (SELECT    物料編碼庫.群組碼 AS 項次, 物料編碼庫.料號原則, 物料編碼庫.原則說明, 物料編碼庫.單位, HX選擇按鈕.選擇, 物料編碼庫.群組碼, 
                                        HX選擇按鈕.選擇 AS 存檔, 物料資訊控制表.規格庫編號, 物料資訊控制表.規格庫抬頭指定
                              FROM      物料編碼庫 LEFT OUTER JOIN 物料規格表 ON 物料編碼庫.群組碼 = 物料規格表.群組碼 AND 物料編碼庫.料號原則 = 物料規格表.料號原則 LEFT OUTER JOIN
                                        物料資訊控制表 ON 物料編碼庫.群組碼 = 物料資訊控制表.群組碼 AND 物料編碼庫.料號原則 = 物料資訊控制表.料號原則 LEFT OUTER JOIN
                                        HX選擇按鈕 ON 物料編碼庫.群組碼 = HX選擇按鈕.對應 " & SQL2 & "
                              GROUP BY  物料編碼庫.群組碼, 物料編碼庫.料號原則, 物料編碼庫.原則說明, 物料編碼庫.單位, HX選擇按鈕.選擇, 物料編碼庫.群組碼, HX選擇按鈕.選擇, 
                                        物料資訊控制表.規格庫編號, 物料資訊控制表.規格庫抬頭指定) AS QQ ON 物料圖庫.料號原則 = QQ.料號原則 AND 物料圖庫.群組碼 = QQ.群組碼
                              ORDER BY  QQ.料號原則"
        End If
    End Sub
    Friend Sub SQL_建築物料請購單申請_物料狀況查詢()
        ConnOpen()
        SQL1 = "SELECT    物料規格表.料號, 物料規格表.最高庫存量, SUM(倉儲明細表.入庫) AS 入庫, SUM(倉儲明細表.出庫) AS 出庫
                FROM      物料規格表 LEFT OUTER JOIN 倉儲明細表 ON 物料規格表.料號 = 倉儲明細表.料號
                WHERE    (物料規格表.料號 LIKE N'" & PA3 & "')
                GROUP BY  物料規格表.料號, 物料規格表.最高庫存量"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料請購單申請_物料清單二()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔" : Else : 低網 = "" : End If
        SQL1 = "SELECT    物料編碼庫.群組碼 AS No, 物料編碼庫.料號原則 AS 料號原則, 物料編碼庫.原則說明 AS 品名, 物料編碼庫.群組碼, 
                          物料編碼庫.料號原則, 物料編碼庫.單位 " & 低網 & "
                FROM      物料編碼庫 INNER JOIN 物料圖庫 ON 物料編碼庫.群組碼 = 物料圖庫.群組碼 AND 物料編碼庫.料號原則 = 物料圖庫.料號原則
                WHERE     物料編碼庫.料號原則 LIKE N'" & PA1 & "%'
                ORDER BY  品名, 料號原則"
    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 = "UPDATE 請購單控制表 SET 核准人 = N'" & PA1 & "', 核准日期 = N'" & DTP & "' WHERE (請購單號 = N'" & PA & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料請購單申請_增選取資料驗證()
        ConnOpen() : SQL1 = "SELECT TOP(1) 料號 FROM 請購單明細表 WHERE 請購單號 LIKE N'" & PA1 & "' AND 料號 LIKE N'" & PA2 & "' ORDER BY 項次 DESC" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單明細表_項次最後一筆()
        ConnOpen() : SQL1 = "SELECT TOP(1) 項次 FROM 請購單明細表 WHERE 請購單號 LIKE N'" & PA1 & "' ORDER BY 項次 DESC" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單明細表_新增()
        ConnOpen()
        SQL1 = "INSERT INTO 請購單明細表 (請購單號, 品名, 規格, 備註, 數量, 單位, 用途, 項次, 群組碼, 群組原則, 料號) 
                VALUES (N'" & PA & "',N'" & PA1 & "',N'" & PA2 & "',N'" & PA3 & "',N'" & NU1 & "',N'" & PA4 & "',N'" & PA5 & "',N'" & PA6 & "',N'" & PA7 & "',N'" & PA8 & "',N'" & PA9 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單新增查詢1()
        ConnOpen()
        SQL1 = "SELECT  物料規格表.群組碼, 物料規格表.料號原則, 物料資訊控制表.品名  FROM  物料規格表 INNER JOIN  物料資訊控制表 ON 物料規格表.料號原則 = 物料資訊控制表.料號原則
                WHERE  (物料規格表.料號 LIKE N'" & PA2 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單控制表_流水號查詢()
        ConnOpen() : SQL1 = "SELECT TOP (1)  請購單號 FROM 請購單控制表 WHERE ( 請購單號 LIKE N'" & PA & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單控制表_新增()
        ConnOpen()
        SQL1 = "INSERT INTO 請購單控制表 (請購單號, 申請人, 申請日期, 核准人, 核准日期, 已採購, 已收貨, 採購單號,合約號, 備註, 乙方, 甲方, 立約日, 序號) 
                VALUES (N'" & PA & "',N'" & gUserName & "',N'" & DTP & "',N'',N'',N'0',N'0',N'',N'" & PA1 & "',N'" & PA43 & "',N'" & PA44 & "',N'" & PA45 & "',N'" & PA46 & "',N'" & PA47 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購功能單次授權碼使用驗證()
        ConnOpen() : SQL1 = "SELECT 授權碼 FROM 授權碼資料表 WHERE 授權碼 LIKE N'" & PA20 & "' AND 已使用 = 0" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_合約號確認()
        ConnOpen() : SQL1 = "SELECT  合約編號  FROM  合約控制表  WHERE  (合約編號 LIKE N'" & PA & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_授權使用()
        ConnOpen() : SQL1 = "UPDATE 授權碼資料表 SET 已使用 = '1' WHERE 授權碼 LIKE N'" & PA20 & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單控制表_刪除()
        ConnOpen() : SQL1 = "DELETE FROM 請購單控制表 WHERE (請購單號 LIKE N'" & PA & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單明細表_刪除()
        ConnOpen() : SQL1 = "DELETE FROM 請購單明細表 WHERE (請購單號 LIKE N'" & PA & "')" : 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() : SQL1 = "SELECT 倉級, 倉名編號 FROM 倉儲分區控制表 WHERE (倉名 LIKE N'" & PA6 & "') AND CXL = '0'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料請購單核准_請購單清單()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔" : Else : 低網 = "" : End If
        SQL1 = "SELECT      請購單明細表.請購單號, 請購單明細表.項次, 請購單明細表.料號, 物料編碼庫轉語言.品名, 物料規格表.A1 AS [規格], 
                            請購單明細表.備註, 請購單明細表.數量, 物料編碼庫.單位, 倉儲分區控制表.倉名, 物料規格表.圖檔編號, 
                            請購單明細表.群組碼, 請購單明細表.群組原則, 物料資訊控制表.規格庫編號, 
                            物料資訊控制表.規格庫抬頭指定, 物料規格表.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    請購單明細表.項次"
        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'" & PA20 & "'" : 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 = "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 = "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 No, 請購單明細表.請購單號, 請購單控制表.合約號, 物料編碼庫轉語言.品名, 物料規格表.A1 AS [規格], 
                            物料規格表.A2, 物料規格表.A3, 物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, 請購單明細表.備註, 
                            請購單明細表.數量, 請購單明細表.用途, 倉儲分區控制表.倉名, 請購單明細表.項次, 物料編碼庫.單位, 
                            請購單明細表.群組碼, 請購單明細表.群組原則, 請購單明細表.料號, 採購單明細表.採購單號, 
                            請購單控制表.申請人, 請購單控制表.核准人, 請購單控制表.需求日期, 物料資訊控制表.規格庫編號, 
                            物料資訊控制表.規格庫抬頭指定, 請購單明細表.已採購, 請購單明細表.加急, HX空白圖片.圖片 AS State " & 低網 & "
                 FROM       請購單明細表 LEFT OUTER JOIN
                            採購單明細表 ON 請購單明細表.項次 = 採購單明細表.項次 AND 
                            請購單明細表.請購單號 = 採購單明細表.請購單號 LEFT OUTER JOIN
                            物料圖庫 ON 請購單明細表.群組原則 = 物料圖庫.料號原則 LEFT OUTER JOIN
                            請購單控制表 ON 請購單明細表.請購單號 = 請購單控制表.請購單號 LEFT OUTER JOIN
                            物料編碼庫 ON 請購單明細表.群組原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                            倉儲分區控制表 ON 請購單明細表.用途 = 倉儲分區控制表.倉名編號 LEFT OUTER JOIN
                            物料規格表 ON 請購單明細表.料號 = 物料規格表.料號 LEFT OUTER JOIN
                            物料資訊控制表 ON 請購單明細表.群組原則 = 物料資訊控制表.料號原則 INNER JOIN
                            物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                            物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼 LEFT OUTER JOIN
                            HX空白圖片 ON 請購單明細表.請購單號 = HX空白圖片.選擇
                 WHERE     (請購單控制表.核准人 NOT LIKE N'') AND (請購單控制表.核准人 NOT LIKE N'作廢%') AND (請購單明細表.用途 LIKE N'%" & PA1 & "%') AND 
                           (請購單明細表.已採購 IS NULL OR 請購單明細表.已採購 = 0) AND (物料資訊控制表.規格庫編號 IS NOT NULL) AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "') " & SQL2 & "
                 ORDER BY   請購單明細表.加急 DESC, 倉儲分區控制表.倉名, 請購單明細表.請購單號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_採購單詢價_採購()
        ConnOpen()
        SQL1 = "SELECT 採購單號, 供應商編號, 需求日期, 使用地點, 核對員, 核對日期, 詢價員, 尋價日期, 核准, 核准日期, 簽名檔編號, 驗證碼, 請購單號, DISC, 稅, PPN
                FROM   採購單控制表  WHERE (核准 LIKE N'') AND (供應商編號 LIKE N'') " & SQL2 & " ORDER BY   採購單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_採購單詢價_明細()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔 AS Image" : Else : 低網 = "" : End If
        SQL1 = "SELECT      採購單明細表.採購單號, 採購單明細表.項次 AS No, 採購單明細表.合約號, 物料編碼庫轉語言.品名, 物料規格表.A1 AS [規格], 
                            採購單明細表.備註, 採購單明細表.數量, 物料編碼庫.單位, 採購單明細表.單價, 
                            採購單明細表.數量 * 採購單明細表.單價 AS [金額], 採購單明細表.群組碼, 採購單明細表.料號原則, 採購單明細表.料號, 物料規格表.圖檔編號, 
                            HX選擇按鈕.選擇, 採購單明細表.項次, 物料規格表.A2, 物料規格表.A3, 物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 
                            物料規格表.A8, 物料資訊控制表.規格庫編號, 物料資訊控制表.規格庫抬頭指定, 採購單明細表.請購單號, HX選擇按鈕.選擇 AS [Cancel order],
                            採購單明細表.單價 AS OUP " & 低網 & "
                FROM        採購單明細表 LEFT OUTER JOIN
                            物料資訊控制表 ON 採購單明細表.料號原則 = 物料資訊控制表.料號原則 LEFT OUTER JOIN
                            物料圖庫 ON 採購單明細表.群組碼 = 物料圖庫.群組碼 AND 
                            採購單明細表.料號原則 = 物料圖庫.料號原則 LEFT OUTER JOIN
                            物料編碼庫 ON 採購單明細表.群組碼 = 物料編碼庫.群組碼 AND 
                            採購單明細表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                            HX選擇按鈕 ON 採購單明細表.採購單號 = HX選擇按鈕.對應 LEFT OUTER JOIN
                            物料規格表 ON 採購單明細表.料號 = 物料規格表.料號 INNER JOIN
                            物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                            物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼
                WHERE      (採購單明細表.採購單號 LIKE N'" & PA2 & "') AND (物料資訊控制表.規格庫編號 IS NOT NULL) AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                ORDER BY   採購單明細表.項次"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_料號比對價格()
        ConnOpen() : SQL1 = "SELECT    採購單號, 合約號, 申請人, 單價, 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  料號  FROM 物料規格表  WHERE (料號 LIKE N'" & PA & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單明細表_刪除一筆資料()
        ConnOpen() : SQL1 = "DELETE FROM 請購單明細表 WHERE (料號 LIKE N'" & PA & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單控制表_新增()
        ConnOpen()
        SQL1 = "INSERT INTO 採購單控制表 (採購單號, 供應商編號, 需求日期, 使用地點, 核對員, 核對日期, 詢價員, 尋價日期, 核准, 核准日期, 
                            簽名檔編號, 驗證碼, 請購單號, DISC, 稅, PPN, 採購員, 採購日期, 已會計, 已出納, 現金, 備用金, 公帳, 一級核准, 
                            一級核准核准日期, 一級核准簽名檔編號) " &
                   "VALUES (N'" & PA1 & "',N'" & PA2 & "',N'" & DTP2 & "',N'" & PA3 & "',N'" & PA4 & "',N'" & PA5 & "',N'" & gUserName & "',
                            N'" & DTP & "', N'', N'', N'', N'', N'" & PA6 & "', N'" & PA7 & "', N'" & BL1 & "', N'" & PA8 & "', N'', N'', 
                            N'0', N'0', N'0', N'0', N'0', N'', N'', N'')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單明細表_轉採修改()
        ConnOpen() : SQL1 = "UPDATE 請購單明細表 SET  已採購 = N'" & PA9 & "' WHERE (請購單號 LIKE N'" & PA2 & "') AND (項次 LIKE N'" & PA3 & "') " : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單明細表_新增()
        ConnOpen()
        SQL1 = "INSERT INTO 採購單明細表 (採購單號,合約號, 品名, 規格, 備註, 數量, 單位, 單價, 項次, 已收貨, 群組碼, 料號原則, 料號, 已入庫, 已申請入庫, 請購單號,申請人) 
                      VALUES (N'" & PA1 & "',N'" & PA14 & "',N'" & PA4 & "',N'" & PA5 & "',N'" & PA6 & "',N'" & NU1 & "',N'" & PA8 & "',N'" & PA10 & "',N'" & PA3 & "',N'0',
                              N'" & PA11 & "',N'" & PA12 & "',N'" & PA13 & "',N'0',N'0',N'" & PA2 & "', N'" & PA15 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單控制表_刪除()
        ConnOpen() : SQL1 = "DELETE FROM 採購單控制表 WHERE (採購單號 LIKE N'" & PA1 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單明細表_退採修改()
        ConnOpen() : SQL1 = "UPDATE 請購單明細表 SET  已採購 = N'0' WHERE (請購單號 LIKE N'" & PA2 & "') AND (項次 LIKE N'" & PA3 & "')" : 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 = "SELECT TOP (1)  採購單號 FROM 採購單控制表 WHERE ( 採購單號 LIKE N'" & PA1 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單詢價_採購明細刪除()
        ConnOpen() : SQL1 = "DELETE FROM 採購單明細表 WHERE (採購單號 LIKE N'" & PA & "' AND 請購單號 LIKE N'" & PA2 & "' AND 項次 LIKE N'" & PA3 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單明細表_修改()
        ConnOpen()
        SQL1 = "UPDATE 採購單明細表 SET  備註 = 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'" & PA & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單詢價_明細刪除()
        ConnOpen() : SQL1 = "DELETE FROM 採購單明細表 WHERE (採購單號 LIKE N'" & PA & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料請購單核准_請購單退回(請購單號 As String)
        ConnOpen() : SQL1 = "UPDATE 請購單控制表 SET 核准人 = N'', 核准日期 = N'', 加急 = 0, 退單 = 1, 退單備註 = N'" & PA & "' WHERE (請購單號 LIKE N'" & 請購單號 & "')" : CmdSet_For_dr()
        ConnOpen() : SQL1 = "UPDATE 請購單明細表 SET 加急 = 0 WHERE (請購單號 LIKE N'" & 請購單號 & "')" : 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
    Friend Sub SQL_建築物料採購單生成_明細()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔 AS Image" : Else : 低網 = "" : End If
        If PA20 = "A" Then
            SQL1 = "SELECT    請購單明細表.請購單號, 請購單明細表.項次 AS [No], 採購單明細表.合約號, 物料編碼庫轉語言.品名, 請購單明細表.規格, 
                              請購單明細表.備註, 請購單明細表.數量, 物料編碼庫.單位, 請購單明細表.數量 AS [金額], 請購單明細表.數量, 請購單明細表.群組碼, 
                              請購單明細表.群組原則 AS 料號原則, 請購單明細表.料號, 物料規格表.圖檔編號, 
                              請購單明細表.已採購, 請購單明細表.項次, 請購單明細表.請購單號 AS [KEY],
                              採購單明細表.單價 AS OUP, 請購單明細表.請購單號 AS [SP%] " & 低網 & "
                    FROM      請購單明細表 INNER JOIN
                              物料圖庫 ON 請購單明細表.群組碼 = 物料圖庫.群組碼 AND 
                              請購單明細表.群組原則 = 物料圖庫.料號原則 INNER JOIN
                              物料編碼庫 ON 請購單明細表.群組碼 = 物料編碼庫.群組碼 AND 
                              請購單明細表.群組原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                              物料規格表 ON 請購單明細表.料號 = 物料規格表.料號 INNER JOIN
                              物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                              物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼
                    WHERE    (請購單明細表.請購單號 LIKE N'" & PA1 & "') AND 
                             (請購單明細表.已採購 IS NULL OR 請購單明細表.已採購 = 0) AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                    ORDER BY  請購單明細表.項次"
        ElseIf PA20 = "B" Then
            SQL1 = "SELECT    採購單明細表.採購單號, 採購單明細表.項次 AS [No], 採購單明細表.合約號, 物料編碼庫轉語言.品名, 物料規格表.A1 AS [規格], 
                              採購單明細表.備註, 採購單明細表.數量, 物料編碼庫.單位, 採購單明細表.單價, 採購單明細表.數量 * 採購單明細表.單價 AS [金額], 
                              採購單明細表.群組碼, 採購單明細表.料號原則, 採購單明細表.料號, 物料規格表.圖檔編號, HX選擇按鈕.選擇, 採購單明細表.項次, 
                              採購單明細表.請購單號 AS [KEY], 物料資訊控制表.規格庫編號, 物料資訊控制表.規格庫抬頭指定, 物料規格表.A2, 物料規格表.A3, 物料規格表.A4, 
                              物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, 採購單明細表.單價 AS OUP, 採購單明細表.申請人 AS [SP%] , 
                              採購單明細表.申請人 " & 低網 & "
                    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'" & PA2 & "') AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                    ORDER BY  採購單明細表.項次"
        End If
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單生成_請購()
        ConnOpen()
        SQL1 = "SELECT      請購單控制表.請購單號 AS [" & "採購單號" & "], 請購單控制表.申請人, LEFT(請購單控制表.申請日期, 10) 
                            AS 申請日期, 請購單控制表.核准人, LEFT(請購單控制表.核准日期, 10) AS 核准日期, 
                            請購單控制表.已採購, 請購單控制表.採購單號, 請購單控制表.已收貨, 
                            請購單明細表.用途, 倉儲分區控制表.倉名
                FROM        請購單控制表 INNER JOIN 請購單明細表 ON 
                            請購單控制表.請購單號 = 請購單明細表.請購單號 LEFT OUTER JOIN
                            倉儲分區控制表 ON 請購單明細表.用途 = 倉儲分區控制表.倉名編號
                WHERE       (請購單控制表.核准人 NOT LIKE N'') AND (請購單控制表.核准人 NOT LIKE N'作廢%') AND 
                            (請購單明細表.已採購 IS NULL OR
                            請購單明細表.已採購 = 0)
                GROUP BY   請購單控制表.請購單號, 請購單控制表.申請人, LEFT(請購單控制表.申請日期, 10), 
                            請購單控制表.核准人, LEFT(請購單控制表.核准日期, 10), 請購單控制表.已採購, 
                            請購單控制表.採購單號, 請購單控制表.已收貨, 請購單明細表.用途, 
                            倉儲分區控制表.倉名
                ORDER BY   請購單控制表.請購單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單生成_採購()
        ConnOpen()
        SQL1 = "SELECT     採購單控制表.採購單號 AS [" & "採購單號" & "], 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 
                           採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 採購單控制表.核准, 
                           採購單控制表.核准日期, 採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 
                           採購單控制表.PPN, 採購單明細表.合約號, 採購單控制表.採購單號 AS [NO.], 採購單控制表.手動號碼
                FROM       採購單控制表 INNER JOIN
                           採購單明細表 ON 採購單控制表.採購單號 = 採購單明細表.採購單號
                WHERE     (採購單控制表.核准 LIKE N'') " & SQL2 & "
                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() : SQL1 = "SELECT 類別 FROM 供應商類別 WHERE 語言 LIKE N'" & 系統語言 & "' ORDER BY 編碼" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商資料表_公司名_下拉用()
        ConnOpen() : SQL1 = "SELECT 公司名 FROM 供應商資料表 WHERE 供應商簡稱 LIKE N'%" & PA & "%' " & SQL2 & "  ORDER BY 公司名" : CmdSet_For_dr()
    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 = "SELECT 供應商編碼, 公司地址, 公司電話1, 公司傳真1, 聯繫人1郵箱, 付款條件 FROM 供應商資料表 WHERE 公司名 LIKE N'" & PA1 & "'" : 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 = "UPDATE 採購單控制表 SET  供應商編號 = ''  WHERE (採購單號 LIKE N'" & 採購單編輯.採購單號_tb.Text & "')  " : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單控制表_編輯()
        ConnOpen()
        SQL1 = "UPDATE 採購單控制表 SET  供應商編號 = N'" & PA1 & "', 需求日期 = N'" & DTP2 & "', 使用地點 = N'" & PA2 & "' , 
                                         DISC = N'" & PA3 & "', 稅 = N'" & BL1 & "', PPN = N'" & PA4 & "', 手動號碼 = '" & PA39 & "'
                WHERE (採購單號 LIKE N'" & PA5 & "')"
        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 & "', 核對員 = '" & gUserName & "', 手動號碼 = '" & PA39 & "'
                WHERE (採購單號 LIKE N'" & PA5 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單控制表_轉採修改()
        ConnOpen() : SQL1 = "UPDATE 請購單控制表 SET  已採購 = N'1', 採購單號 = N'" & PA1 & "' WHERE (請購單號 LIKE N'" & PA6 & "')" : 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    供應商資料表.供應商編碼, QQQ.類別, 供應商資料表.公司名, 供應商資料表.公司地址, 供應商資料表.公司電話1, 供應商資料表.公司電話2, 供應商資料表.公司電話3, 
                          供應商資料表.公司傳真1, 供應商資料表.公司傳真2, 供應商資料表.公司傳真3, 供應商資料表.聯繫人1, 供應商資料表.聯繫人2, 供應商資料表.聯繫人3, 供應商資料表.聯繫人1職稱, 
                          聯繫人2職稱, 供應商資料表.聯繫人3職稱, 供應商資料表.聯繫人1電話, 供應商資料表.聯繫人2電話, 供應商資料表.聯繫人3電話, 供應商資料表.聯繫人1郵箱, 供應商資料表.聯繫人2郵箱, 
                          供應商資料表.聯繫人3郵箱, 供應商資料表.供應商簡稱 AS [key] , 供應商資料表.支付對象  , 供應商資料表.銀行名稱  , 供應商資料表.銀行帳號, 供應商資料表.銀行支行, 
                          供應商資料表.付款條件
                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 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 & "',N'" & 供應商管理.支付對象_tb.Text & "' ,N'" & 供應商管理.銀行名稱_tb.Text & "' ,N'" & 供應商管理.銀行帳號_tb.Text & "' ,
                        N'" & 供應商管理.銀行支行_tb.Text & "' ,N'' ,N'' ,N'' ,N'' ,N'0', N'" & 供應商管理.付款條件_tb.Text & "')"
        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 & "', 支付對象 = N'" & 供應商管理.支付對象_tb.Text & "', 
                                        銀行名稱 = N'" & 供應商管理.銀行名稱_tb.Text & "', 銀行帳號 = N'" & 供應商管理.銀行帳號_tb.Text & "', 
                                        銀行支行 = N'" & 供應商管理.銀行支行_tb.Text & "', 銀行修改 = N'0', 付款條件 = N'" & 供應商管理.付款條件_tb.Text & "'
                 WHERE (供應商編碼 = '" & 供應商管理.供應商編號_tb.Text & "')"
        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 & "', 新支付對象 = N'" & 供應商管理.支付對象_tb.Text & "', 
                                        新銀行名稱 = N'" & 供應商管理.銀行名稱_tb.Text & "', 新銀行帳號 = N'" & 供應商管理.銀行帳號_tb.Text & "', 
                                        新銀行支行 = N'" & 供應商管理.銀行支行_tb.Text & "', 銀行修改 = N'1', 付款條件 = N'" & 供應商管理.付款條件_tb.Text & "'
                 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 編碼, 語言, 類別 FROM 供應商類別 WHERE 語言 LIKE N'繁體中文' 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()
        SQL1 = "SELECT  供應商編碼, 公司名, 支付對象, 銀行名稱, 銀行帳號, 銀行支行, 新支付對象, 新銀行名稱, 新銀行帳號, 新銀行支行, 銀行修改
                FROM    供應商資料表  WHERE  (銀行修改 LIKE N'1')"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_主管名稱(部門編號 As String, 處別編號 As String)
        ConnOpen()
        SQL1 = "SELECT  姓名  FROM  使用者權限管理表  
                WHERE  (部門 LIKE '" & 部門編號 & "%') AND (CC63 = 0) AND (部門 NOT LIKE '0%') AND (處別 LIKE '" & 處別編號 & "%') AND 
                       (級別 LIKE '02' OR 級別 LIKE '03' OR 級別 LIKE '04' OR 級別 LIKE '05' OR 級別 LIKE '06' OR 級別 LIKE '07')  ORDER BY   職稱, 級別"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商資料主管審核_修改(供應商編碼 As String, 支付對象 As String, 銀行名稱 As String, 銀行帳號 As String, 銀行支行 As String)
        ConnOpen()
        SQL1 = "UPDATE    供應商資料表  SET  支付對象=N'" & 支付對象 & "', 銀行名稱=N'" & 銀行名稱 & "', 銀行帳號=N'" & 銀行帳號 & "', 銀行支行=N'" & 銀行支行 & "', 
                                             新支付對象=N'', 新銀行名稱=N'', 新銀行帳號=N'', 新銀行支行=N'', 銀行修改=N'0'
                WHERE    (供應商編碼 LIKE N'" & 供應商編碼 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_供應商資料主管審核_否決(供應商編碼 As String)
        ConnOpen()
        SQL1 = "UPDATE    供應商資料表  SET  新支付對象=N'', 新銀行名稱=N'', 新銀行帳號=N'', 新銀行支行=N'', 銀行修改=N'0'
                WHERE    (供應商編碼 LIKE N'" & 供應商編碼 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單明細表()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔 AS Image" : Else : 低網 = "" : End If
        SQL1 = "SELECT      採購單明細表.採購單號, 採購單明細表.項次 AS [No],採購單明細表.合約號, 物料編碼庫轉語言.品名, 
                            物料規格表.A1 AS [規格], 採購單明細表.備註, 採購單明細表.數量, 
                            採購單明細表.單位, 採購單明細表.單價, 
                            採購單明細表.數量 * 採購單明細表.單價 AS [金額], 採購單明細表.群組碼, 
                            採購單明細表.料號原則, 採購單明細表.料號, 物料規格表.圖檔編號, 採購單明細表.項次 AS 項次01, 物料規格表.A2, 物料規格表.A3, 
                            物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, 
                            物料資訊控制表.規格庫編號, 物料資訊控制表.規格庫抬頭指定, 採購單明細表.請購單號 AS [KEY],
                            採購單明細表.單價 AS OUP, 採購單明細表.申請人 AS [SP%] , 採購單明細表.申請人" & 低網 & "
                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    DISTINCT 採購單控制表.供應商編號, 供應商資料表.公司名
                FROM      採購單控制表 INNER JOIN 供應商資料表 ON 採購單控制表.供應商編號 = 供應商資料表.供應商編碼
                WHERE    (採購單控制表.核准 LIKE N'') AND (採購單控制表.供應商編號 NOT LIKE N'') AND (採購單控制表.一級核准 LIKE N'' OR 採購單控制表.一級核准 IS NULL) " & SQL2 & "
                ORDER BY  供應商資料表.公司名 "
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單初級核准_清單(供應商編號 As String)
        ConnOpen()
        SQL1 = "SELECT      採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 
                            採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 採購單控制表.核准, 
                            採購單控制表.核准日期, 採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 
                            採購單控制表.稅, 採購單控制表.PPN, 採購單控制表.一級核准, 採購單控制表.一級核准核准日期, 採購單控制表.一級核准簽名檔編號, 
                            SUM(採購單明細表.數量 * 採購單明細表.單價) AS 總價, 採購單明細表.合約號, 採購單控制表.採購單號 AS [NO.], 
                            採購單控制表.已會計, 採購單控制表.已出納, 採購單控制表.備用金 AS 選擇
                FROM        採購單控制表 LEFT OUTER JOIN 採購單明細表 ON 採購單控制表.採購單號 = 採購單明細表.採購單號
                WHERE      (採購單控制表.核對員 LIKE N'') AND (採購單控制表.供應商編號 NOT LIKE N'') AND (供應商編號 LIKE N'" & 供應商編號 & "')
                GROUP BY    採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 採購單控制表.核對員, 
                            採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 採購單控制表.核准, 採購單控制表.核准日期, 
                            採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 採購單控制表.PPN, 
                            採購單控制表.一級核准, 採購單控制表.一級核准核准日期, 採購單控制表.一級核准簽名檔編號, 採購單明細表.合約號, 
                            採購單控制表.已會計, 採購單控制表.已出納, 採購單控制表.備用金
                ORDER BY    SUBSTRING(採購單控制表.採購單號, 7, 8) DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單一級核准_清單(供應商編號 As String)
        ConnOpen()
        SQL1 = "SELECT      採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 
                            採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 採購單控制表.核准, 
                            採購單控制表.核准日期, 採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 
                            採購單控制表.稅, 採購單控制表.PPN, 採購單控制表.一級核准, 採購單控制表.一級核准核准日期, 採購單控制表.一級核准簽名檔編號, 
                            SUM(採購單明細表.數量 * 採購單明細表.單價) AS 總價, 採購單明細表.合約號, 採購單控制表.採購單號 AS [NO.], 
                            採購單控制表.已會計, 採購單控制表.已出納, 採購單控制表.備用金 AS 選擇
                FROM        採購單控制表 LEFT OUTER JOIN 採購單明細表 ON 採購單控制表.採購單號 = 採購單明細表.採購單號
                WHERE      (採購單控制表.核對員 NOT LIKE N'') AND (採購單控制表.核准 LIKE N'') AND (採購單控制表.供應商編號 NOT LIKE N'') AND 
                           (採購單控制表.一級核准 LIKE N'' OR 採購單控制表.一級核准 IS NULL)  AND (供應商編號 LIKE N'" & 供應商編號 & "')
                GROUP BY    採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 採購單控制表.核對員, 
                            採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 採購單控制表.核准, 採購單控制表.核准日期, 
                            採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 採購單控制表.PPN, 
                            採購單控制表.一級核准, 採購單控制表.一級核准核准日期, 採購單控制表.一級核准簽名檔編號, 採購單明細表.合約號, 
                            採購單控制表.已會計, 採購單控制表.已出納, 採購單控制表.備用金
                ORDER BY    SUBSTRING(採購單控制表.採購單號, 7, 8) DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_主管簽名檔管理()
        ConnOpen()
        SQL1 = "SELECT 圖片流水號, 簽名檔人名 FROM HX主管簽名檔管理 WHERE 簽名檔人名 LIKE N'" & gUserName & "' ORDER BY 圖片流水號"
        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 = "UPDATE 採購單控制表 SET  核對員 = N'" & gUserName & "', 核對日期 = N'" & DTP & "' 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'" & 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 = "SELECT 料號 FROM  供應商產品清單 WHERE 供應商編碼 LIKE N'" & PA1 & "' AND 料號 LIKE N'" & PA2 & "'" : 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 = "UPDATE 採購單控制表 SET  核准 = N'作廢-" & gUserName & "' WHERE (採購單號 LIKE N'" & PA11 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單控制表_作廢1()
        ConnOpen() : SQL1 = "UPDATE 採購單控制表 SET 核對員 = N'作廢-" & gUserName & "', 核准 = 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 & "', 手動號碼 = N'" & 採購單一級核准.手動號碼_tb.Text & "'
                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 = "UPDATE 採購單明細表 SET 項次 = N'" & PA18 & "' WHERE (採購單號 LIKE N'" & PA19 & "' AND 項次 LIKE N'" & PA20 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料採購單二級核准_清單(供應商編號 As String)
        ConnOpen()
        SQL1 = "SELECT 採購單號, 供應商編號, 需求日期, 使用地點, 核對員, 核對日期, 詢價員, 尋價日期, 核准, 核准日期, 簽名檔編號, 
                       驗證碼, 請購單號, DISC, 稅, PPN, 一級核准簽名檔編號
                FROM 採購單控制表 WHERE (核准 LIKE N'') AND (一級核准 NOT LIKE N'')  AND (供應商編號 LIKE N'" & 供應商編號 & "')  ORDER BY   SUBSTRING(採購單號, 7, 8) DESC"
        CmdSet_For_DGV()
    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 = "SELECT    DISTINCT 採購單控制表.供應商編號, 供應商資料表.公司名
                FROM      採購單控制表 INNER JOIN 供應商資料表 ON 採購單控制表.供應商編號 = 供應商資料表.供應商編碼
                WHERE    (核准 LIKE N'') AND (一級核准 NOT LIKE N'') " & SQL2 & "
                ORDER BY  供應商資料表.公司名 "
        CmdSet_For_DGV()
    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_建築物料採購單一覽表_明細()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔 AS Image" : Else : 低網 = "" : End If
        SQL1 = "SELECT      採購單明細表.採購單號 AS 請購單號, 採購單明細表.項次 AS [No], 採購單明細表.合約號,
                            物料編碼庫轉語言.品名, 物料規格表.A1 AS [規格], 採購單明細表.備註, 採購單明細表.數量, 採購單明細表.單位, 採購單明細表.單價, 
                            採購單明細表.數量 * 採購單明細表.單價 AS [金額], 採購單明細表.群組碼, 
                            採購單明細表.料號原則, 採購單明細表.料號, 物料規格表.圖檔編號, 採購單明細表.項次, 採購單明細表.請購單號 AS [KEY], 物料資訊控制表.規格庫編號, 
                            物料資訊控制表.規格庫抬頭指定, 物料規格表.A2, 物料規格表.A3, 物料規格表.A4, 
                            物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8,採購單明細表.申請人" & 低網 & "
                 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   採購單明細表.項次"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單一覽表_已核准(供應商編號 As String)
        If 供應商編號 = "%%" Then : SQL2 = " TOP(500) " : Else : SQL2 = "" : End If
        ConnOpen()
        SQL1 = "SELECT    " & SQL2 & " QQ.採購單號, QQ.供應商編號, QQ.需求日期, QQ.使用地點, QQ.核對員, QQ.核對日期, QQ.詢價員, QQ.尋價日期, QQ.核准, 
                           QQ.核准日期, QQ.簽名檔編號, QQ.驗證碼, QQ.請購單號, QQ.DISC, QQ.稅, QQ.PPN, QQ.一級核准簽名檔編號, 
                           QQ.一級核准核准日期, QQ.採購員, QQ.採購日期, QQ.手動號碼, QQ.公司名 AS [供應商], QQ.轉財務金額, 
                           QQ.轉財務金額, QQ.總金額, 
                           HX空白圖片.圖片 AS [Select All], HX空白圖片.圖片 AS [To DK], HX空白圖片.圖片 AS [Save], QQ.[轉財務], QQ.[已支付]
                FROM       HX空白圖片 RIGHT OUTER JOIN
                          (SELECT    採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 
                                     採購單控制表.使用地點, 採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 
                                     採購單控制表.尋價日期, 採購單控制表.核准, 採購單控制表.核准日期, 採購單控制表.簽名檔編號, 
                                     採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 
                                     採購單控制表.PPN, 採購單控制表.一級核准簽名檔編號, 採購單控制表.一級核准核准日期, 
                                     採購單控制表.採購員, 採購單控制表.採購日期, 採購單控制表.手動號碼, 供應商資料表.公司名, 
                                     採購單控制表.轉財務金額, SUM(採購單明細表.數量 * 採購單明細表.單價) AS 總金額, 
                                     採購單控制表.已會計 AS [轉財務], 採購單控制表.已出納 AS [已支付]
                           FROM      採購單控制表 LEFT OUTER JOIN
                                     採購單明細表 ON 採購單控制表.採購單號 = 採購單明細表.採購單號 LEFT OUTER JOIN
                                     供應商資料表 ON 採購單控制表.供應商編號 = 供應商資料表.供應商編碼
                           WHERE    (採購單控制表.核准 NOT LIKE N'') AND (採購單控制表.核准 NOT LIKE N'作廢%') AND (採購單控制表.供應商編號 LIKE N'" & 供應商編號 & "')
                           GROUP BY  採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 
                                     採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 
                                     採購單控制表.核准, 採購單控制表.核准日期, 採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 
                                     採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 採購單控制表.PPN, 
                                     採購單控制表.一級核准簽名檔編號, 採購單控制表.一級核准核准日期, 採購單控制表.採購員, 
                                     採購單控制表.採購日期, 採購單控制表.手動號碼, 供應商資料表.公司名, 採購單控制表.轉財務金額, 
                                     採購單控制表.已會計, 採購單控制表.已出納) AS QQ ON 
                           HX空白圖片.選擇 = QQ.供應商編號
                ORDER BY   QQ.公司名, SUBSTRING(QQ.採購單號, 7, 8) DESC"
        CmdSet_For_DGV() : SQL2 = ""
    End Sub
    Friend Sub SQL_建築物料採購單一覽表_已核准1()
        ConnOpen()
        SQL1 = "SELECT     QQ.採購單號, QQ.供應商編號, QQ.需求日期, QQ.使用地點, QQ.核對員, QQ.核對日期, QQ.詢價員, QQ.尋價日期, QQ.核准, 
                           QQ.核准日期, QQ.簽名檔編號, QQ.驗證碼, QQ.請購單號, QQ.DISC, QQ.稅, QQ.PPN, QQ.一級核准簽名檔編號, 
                           QQ.一級核准核准日期, QQ.採購員, QQ.採購日期, QQ.手動號碼, QQ.公司名 AS [供應商], QQ.轉財務金額, 
                           QQ.轉財務金額, QQ.總金額, 
                           HX空白圖片.圖片 AS [Select All], HX空白圖片.圖片 AS [To DK], HX空白圖片.圖片 AS [Save], QQ.[轉財務], QQ.[已支付]
                FROM       HX空白圖片 RIGHT OUTER JOIN
                          (SELECT    採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 
                                     採購單控制表.使用地點, 採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 
                                     採購單控制表.尋價日期, 採購單控制表.核准, 採購單控制表.核准日期, 採購單控制表.簽名檔編號, 
                                     採購單控制表.驗證碼, 採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 
                                     採購單控制表.PPN, 採購單控制表.一級核准簽名檔編號, 採購單控制表.一級核准核准日期, 
                                     採購單控制表.採購員, 採購單控制表.採購日期, 採購單控制表.手動號碼, 供應商資料表.公司名, 
                                     採購單控制表.轉財務金額, SUM(採購單明細表.數量 * 採購單明細表.單價) AS 總金額, 
                                     採購單控制表.已會計 AS [轉財務], 採購單控制表.已出納 AS [已支付]
                           FROM      採購單控制表 LEFT OUTER JOIN
                                     採購單明細表 ON 採購單控制表.採購單號 = 採購單明細表.採購單號 LEFT OUTER JOIN
                                     供應商資料表 ON 採購單控制表.供應商編號 = 供應商資料表.供應商編碼
                           WHERE    (採購單控制表.核准 NOT LIKE N'') AND (採購單控制表.核准 NOT LIKE N'作廢%') 
                           GROUP BY  採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 
                                     採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 
                                     採購單控制表.核准, 採購單控制表.核准日期, 採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 
                                     採購單控制表.請購單號, 採購單控制表.DISC, 採購單控制表.稅, 採購單控制表.PPN, 
                                     採購單控制表.一級核准簽名檔編號, 採購單控制表.一級核准核准日期, 採購單控制表.採購員, 
                                     採購單控制表.採購日期, 採購單控制表.手動號碼, 供應商資料表.公司名, 採購單控制表.轉財務金額, 
                                     採購單控制表.已會計, 採購單控制表.已出納
                           HAVING  ((SUM(採購單明細表.數量 * 採購單明細表.單價)) + (SUM(採購單明細表.數量 * 採購單明細表.單價) / 100 *  採購單控制表.PPN) - 
                                    (SUM(採購單明細表.數量 * 採購單明細表.單價) / 100 *  採購單控制表.DISC) - 採購單控制表.轉財務金額) > 0) AS QQ ON 
                           HX空白圖片.選擇 = QQ.供應商編號
                ORDER BY   QQ.公司名, SUBSTRING(QQ.採購單號, 7, 8) DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_採購歷史檔案_供應商清單()
        ConnOpen()
        SQL1 = "SELECT    DISTINCT 採購單控制表.供應商編號, 供應商資料表.公司名
                FROM      採購單控制表 INNER JOIN 供應商資料表 ON 採購單控制表.供應商編號 = 供應商資料表.供應商編碼
                WHERE    (採購單控制表.供應商編號 NOT LIKE N'') AND (採購單控制表.核准 NOT LIKE N'')  AND (採購單控制表.核准 NOT LIKE N'作廢%') " & SQL2 & "
                ORDER BY  供應商資料表.公司名 "
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料採購單一覽表_已作廢()
        ConnOpen()
        If Val(登入人級別) <= 4 Then
            SQL1 = "SELECT 採購單號, 供應商編號, 需求日期, 使用地點, 核對員, 核對日期, 詢價員, 尋價日期, 核准, 核准日期, 簽名檔編號, 驗證碼, 請購單號, DISC, 稅, PPN, 
                           一級核准簽名檔編號
                    FROM 採購單控制表 WHERE (核准 LIKE N'作廢%') ORDER BY   採購單號 DESC"
        Else
            SQL1 = "SELECT 採購單號, 供應商編號, 需求日期, 使用地點, 核對員, 核對日期, 詢價員, 尋價日期, 核准, 核准日期, 簽名檔編號, 驗證碼, 請購單號, 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'" & gUserName & "', 採購日期 = N'" & Today() & "' WHERE (採購單號 LIKE N'" & 採購單歷史檔案.採購單號_tb.Text & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料來料驗收與指定入庫_已核准()
        ConnOpen()
        SQL1 = "SELECT      採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 
                            採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 採購單控制表.核准, 
                            採購單控制表.核准日期, 採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 採購單控制表.請購單號, 
                            採購單控制表.DISC, 採購單控制表.稅, 採購單控制表.PPN, 請購單控制表.合約號, 請購單控制表.乙方, 
                            請購單控制表.甲方, 請購單控制表.立約日, 請購單控制表.序號, 採購單控制表.採購單號 AS [NO.]
                 FROM       採購單控制表 LEFT OUTER JOIN
                            採購單明細表 ON 採購單控制表.採購單號 = 採購單明細表.採購單號 LEFT OUTER JOIN
                            請購單控制表 ON 採購單明細表.合約號 = 請購單控制表.合約號
                 WHERE     (採購單控制表.核准 NOT LIKE N'') AND (採購單控制表.核准 NOT LIKE N'作廢%') AND (採購單明細表.已收貨 = 0)
                 GROUP BY   採購單控制表.採購單號, 採購單控制表.供應商編號, 採購單控制表.需求日期, 採購單控制表.使用地點, 
                            採購單控制表.核對員, 採購單控制表.核對日期, 採購單控制表.詢價員, 採購單控制表.尋價日期, 採購單控制表.核准, 
                            採購單控制表.核准日期, 採購單控制表.簽名檔編號, 採購單控制表.驗證碼, 採購單控制表.請購單號, 
                            採購單控制表.DISC, 採購單控制表.稅, 採購單控制表.PPN, 請購單控制表.合約號, 請購單控制表.乙方, 
                            請購單控制表.甲方, 請購單控制表.立約日, 請購單控制表.序號
                 ORDER BY   請購單控制表.合約號 DESC, 採購單控制表.採購單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料來料驗收與指定入庫_採購明細()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔" : Else : 低網 = "" : End If
        SQL1 = "SELECT      採購單明細表.採購單號 AS 請購單號, 採購單明細表.項次, 採購單明細表.合約號,
                            物料編碼庫轉語言.品名, 物料規格表.A1 AS [規格], 
                            採購單明細表.備註, 採購單明細表.數量, 
                            採購單明細表.單位, 採購單明細表.單價, 
                            採購單明細表.數量 * 採購單明細表.單價 AS [金額], 
                            採購單明細表.已收貨, 採購單明細表.群組碼, 
                            採購單明細表.料號原則, 採購單明細表.料號, 物料規格表.圖檔編號, 採購單明細表.項次, 物料規格表.A2, 物料規格表.A3, 
                            物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, 
                            物料資訊控制表.規格庫編號, 物料資訊控制表.規格庫抬頭指定 " & 低網 & "
                FROM        採購單明細表 INNER JOIN
                            物料圖庫 ON 採購單明細表.群組碼 = 物料圖庫.群組碼 AND 
                            採購單明細表.料號原則 = 物料圖庫.料號原則 INNER JOIN
                            物料編碼庫 ON 採購單明細表.群組碼 = 物料編碼庫.群組碼 AND 
                            採購單明細表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                            物料資訊控制表 ON 採購單明細表.料號原則 = 物料資訊控制表.料號原則 LEFT OUTER JOIN
                            物料規格表 ON 採購單明細表.料號 = 物料規格表.料號 INNER JOIN
                            物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                            物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼
                 WHERE     (採購單明細表.採購單號 LIKE N'" & 採購單驗收.採購單號_tb.Text & "') AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "') AND 
                           (採購單明細表.已收貨 = 0 OR 採購單明細表.已收貨 IS NULL)
                 ORDER BY   採購單明細表.項次"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料來料驗收與指定入庫_未入庫()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔" : Else : 低網 = "" : End If
        SQL1 = "SELECT      HX選擇按鈕.選擇, 採購單明細表.採購單號, 採購單明細表.合約號,
                            物料編碼庫轉語言.品名, 
                            物料規格表.A1 AS [規格], 採購單明細表.備註, 採購單明細表.數量, 
                            採購單明細表.單位, 採購單明細表.料號, 物料規格表.群組碼, 採購單明細表.料號原則, 物料規格表.圖檔編號, 
                            LEFT(採購單控制表.使用地點, 3) AS [地點編號], 採購單控制表.使用地點 AS [地點名稱], 採購單明細表.項次 ,
                            採購單明細表.請購單號, 物料規格表.A2, 物料規格表.A3, 
                            物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 物料規格表.A7, 物料規格表.A8, 
                            物料資訊控制表.規格庫編號, 物料資訊控制表.規格庫抬頭指定, 請購單控制表.乙方, 請購單控制表.甲方, 
                            請購單控制表.立約日, 請購單控制表.序號, 採購單明細表.單價 " & 低網 & "
                FROM        採購單明細表 INNER JOIN
                            物料圖庫 ON 採購單明細表.群組碼 = 物料圖庫.群組碼 AND 
                            採購單明細表.料號原則 = 物料圖庫.料號原則 INNER JOIN
                            採購單控制表 ON 採購單明細表.採購單號 = 採購單控制表.採購單號 INNER JOIN
                            物料編碼庫 ON 採購單明細表.群組碼 = 物料編碼庫.群組碼 AND 
                            採購單明細表.料號原則 = 物料編碼庫.料號原則 LEFT OUTER JOIN
                            物料規格表 ON 採購單明細表.料號 = 物料規格表.料號 LEFT OUTER JOIN
                            HX選擇按鈕 ON 採購單明細表.採購單號 = HX選擇按鈕.對應 LEFT OUTER JOIN
                            物料資訊控制表 ON 採購單明細表.料號原則 = 物料資訊控制表.料號原則 INNER JOIN
                            物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                            物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼 LEFT OUTER JOIN
                            請購單控制表 ON 採購單明細表.請購單號 = 請購單控制表.請購單號
                WHERE      (採購單明細表.已收貨 = 1) AND (採購單明細表.已申請入庫 = 0) AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "') " & PA14 & "
                ORDER BY    採購單明細表.採購單號, 採購單明細表.料號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料來料驗收與指定入庫_入庫明細()
        ConnOpen()
        If 低網速模式 = False Then : 低網 = ", 物料圖庫.圖檔" : Else : 低網 = "" : End If
        SQL1 = "SELECT      倉儲明細表.資料流水號 AS [No],採購單明細表.合約號, 物料編碼庫轉語言.品名, 
                            物料規格表.A1 AS [規格], 倉儲明細表.入庫, 倉儲明細表.出庫, 
                            物料編碼庫.單位, 倉儲明細表.備註, 物料規格表.群組碼, 物料規格表.料號原則, 
                            物料規格表.圖檔編號, 物料規格表.群組碼 AS 群組碼1, 物料規格表.A2, 物料規格表.A3, 物料規格表.A4, 物料規格表.A5, 物料規格表.A6, 
                            物料規格表.A7, 物料規格表.A8, 物料資訊控制表.規格庫編號, 物料資訊控制表.規格庫抬頭指定 " & 低網 & "
                 FROM       物料圖庫 INNER JOIN
                            物料規格表 ON 物料圖庫.群組碼 = 物料規格表.群組碼 AND 
                            物料圖庫.料號原則 = 物料規格表.料號原則 INNER JOIN
                            物料編碼庫 ON 物料規格表.群組碼 = 物料編碼庫.群組碼 AND 
                            物料規格表.料號原則 = 物料編碼庫.料號原則 INNER JOIN
                            物料資訊控制表 ON 物料規格表.群組碼 = 物料資訊控制表.群組碼 AND 
                            物料規格表.料號原則 = 物料資訊控制表.料號原則 RIGHT OUTER JOIN
                            採購單明細表 RIGHT OUTER JOIN
                            倉儲明細表 ON 採購單明細表.料號 = 倉儲明細表.料號 AND 採購單明細表.採購單號 = 倉儲明細表.採購單號 ON 
                            物料規格表.料號 = 倉儲明細表.料號 INNER JOIN
                            物料編碼庫轉語言 ON 物料編碼庫.料號原則 = 物料編碼庫轉語言.料號原則 AND 
                            物料編碼庫.群組碼 = 物料編碼庫轉語言.群組碼
                 WHERE     (倉儲明細表.執行單號 LIKE N'" & PA20 & "') AND (物料編碼庫轉語言.語言 LIKE N'" & 系統語言 & "')
                 ORDER BY   倉儲明細表.資料流水號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_建築物料來料驗收與指定入庫_入庫申請()
        ConnOpen()
        SQL1 = "SELECT 倉儲明細表.執行單號, 倉儲分區控制表.倉名
                FROM 倉儲明細表 LEFT OUTER JOIN 倉儲分區控制表 ON 倉儲明細表.倉級 = 倉儲分區控制表.倉級 AND 倉儲明細表.倉名編號 = 倉儲分區控制表.倉名編號
                WHERE (倉儲明細表.狀態 LIKE N'指定入庫') AND (倉儲明細表.倉庫作業 LIKE N'') AND (倉儲明細表.採購單號 NOT LIKE N'')
                GROUP BY 倉儲明細表.執行單號, 倉儲分區控制表.倉名"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_入庫申請無料號()
        ConnOpen()
        SQL1 = "SELECT     倉儲明細表.資料流水號, 物料編碼庫.原則說明 AS 品名, 採購單明細表.規格, 倉儲明細表.入庫, 倉儲明細表.出庫, 
                           採購單明細表.單位, 倉儲明細表.備註, 物料規格表.群組碼, 物料規格表.料號原則, 物料規格表.圖檔編號, 
                           倉儲明細表.料號
                FROM       物料圖庫 INNER JOIN
                           物料規格表 ON 物料圖庫.群組碼 = 物料規格表.群組碼 AND 
                           物料圖庫.料號原則 = 物料規格表.料號原則 INNER JOIN
                           物料編碼庫 ON 物料規格表.料號原則 = 物料編碼庫.料號原則 RIGHT OUTER JOIN
                           採購單明細表 RIGHT OUTER JOIN
                           倉儲明細表 ON 採購單明細表.料號 = 倉儲明細表.料號 AND 採購單明細表.採購單號 = 倉儲明細表.採購單號 ON 
                           物料規格表.料號 = 倉儲明細表.料號
                WHERE     (物料編碼庫.原則說明 IS NULL)
                ORDER BY   倉儲明細表.資料流水號"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_物料清單一()
        SQL1 = "SELECT 物料編碼庫.群組碼 AS No, 物料編碼庫.料號原則 AS PN_Bagian, 物料編碼庫.原則說明 AS Pernyataan_Prinsip, 物料編碼庫.群組碼, 物料編碼庫.料號原則, 
                       物料編碼庫.單位
                FROM   物料編碼庫 INNER JOIN 物料圖庫 ON 物料編碼庫.群組碼 = 物料圖庫.群組碼 AND 物料編碼庫.料號原則 = 物料圖庫.料號原則
                WHERE  (物料編碼庫.群組碼 LIKE N'" & PA1 & "%')
                ORDER BY   Pernyataan_Prinsip, PN_Bagian"
    End Sub
    Friend Sub SQL_採購單明細表_修改備註()
        ConnOpen()
        SQL1 = "UPDATE 採購單明細表 SET  備註 = N'" & PA6 & "' 
                WHERE (採購單號 LIKE N'" & PA5 & "') AND (請購單號 LIKE N'" & PA4 & "') AND (項次 LIKE N'" & PA10 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料來料驗收與指定入庫_已申請入庫NULL修改()
        ConnOpen() : SQL1 = "UPDATE 採購單明細表 SET 已申請入庫 = N'0' WHERE (已申請入庫 IS NULL)" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料來料驗收與指定入庫_已收貨NULL修改()
        ConnOpen() : SQL1 = "UPDATE 採購單明細表 SET  已收貨 = N'0' WHERE (已收貨 IS NULL)" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_倉儲明細執行單號_執行單號驗證()
        ConnOpen() : SQL1 = "SELECT 執行單號 FROM 倉儲明細執行單號 WHERE (執行單號 LIKE N'" & PA1 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_倉儲明細執行單號_新增()
        ConnOpen() : SQL1 = "INSERT INTO 倉儲明細執行單號 (執行單號) VALUES (N'" & PA1 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_倉儲明細表_備註修改()
        ConnOpen() : SQL1 = "UPDATE 倉儲明細表 SET 備註 = N'" & PA10 & "' WHERE (資料流水號 LIKE N'" & PA11 & "')" : 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 TOP (1) 資料流水號 FROM 倉儲明細表 ORDER BY 資料流水號 DESC" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料來料驗收與指定入庫_倉儲明細表_新增()
        ConnOpen()
        SQL1 = "INSERT INTO 倉儲明細表 (資料流水號, 執行單號, 倉級, 倉名編號, 料號, 入庫, 出庫, 備註, 狀態, 採購單號, 申請人, 申請日期, 審核人, 審核日期, 倉庫作業, 作業日期, 使用位置, 
                                        合約編號, 乙方, 甲方, 序號, 尾號, 單價) 
                VALUES (N'" & PA3 & "',N'" & PA4 & "',N'" & PA5 & "',N'" & PA6 & "',N'" & PA2 & "',N'" & PA7 & "', N'0', N'" & PA9 & "', N'指定入庫', N'" & PA8 & "', N'" & gUserName & "', 
                        N'" & DTP & "', N'', N'', N'', N'', N'', N'" & PA10 & "', N'" & PA11 & "', N'" & PA12 & "', N'" & PA13 & "', N'" & PA14 & "', N'" & PA15 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_建築物料來料驗收與指定入庫_倉儲明細表_新增1()
        ConnOpen()
        SQL1 = "INSERT INTO 倉儲明細表 (資料流水號, 執行單號, 倉級, 倉名編號, 料號, 入庫, 出庫, 備註, 狀態, 採購單號, 申請人, 申請日期, 審核人, 審核日期, 倉庫作業, 作業日期, 使用位置, 
                                        合約編號, 乙方, 甲方, 序號, 尾號, 單價) 
                VALUES (N'" & PA3 & "',N'" & PA4 & "',N'" & PA5 & "',N'" & PA6 & "',N'" & PA2 & "',N'" & PA7 & "', N'0', N'" & PA9 & "', N'指定入庫', N'" & PA8 & "', N'" & gUserName & "', 
                        N'" & DTP & "', N'', N'', N'" & gUserName & "', N'" & DTP & "', N'', N'" & PA10 & "', N'" & PA11 & "', N'" & PA12 & "', N'" & PA13 & "', N'" & PA14 & "', 
                        N'" & PA15 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單明細表_已申請入庫修改()
        ConnOpen() : SQL1 = "UPDATE 採購單明細表 SET 已申請入庫 = N'1' WHERE (採購單號 LIKE N'" & PA8 & "' AND 料號 LIKE N'" & PA2 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_採購單明細表_已收貨修改()
        ConnOpen() : SQL1 = "UPDATE 採購單明細表 SET  已收貨 = N'" & BL1 & "' WHERE (採購單號 LIKE N'" & PA1 & "') AND (項次 LIKE N'" & PA2 & "')" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_請購單控制表_已收貨修改()
        ConnOpen() : SQL1 = "UPDATE 請購單控制表 SET  已收貨 = N'" & BL2 & "' WHERE (採購單號 LIKE N'" & PA3 & "')" : CmdSet_For_dr()
    End Sub
    '---------------------物料採購統計表-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_採購日清單()
        ConnOpen() : SQL1 = "SELECT TOP (12) SUBSTRING(採購單號, 7, 6) AS 採購日  FROM  採購單明細表  GROUP BY  SUBSTRING(採購單號, 7, 6)  ORDER BY 採購日 DESC" : CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_品名清單()
        ConnOpen()
        SQL1 = "SELECT  物料編碼庫轉語言.品名, 物料規格表.A1, 物料規格表.A2, 物料規格表.A3, 物料規格表.A4, 物料規格表.A5, 
                        物料規格表.A6, 物料規格表.A7, 物料規格表.A8, 物料資訊控制表.規格庫抬頭指定, 物料資訊控制表.規格庫編號, 
                        物料規格表.料號
                FROM    物料編碼庫轉語言 INNER JOIN 物料規格表 ON 物料編碼庫轉語言.群組碼 = 物料規格表.群組碼 AND 
                        物料編碼庫轉語言.料號原則 = 物料規格表.料號原則 INNER JOIN 物料資訊控制表 ON 物料編碼庫轉語言.群組碼 = 物料資訊控制表.群組碼 AND 
                        物料編碼庫轉語言.料號原則 = 物料資訊控制表.料號原則
                WHERE  (物料編碼庫轉語言.語言 LIKE '" & 系統語言 & "') AND (物料規格表.群組碼 LIKE '" & PA2 & "%')"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_採購數量清單()
        ConnOpen()
        SQL1 = "SELECT  *  FROM  (SELECT   採購單明細表.料號, 物料編碼庫轉語言.品名, 採購單明細表.料號 AS 規格, 採購單明細表.數字格式 AS 總採購量, 
                                           SUBSTRING(採購單明細表.採購單號, 7, 6) AS 採購日, SUM(採購單明細表.數量) AS 採購數量
                                  FROM     採購單明細表 LEFT OUTER JOIN 物料編碼庫轉語言 ON 採購單明細表.群組碼 = 物料編碼庫轉語言.群組碼 AND 
                                           採購單明細表.料號原則 = 物料編碼庫轉語言.料號原則
                                  WHERE   (物料編碼庫轉語言.語言 LIKE '" & 系統語言 & "') AND (物料編碼庫轉語言.品名 LIKE '%" & PA20 & "%') AND (採購單明細表.數量 > 0) AND 
                                          (物料編碼庫轉語言.群組碼 LIKE '" & PA2 & "') AND (SUBSTRING(採購單明細表.採購單號, 7, 6) BETWEEN '" & PA10 & "' AND '" & PA11 & "')
                                  GROUP BY SUBSTRING(採購單明細表.採購單號, 7, 6), 採購單明細表.料號, 採購單明細表.數字格式, 物料編碼庫轉語言.品名
                                  HAVING   SUM(採購單明細表.數量) > 0) AS X 
                PIVOT (SUM(採購數量) FOR 採購日 IN (" & 清單列表 & ")) AS PVT"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_採購平均單價清單()
        ConnOpen()
        SQL1 = "SELECT  *  FROM  (SELECT    採購單明細表.料號, 物料編碼庫轉語言.品名, 採購單明細表.料號 AS 規格, 採購單明細表.數字格式 AS 總採購量, 
                                            SUBSTRING(採購單明細表.採購單號, 7, 6) AS 採購日, SUM(採購單明細表.單價 * 採購單明細表.數量) / SUM(採購單明細表.數量) AS 平均單價
                                  FROM      採購單明細表 INNER JOIN 物料編碼庫轉語言 ON 採購單明細表.群組碼 = 物料編碼庫轉語言.群組碼 AND 
                                            採購單明細表.料號原則 = 物料編碼庫轉語言.料號原則
                                  WHERE    (物料編碼庫轉語言.語言 LIKE '" & 系統語言 & "') AND (物料編碼庫轉語言.品名 LIKE '%" & PA20 & "%') AND (採購單明細表.數量 > 0) AND 
                                           (物料編碼庫轉語言.群組碼 LIKE '" & PA2 & "%') AND (SUBSTRING(採購單明細表.採購單號, 7, 6) BETWEEN '" & PA10 & "' AND '" & PA11 & "')
                                  GROUP BY  SUBSTRING(採購單明細表.採購單號, 7, 6), 採購單明細表.料號, 採購單明細表.數字格式, 物料編碼庫轉語言.品名 
                                  HAVING   (SUM(採購單明細表.單價 * 採購單明細表.數量) / SUM(採購單明細表.數量) > 0)) AS X 
                PIVOT (SUM(平均單價) FOR 採購日 IN (" & 清單列表 & ")) AS PVT"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_繪圖清單1()
        ConnOpen()
        SQL1 = "SELECT    QQ.採購日, WW.採購數量, WW.料號, WW.平均單價
                FROM     (SELECT     TOP (12) SUBSTRING(採購單號, 7, 6) AS 採購日 FROM 採購單明細表 GROUP BY SUBSTRING(採購單號, 7, 6) ORDER BY 採購日 DESC) AS QQ LEFT OUTER JOIN
                         (SELECT     SUBSTRING(採購單明細表_1.採購單號, 7, 6) AS 採購日, SUM(採購單明細表_1.數量) AS 採購數量, 
                                     物料規格表.料號, SUM(採購單明細表_1.單價 * 採購單明細表_1.數量) / SUM(採購單明細表_1.數量) AS 平均單價
                          FROM       採購單明細表 AS 採購單明細表_1 INNER JOIN 物料規格表 ON 採購單明細表_1.料號 = 物料規格表.料號 INNER JOIN 物料編碼庫轉語言 ON 物料規格表.群組碼 = 
                                     物料編碼庫轉語言.群組碼 AND 物料規格表.料號原則 = 物料編碼庫轉語言.料號原則 INNER JOIN 物料編碼庫 ON 物料規格表.群組碼 = 物料編碼庫.群組碼 AND 
                                     物料規格表.料號原則 = 物料編碼庫.料號原則
                          WHERE    (物料編碼庫轉語言.語言 LIKE '" & 系統語言 & "') AND (物料規格表.料號 LIKE '" & PA1 & "')
                          GROUP BY  SUBSTRING(採購單明細表_1.採購單號, 7, 6), 物料編碼庫轉語言.品名, 物料編碼庫.單位, 物料規格表.料號) AS WW ON QQ.採購日 = WW.採購日
                ORDER BY  QQ.採購日 DESC"
        CmdSet_For_DGV()
    End Sub
End Module
