Module SQL_業務系統管理
    '---------------------客戶資料表-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_客戶資料表_清單()
        ConnOpen()
        If 客戶資料表.查詢_tb.Text = "" Then
            If 客戶資料表.業務_cb.Text = "" Then
                SQL1 = "SELECT 流水號, 流水號 AS 項次, 舊編 AS 編號, 名稱 AS 客戶, 電話1, 電話2, 公司名稱, 統編, 地址 FROM 客戶資料表 
                        ORDER BY 舊編"
            Else
                SQL1 = "SELECT 流水號, 流水號 AS 項次, 舊編 AS 編號, 名稱 AS 客戶, 電話1, 電話2, 公司名稱, 統編, 地址 FROM 客戶資料表 
                        WHERE 舊編 LIKE N'" & 客戶資料表.業務_cb.Text & "%' ORDER BY 舊編"
            End If
        Else
            If 客戶資料表.業務_cb.Text = "" Then
                SQL1 = "SELECT 流水號, 流水號 AS 項次, 舊編 AS 編號, 名稱 AS 客戶, 電話1, 電話2, 公司名稱, 統編, 地址 FROM 客戶資料表 
                        WHERE (名稱 LIKE N'%" & PA & "%' OR 電話1 LIKE N'%" & PA & "%' OR 電話2 LIKE N'%" & PA & "%' OR 地址 LIKE N'%" & PA & "%') ORDER BY 舊編"
            Else
                SQL1 = "SELECT 流水號, 流水號 AS 項次, 舊編 AS 編號, 名稱 AS 客戶, 電話1, 電話2, 公司名稱, 統編, 地址 FROM 客戶資料表 
                        WHERE (舊編 LIKE N'" & 客戶資料表.業務_cb.Text & "%') AND (名稱 LIKE N'%" & PA & "%' OR 電話1 LIKE N'%" & PA & "%' OR 
                               電話2 LIKE N'%" & PA & "%' OR 地址 LIKE N'%" & PA & "%') 
                        ORDER BY 舊編"
            End If
        End If
        CmdSet_For_DGV()
    End Sub
    '---------------------銷售單申請-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_銷售控制表_最後一筆資料()
        ConnOpen() : SQL1 = "SELECT TOP (1) 流水號 FROM 銷售控制表 ORDER BY 流水號 DESC" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_銷售控制表_單號是否重複()
        ConnOpen() : SQL1 = "SELECT TOP (1) 單號 FROM 銷售控制表 WHERE 單號 LIKE '" & PA & "'" : CmdSet_For_dr()
    End Sub
    Friend Sub SQL_銷售控制表_新增()
        ConnOpen()
        SQL1 = "INSERT INTO 銷售控制表 (流水號, 單號, 開單日期, 客戶編號, 交貨日期, 含稅, 單位主管, 審核日期, 業務人員, 稅金) 
                VALUES (N'" & PA1 & "', '" & PA & "', '" & DTP & "', N'', '" & DTP2 & "', N'0', N'', N'', N'" & gUserName & "', '0')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_銷售控制表_新增_無須審核()
        ConnOpen()
        SQL1 = "INSERT INTO 銷售控制表 (流水號, 單號, 開單日期, 客戶編號, 交貨日期, 含稅, 單位主管, 審核日期, 業務人員, 稅金) 
                VALUES (N'" & PA1 & "', '" & PA & "', '" & DTP & "', N'', '" & DTP2 & "', N'0', N'呂宜嫺', N'" & DTP & "', N'" & gUserName & "', '0')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_銷售收款事項_新增()
        ConnOpen()
        SQL1 = "INSERT INTO 銷售收款事項 (資料流水號, 單號, 項次, 內容, 金額) VALUES (N'" & PA1 & "', '" & PA & "', N'0', N'未收餘額', N'0')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_銷售控制表()
        If 銷售單申請.已審核資料_ch.Checked = True Then
            SQL2 = " WHERE 單號 LIKE '" & PA19 & "%' AND 單位主管 NOT LIKE '作廢%' "
        Else
            SQL2 = " WHERE 單號 LIKE '" & PA19 & "%' AND 單位主管 LIKE '' "
        End If
        ConnOpen()
        SQL1 = "SELECT 流水號, 單號, 開單日期, 客戶編號, 交貨日期, 含稅, 單位主管, 審核日期, 業務人員, 送貨地點, 運費, 稅金, 已出貨 AS 出貨, 轉高層, 稅金另扣
                FROM   銷售控制表 " & SQL2 & " ORDER BY   CHARINDEX(LEFT(單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL料號查詢簡稱()
        ConnOpen() : SQL1 = "SELECT  簡稱  FROM 供應商資料表 WHERE (編號 LIKE N'" & PA30 & "')" : CmdSet_For_dr()
    End Sub
    '---------------------銷售單號修改-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_銷售控制表1()
        If 業務單號修改功能.已審核資料_ch.Checked = True Then
            SQL2 = " WHERE 單號 LIKE '" & PA19 & "%' AND 單位主管 NOT LIKE '作廢%' "
        Else
            SQL2 = " WHERE 單號 LIKE '" & PA19 & "%' AND 單位主管 LIKE '' "
        End If
        ConnOpen()
        SQL1 = "SELECT 流水號, 單號, 開單日期, 客戶編號, 交貨日期, 含稅, 單位主管, 審核日期, 業務人員, 送貨地點, 運費, 稅金
                FROM   銷售控制表 " & SQL2 & " ORDER BY   CHARINDEX(LEFT(單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售單號修改()
        ConnOpen() : SQL1 = "UPDATE  採購控制表 SET 銷售單號 = N'" & 業務單號修改功能.新單號_tb.Text & "' WHERE (銷售單號 LIKE N'" & 業務單號修改功能.舊單號_tb.Text & "')" : CmdSet_For_dr()
        ConnOpen() : SQL1 = "UPDATE  銷售明細表 SET 單號 = N'" & 業務單號修改功能.新單號_tb.Text & "' WHERE (單號 LIKE N'" & 業務單號修改功能.舊單號_tb.Text & "')" : CmdSet_For_dr()
        ConnOpen() : SQL1 = "UPDATE  銷售備註表 SET 單號 = N'" & 業務單號修改功能.新單號_tb.Text & "' WHERE (單號 LIKE N'" & 業務單號修改功能.舊單號_tb.Text & "')" : CmdSet_For_dr()
        ConnOpen() : SQL1 = "UPDATE  銷售控制表 SET 單號 = N'" & 業務單號修改功能.新單號_tb.Text & "' WHERE (單號 LIKE N'" & 業務單號修改功能.舊單號_tb.Text & "')" : CmdSet_For_dr()
        ConnOpen() : SQL1 = "UPDATE  銷售衍生運費 SET 單號 = N'" & 業務單號修改功能.新單號_tb.Text & "' WHERE (單號 LIKE N'" & 業務單號修改功能.舊單號_tb.Text & "')" : CmdSet_For_dr()
        ConnOpen() : SQL1 = "UPDATE  銷售收款事項 SET 單號 = N'" & 業務單號修改功能.新單號_tb.Text & "' WHERE (單號 LIKE N'" & 業務單號修改功能.舊單號_tb.Text & "')" : CmdSet_For_dr()
        ConnOpen() : SQL1 = "UPDATE  採購訂製圖庫 SET 單號 = N'" & 業務單號修改功能.新單號_tb.Text & "' WHERE (單號 LIKE N'" & 業務單號修改功能.舊單號_tb.Text & "')" : CmdSet_For_dr()
    End Sub
    '---------------------銷售單審核-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_銷售控制表_審核()
        If 銷售單審核.已審核資料_ch.Checked = True Then
            SQL2 = " WHERE 單號 LIKE '" & PA19 & "%' AND 客戶編號 NOT LIKE '' AND 單位主管 NOT LIKE '作廢%' "
        Else
            SQL2 = " WHERE 單號 LIKE '" & PA19 & "%' AND 客戶編號 NOT LIKE '' AND 單位主管 LIKE '' "
        End If

        ConnOpen()
        SQL1 = "SELECT 流水號, 單號, 開單日期, 客戶編號, 交貨日期, 含稅, 單位主管, 審核日期, 業務人員, 送貨地點, 運費, 稅金, 稅金另扣
                FROM   銷售控制表 " & SQL2 & " ORDER BY   CHARINDEX(LEFT(單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售控制表_審核確認()
        ConnOpen()
        SQL1 = "UPDATE 銷售控制表 SET 單位主管 = N'" & PA & "', 審核日期 = N'" & DTP & "' WHERE 單號 LIKE '" & PA1 & "%'"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_銷售單審核_連帶作廢倉儲明細表()
        ConnOpen()
        SQL1 = "UPDATE 倉儲明細表 SET 審核人 = N'" & PA10 & "', 審核日期 = N'" & DTP & "', 倉庫作業 = N'" & PA9 & "', 作業日期 = N'" & DTP2 & "' WHERE (採購單號 LIKE N'" & PA11 & "')"
        CmdSet_For_dr()
    End Sub
    '---------------------訂單控制表-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_銷售控制表_訂單控制表()
        ConnOpen()
        SQL1 = "SELECT      銷售控制表.流水號, 銷售控制表.單號, 客戶資料表.名稱, 銷售控制表.開單日期, 銷售控制表.交貨日期, 
                            銷售控制表.含稅, 銷售控制表.單位主管, 銷售控制表.審核日期, 銷售收款事項.內容, 銷售收款事項.金額 AS 未收額額, 
                            銷售控制表.送貨地點, 銷售控制表.運費, 銷售控制表.客戶編號, 客戶資料表.電話1, 客戶資料表.電話2, 
                            客戶資料表.地址, 客戶資料表.公司名稱, 客戶資料表.統編, 銷售控制表.稅金, 銷售控制表.已出貨 AS 出貨, 
                            銷售控制表.轉業績日期, 銷售控制表.已出貨 AS 已結單, 銷售控制表.銷貨總額, 銷售控制表.稅金另扣
                FROM        銷售控制表 INNER JOIN
                            客戶資料表 ON 銷售控制表.客戶編號 = 客戶資料表.舊編 INNER JOIN
                                (SELECT          銷售明細表.單號
                                  FROM               銷售明細表 INNER JOIN
                                                              物料資料庫 ON 銷售明細表.料號 = 物料資料庫.料號
                                  WHERE           (銷售明細表.料號 LIKE N'%" & PA21 & "%') OR
                                                              (銷售明細表.備註 LIKE N'%" & PA21 & "%') OR
                                                              (物料資料庫.品名 LIKE N'%" & PA21 & "%')
                                  GROUP BY    銷售明細表.單號) AS QQQ ON 銷售控制表.單號 = QQQ.單號 LEFT OUTER JOIN
                            銷售收款事項 ON 銷售控制表.單號 = 銷售收款事項.單號
                WHERE      (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售收款事項.內容 LIKE '未收餘額') AND (客戶資料表.名稱 LIKE N'%" & PA20 & "%') OR
                           (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售收款事項.內容 LIKE '未收餘額') AND (客戶資料表.電話1 LIKE N'%" & PA20 & "%') OR
                           (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售收款事項.內容 LIKE '未收餘額') AND (客戶資料表.電話2 LIKE N'%" & PA20 & "%') OR
                           (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售收款事項.內容 LIKE '未收餘額') AND (客戶資料表.地址 LIKE N'%" & PA20 & "%') OR
                           (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售收款事項.內容 LIKE '未收餘額') AND (客戶資料表.公司名稱 LIKE N'%" & PA20 & "%') OR
                           (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售收款事項.內容 LIKE '未收餘額') AND (客戶資料表.統編 LIKE N'%" & PA20 & "%')
                ORDER BY   CHARINDEX(LEFT(銷售控制表.單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 銷售控制表.單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售控制表_訂單控制表1()
        ConnOpen()
        SQL1 = "SELECT      銷售控制表.流水號, 銷售控制表.單號, 客戶資料表.名稱, 銷售控制表.開單日期, 銷售控制表.交貨日期, 
                            銷售控制表.含稅, 銷售控制表.單位主管, 銷售控制表.審核日期, 銷售收款事項.內容, 銷售收款事項.金額 AS 未收額額, 
                            銷售控制表.送貨地點, 銷售控制表.運費, 銷售控制表.客戶編號, 客戶資料表.電話1, 客戶資料表.電話2, 
                            客戶資料表.地址, 客戶資料表.公司名稱, 客戶資料表.統編, 銷售控制表.稅金, 銷售控制表.已出貨 AS 出貨, 
                            銷售控制表.轉業績日期, 銷售控制表.已出貨 AS 已結單, 銷售控制表.銷貨總額, 銷售控制表.稅金另扣
                FROM        銷售控制表 INNER JOIN
                            客戶資料表 ON 銷售控制表.客戶編號 = 客戶資料表.舊編 INNER JOIN
                                (SELECT          銷售明細表.單號
                                  FROM               銷售明細表 INNER JOIN
                                                              物料資料庫 ON 銷售明細表.料號 = 物料資料庫.料號
                                  WHERE           (銷售明細表.料號 LIKE N'%" & PA21 & "%') OR
                                                              (銷售明細表.備註 LIKE N'%" & PA21 & "%') OR
                                                              (物料資料庫.品名 LIKE N'%" & PA21 & "%')
                                  GROUP BY    銷售明細表.單號) AS QQQ ON 銷售控制表.單號 = QQQ.單號 LEFT OUTER JOIN
                            銷售收款事項 ON 銷售控制表.單號 = 銷售收款事項.單號
                WHERE      (銷售收款事項.內容 LIKE '%" & PA22 & "%') AND (客戶資料表.名稱 LIKE N'%" & PA20 & "%') OR
                           (銷售收款事項.內容 LIKE '%" & PA22 & "%') AND (客戶資料表.電話1 LIKE N'%" & PA20 & "%') OR
                           (銷售收款事項.內容 LIKE '%" & PA22 & "%') AND (客戶資料表.電話2 LIKE N'%" & PA20 & "%') OR
                           (銷售收款事項.內容 LIKE '%" & PA22 & "%') AND (客戶資料表.地址 LIKE N'%" & PA20 & "%') OR
                           (銷售收款事項.內容 LIKE '%" & PA22 & "%') AND (客戶資料表.公司名稱 LIKE N'%" & PA20 & "%') OR
                           (銷售收款事項.內容 LIKE '%" & PA22 & "%') AND (客戶資料表.統編 LIKE N'%" & PA20 & "%')
                ORDER BY   CHARINDEX(LEFT(銷售控制表.單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 銷售控制表.單號 DESC"
        CmdSet_For_DGV()
    End Sub
    '---------------------銷售分析表-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_銷售分析表_物料明細()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(銷售控制表.交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(銷售控制表.開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT      銷售控制表.單號 AS 項次, 銷售控制表.單號, 銷售明細表.料號, 供應商資料表.簡稱 AS 供應商, 物料資料庫.品名, 倉儲分區控制表.倉名, 
                            物料訂製狀態.訂製, 倉儲狀態.狀態, 銷售明細表.備註, 銷售明細表.數量, 銷售明細表.成本, 銷售明細表.售價 AS 單價, 銷售明細表.含稅, 銷售明細表.售價, 
                            銷售明細表.狀態 AS 倉儲情況
                FROM        倉儲狀態 RIGHT OUTER JOIN
                            銷售明細表 ON 倉儲狀態.編碼 = 銷售明細表.物料狀態 LEFT OUTER JOIN
                            物料訂製狀態 ON 銷售明細表.訂製狀態 = 物料訂製狀態.編碼 LEFT OUTER JOIN
                            倉儲分區控制表 ON 銷售明細表.倉儲狀態 = 倉儲分區控制表.倉名編號 LEFT OUTER JOIN
                            物料資料庫 INNER JOIN
                            供應商資料表 ON 物料資料庫.供應商編號 = 供應商資料表.編號 ON 
                            銷售明細表.料號 = 物料資料庫.料號 LEFT OUTER JOIN
                            銷售控制表 ON 銷售明細表.單號 = 銷售控制表.單號
                WHERE      (銷售控制表.單號 NOT LIKE '4%') AND (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售明細表.料號 NOT LIKE '1001%') AND  " & SQL2 & " 
                ORDER BY   CHARINDEX(LEFT(銷售控制表.單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 銷售控制表.單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售分析表_物料明細1()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(銷售控制表.交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(銷售控制表.開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT      LEFT(銷售控制表.單號, 2) AS 項次, LEFT(銷售控制表.單號, 2) AS 業務, SUM(銷售明細表.數量 * 銷售明細表.售價) AS 銷售
                FROM        倉儲狀態 RIGHT OUTER JOIN
                            銷售明細表 ON 倉儲狀態.編碼 = 銷售明細表.物料狀態 LEFT OUTER JOIN
                            物料訂製狀態 ON 銷售明細表.訂製狀態 = 物料訂製狀態.編碼 LEFT OUTER JOIN
                            倉儲分區控制表 ON 銷售明細表.倉儲狀態 = 倉儲分區控制表.倉名編號 LEFT OUTER JOIN
                            物料資料庫 INNER JOIN
                            供應商資料表 ON 物料資料庫.供應商編號 = 供應商資料表.編號 ON 
                            銷售明細表.料號 = 物料資料庫.料號 LEFT OUTER JOIN
                            銷售控制表 ON 銷售明細表.單號 = 銷售控制表.單號
                WHERE      (銷售控制表.單號 NOT LIKE '4%') AND (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售明細表.料號 NOT LIKE '1001%') AND  " & SQL2 & " 
                GROUP BY    LEFT(銷售控制表.單號, 2)
                ORDER BY    銷售 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售分析表_它項明細()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(銷售控制表.交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(銷售控制表.開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT      銷售控制表.單號 AS 項次, 銷售控制表.單號, 銷售明細表.料號, 供應商資料表.簡稱 AS 供應商, 物料資料庫.品名, 倉儲分區控制表.倉名, 
                            物料訂製狀態.訂製, 倉儲狀態.狀態, 銷售明細表.備註, 銷售明細表.數量, 銷售明細表.成本, 銷售明細表.售價 AS 單價, 銷售明細表.含稅, 銷售明細表.售價, 
                            銷售明細表.狀態 AS 倉儲情況
                FROM        倉儲狀態 RIGHT OUTER JOIN
                            銷售明細表 ON 倉儲狀態.編碼 = 銷售明細表.物料狀態 LEFT OUTER JOIN
                            物料訂製狀態 ON 銷售明細表.訂製狀態 = 物料訂製狀態.編碼 LEFT OUTER JOIN
                            倉儲分區控制表 ON 銷售明細表.倉儲狀態 = 倉儲分區控制表.倉名編號 LEFT OUTER JOIN
                            物料資料庫 INNER JOIN
                            供應商資料表 ON 物料資料庫.供應商編號 = 供應商資料表.編號 ON 
                            銷售明細表.料號 = 物料資料庫.料號 LEFT OUTER JOIN
                            銷售控制表 ON 銷售明細表.單號 = 銷售控制表.單號
                WHERE      (銷售控制表.單號 NOT LIKE '4%') AND (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售明細表.料號 LIKE '1001%') AND (銷售明細表.成本 > 0) AND " & SQL2 & " 
                ORDER BY   CHARINDEX(LEFT(銷售控制表.單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 銷售控制表.單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售分析表_它項明細1()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(銷售控制表.交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(銷售控制表.開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT      供應商資料表.簡稱 AS 項次, 供應商資料表.簡稱 AS 銷售它項, SUM((銷售明細表.數量 * 銷售明細表.售價) - (銷售明細表.數量 * 銷售明細表.成本)) AS 它項收支
                FROM        倉儲狀態 RIGHT OUTER JOIN
                            銷售明細表 ON 倉儲狀態.編碼 = 銷售明細表.物料狀態 LEFT OUTER JOIN
                            物料訂製狀態 ON 銷售明細表.訂製狀態 = 物料訂製狀態.編碼 LEFT OUTER JOIN
                            倉儲分區控制表 ON 銷售明細表.倉儲狀態 = 倉儲分區控制表.倉名編號 LEFT OUTER JOIN
                            物料資料庫 INNER JOIN
                            供應商資料表 ON 物料資料庫.供應商編號 = 供應商資料表.編號 ON 
                            銷售明細表.料號 = 物料資料庫.料號 LEFT OUTER JOIN
                            銷售控制表 ON 銷售明細表.單號 = 銷售控制表.單號
                WHERE      (銷售控制表.單號 NOT LIKE '4%') AND (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售明細表.料號 LIKE '1001%') AND (銷售明細表.成本 > 0) AND " & SQL2 & " 
                GROUP BY    供應商資料表.簡稱
                ORDER BY    它項收支"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售分析表_銷售備註()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(銷售控制表.交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(銷售控制表.開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT     銷售控制表.單號 AS 項次, 銷售備註表.單號, 銷售備註表.備註, 銷售備註表.收入, 銷售備註表.支出
                FROM       銷售備註表 INNER JOIN 銷售控制表 ON 銷售備註表.單號 = 銷售控制表.單號
                WHERE     (銷售控制表.單號 Not Like '4%') AND (銷售控制表.單號 LIKE '" & PA19 & "%') AND ((銷售備註表.收入 > 0) OR (銷售備註表.支出 > 0)) AND " & SQL2 & " 
                ORDER BY   銷售控制表.單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售分析表_銷售備註1()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(銷售控制表.交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(銷售控制表.開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT     LEFT(銷售控制表.單號, 2) AS 項次, LEFT(銷售控制表.單號, 2) AS 業務, SUM(銷售備註表.收入 - 銷售備註表.支出) AS 其他收支
                FROM       銷售備註表 INNER JOIN 銷售控制表 ON 銷售備註表.單號 = 銷售控制表.單號
                WHERE     (銷售控制表.單號 Not Like '4%') AND (銷售控制表.單號 LIKE '" & PA19 & "%') AND ((銷售備註表.收入 > 0) OR (銷售備註表.支出 > 0)) AND " & SQL2 & " 
                GROUP BY   LEFT(銷售控制表.單號, 2)
                ORDER BY   其他收支"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售分析表_稅金()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(銷售控制表.交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(銷售控制表.開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT     單號 AS 項次, 單號, 稅金
                FROM       銷售控制表
                WHERE     (單號 Not Like '4%') AND (單號 LIKE '" & PA19 & "%') AND (稅金 > 0) AND " & SQL2 & " 
                ORDER BY   單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售分析表_稅金1()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(銷售控制表.交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(銷售控制表.開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT     LEFT(單號,1) AS 項次, LEFT(單號,1) AS 業務, SUM(稅金) AS 稅金
                FROM       銷售控制表
                WHERE     (單號 Not Like '4%') AND (單號 LIKE '" & PA19 & "%') AND (稅金 > 0) AND " & SQL2 & " 
                GROUP BY   LEFT(單號,1)
                ORDER BY   稅金 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售分析表_運費()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT     單號 AS 項次, 單號, 送貨地點, 運費 FROM 銷售控制表 WHERE  (單號 Not Like '4%') AND (單號 LIKE '" & PA19 & "%') AND (運費 > 0) AND " & SQL2 & " 
                ORDER BY   CHARINDEX(LEFT(單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售分析表_運費1()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT  送貨地點 AS 項次, 送貨地點, SUM(運費) AS 運費 FROM 銷售控制表 WHERE  (單號 Not Like '4%') AND (單號 LIKE '" & PA19 & "%') AND (運費 > 0) AND " & SQL2 & "
                GROUP BY 送貨地點 ORDER BY 運費 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_銷售分析表_廠商彙總()
        If 銷售分析表.依開單日期_ch.Checked = False Then
            SQL2 = "(交貨日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 銷售分析表.依開單日期_ch.Checked = True Then
            SQL2 = "(開單日期 BETWEEN '" & Format(銷售分析表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(銷售分析表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT          AAA.項次, AAA.編號, AAA.供應商, AAA.成本預估, 系統比例用空白圖片.圖片 AS 成本佔比
                FROM              系統比例用空白圖片 RIGHT OUTER JOIN
                                (SELECT          物料資料庫.供應商編號 AS 項次, 物料資料庫.供應商編號 AS 編號, 供應商資料表.簡稱 AS 供應商, 
                                                              SUM(銷售明細表.數量 * 銷售明細表.成本) AS 成本預估, 物料資料庫.進度條用空白
                                  FROM               銷售明細表 LEFT OUTER JOIN
                                                              物料資料庫 INNER JOIN
                                                              供應商資料表 ON 物料資料庫.供應商編號 = 供應商資料表.編號 ON 
                                                              銷售明細表.料號 = 物料資料庫.料號 LEFT OUTER JOIN
                                                              銷售控制表 ON 銷售明細表.單號 = 銷售控制表.單號
                                  WHERE      (銷售控制表.單號 Not Like '4%') AND (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售明細表.料號 NOT LIKE '1001%') AND (銷售明細表.成本 > 0) AND 
                                             (銷售明細表.售價 > 0) AND " & SQL2 & "
                                  GROUP BY    供應商資料表.簡稱, 物料資料庫.供應商編號, 物料資料庫.進度條用空白) AS AAA ON 
                            系統比例用空白圖片.選擇 = AAA.進度條用空白
                ORDER BY   AAA.成本預估 DESC"
        CmdSet_For_DGV()
    End Sub
    '---------------------貨款試算表-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_貨款試算表_廠商彙總()
        If 貨款試算表.依開單日期_ch.Checked = False Then
            SQL2 = "(交貨日期 BETWEEN '" & Format(貨款試算表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(貨款試算表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 貨款試算表.依開單日期_ch.Checked = True Then
            SQL2 = "(開單日期 BETWEEN '" & Format(貨款試算表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(貨款試算表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT          AAA.項次, AAA.編號, AAA.供應商, AAA.預估進貨, 系統比例用空白圖片.圖片 AS 成本佔比
                FROM              系統比例用空白圖片 RIGHT OUTER JOIN
                                (SELECT          物料資料庫.供應商編號 AS 項次, 物料資料庫.供應商編號 AS 編號, 供應商資料表.簡稱 AS 供應商, 
                                                              SUM(銷售明細表.數量 * 銷售明細表.成本) AS 預估進貨, 物料資料庫.進度條用空白
                                  FROM               銷售明細表 LEFT OUTER JOIN
                                                              物料資料庫 INNER JOIN
                                                              供應商資料表 ON 物料資料庫.供應商編號 = 供應商資料表.編號 ON 
                                                              銷售明細表.料號 = 物料資料庫.料號 LEFT OUTER JOIN
                                                              銷售控制表 ON 銷售明細表.單號 = 銷售控制表.單號
                                  WHERE      (銷售控制表.單號 Not Like '4%') AND (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售明細表.料號 NOT LIKE '1001%') AND (銷售明細表.成本 > 0) AND 
                                             (銷售明細表.售價 > 0) AND (銷售明細表.倉儲狀態 LIKE 'N03') AND " & SQL2 & "
                                  GROUP BY    供應商資料表.簡稱, 物料資料庫.供應商編號, 物料資料庫.進度條用空白) AS AAA ON 
                            系統比例用空白圖片.選擇 = AAA.進度條用空白
                ORDER BY   AAA.預估進貨 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_貨款試算表_物料明細()
        If 貨款試算表.依開單日期_ch.Checked = False Then
            SQL2 = "(銷售控制表.交貨日期 BETWEEN '" & Format(貨款試算表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(貨款試算表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        ElseIf 貨款試算表.依開單日期_ch.Checked = True Then
            SQL2 = "(銷售控制表.開單日期 BETWEEN '" & Format(貨款試算表.開始日期_dtp.Value, "yyyy/MM/dd") & "' AND '" & Format(貨款試算表.結束日期_dtp.Value, "yyyy/MM/dd") & "')"
        End If
        ConnOpen()
        SQL1 = "SELECT      銷售控制表.單號 AS 項次, 銷售控制表.單號, 銷售明細表.料號, 供應商資料表.簡稱 AS 供應商, 物料資料庫.品名, 倉儲分區控制表.倉名, 
                            物料訂製狀態.訂製, 倉儲狀態.狀態, 銷售明細表.備註, 銷售明細表.數量, 銷售明細表.成本, 銷售明細表.售價 AS 單價, 銷售明細表.含稅, 銷售明細表.售價 AS 金額, 
                            銷售明細表.狀態 AS 倉儲情況
                FROM        倉儲狀態 RIGHT OUTER JOIN
                            銷售明細表 ON 倉儲狀態.編碼 = 銷售明細表.物料狀態 LEFT OUTER JOIN
                            物料訂製狀態 ON 銷售明細表.訂製狀態 = 物料訂製狀態.編碼 LEFT OUTER JOIN
                            倉儲分區控制表 ON 銷售明細表.倉儲狀態 = 倉儲分區控制表.倉名編號 LEFT OUTER JOIN
                            物料資料庫 INNER JOIN
                            供應商資料表 ON 物料資料庫.供應商編號 = 供應商資料表.編號 ON 
                            銷售明細表.料號 = 物料資料庫.料號 LEFT OUTER JOIN
                            銷售控制表 ON 銷售明細表.單號 = 銷售控制表.單號
                WHERE      (銷售控制表.單號 NOT LIKE '4%') AND (銷售控制表.單號 LIKE '" & PA20 & "%')AND (銷售明細表.料號 LIKE '" & PA19 & "%') AND (銷售明細表.料號 NOT LIKE '1001%') AND 
                           (銷售明細表.成本 > 0) AND (銷售明細表.售價 > 0) AND (銷售明細表.倉儲狀態 LIKE 'N03') AND " & SQL2 & " 
                ORDER BY   CHARINDEX(LEFT(銷售控制表.單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 銷售控制表.單號 DESC"
        CmdSet_For_DGV()
    End Sub
    '---------------------應收帳款未收-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_應收帳款未收_訂單控制表()
        ConnOpen()
        SQL1 = "SELECT      銷售控制表.流水號, 銷售控制表.單號, 客戶資料表.名稱, 銷售控制表.開單日期, 銷售控制表.交貨日期, 
                            銷售控制表.含稅, 銷售控制表.單位主管, 銷售控制表.審核日期, 銷售收款事項_1.內容, 銷售收款事項_1.金額, 
                            銷售控制表.送貨地點, 銷售控制表.運費, 銷售控制表.客戶編號, 客戶資料表.電話1, 客戶資料表.電話2, 
                            客戶資料表.地址, 客戶資料表.公司名稱, 客戶資料表.統編, 銷售控制表.稅金, QQQ.轉財務
                FROM        銷售控制表 LEFT OUTER JOIN
                            客戶資料表 ON 銷售控制表.客戶編號 = 客戶資料表.舊編 LEFT OUTER JOIN
                                (SELECT  單號, 收支單號, 轉財務
                                  FROM   銷售收款事項
                                  WHERE (收支單號 IS NOT NULL) OR (收支單號 NOT LIKE '')
                                  GROUP BY    單號, 收支單號, 轉財務) AS QQQ ON 銷售控制表.單號 = QQQ.單號 LEFT OUTER JOIN
                            銷售收款事項 AS 銷售收款事項_1 ON 銷售控制表.單號 = 銷售收款事項_1.單號
                WHERE      (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售收款事項_1.內容 LIKE '未收餘額') AND (銷售收款事項_1.金額 > 0) AND (客戶資料表.名稱 LIKE N'%" & PA20 & "%' OR 
                            客戶資料表.電話1 LIKE N'%" & PA20 & "%' OR 客戶資料表.電話2 LIKE N'%" & PA20 & "%' OR 客戶資料表.地址 LIKE N'%" & PA20 & "%' OR 
                            客戶資料表.公司名稱 LIKE N'%" & PA20 & "%' OR 客戶資料表.統編 LIKE N'%" & PA20 & "%') " & SQL2 & "
                GROUP BY    銷售控制表.流水號, 銷售控制表.單號, 客戶資料表.名稱, 銷售控制表.開單日期, 銷售控制表.交貨日期, 
                            銷售控制表.含稅, 銷售控制表.單位主管, 銷售控制表.審核日期, 銷售收款事項_1.內容, 銷售收款事項_1.金額, 
                            銷售控制表.送貨地點, 銷售控制表.運費, 銷售控制表.客戶編號, 客戶資料表.電話1, 客戶資料表.電話2, 
                            客戶資料表.地址, 客戶資料表.公司名稱, 客戶資料表.統編, 銷售控制表.稅金, QQQ.轉財務
                ORDER BY   CHARINDEX(LEFT(銷售控制表.單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 銷售控制表.單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_應收帳款未收_查詢公帳控制表會計科目()
        ConnOpen()
        SQL1 = "SELECT 會計科目, 編號 FROM 會計科目 WHERE (LEFT(編號, 7) LIKE N'" & 應收帳款未收.ComboBox4.Text & "') AND (停用 = 0) AND (統制科目 = 0) ORDER BY 編號"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款未收_查詢最後一筆公帳控制表會計科目()
        ConnOpen()
        SQL1 = "SELECT 第一階, LEFT(編號, 4) AS 編號 FROM 會計科目  WHERE (停用 = 0) GROUP BY 第一階, LEFT(編號, 4) ORDER BY 編號"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款未收_查詢最左邊公帳控制表會計科目()
        ConnOpen()
        SQL1 = "SELECT LEFT(編號, 7) AS 編號, 第二階, 層級 FROM  會計科目 WHERE (LEFT(編號, 4) LIKE N'" & 應收帳款未收.會科碼1_ch.Text & "') AND (層級 NOT LIKE '3') AND (停用 = 0)
                GROUP BY   LEFT(編號, 7), 第二階, 層級 ORDER BY   編號"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款未收_轉財務Null為False()
        ConnOpen()
        SQL1 = "UPDATE  銷售收款事項 SET 轉財務 = 0 WHERE (轉財務 Is NULL)"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_銷售衍生運費_轉財務Null為False()
        ConnOpen()
        SQL1 = "UPDATE  銷售衍生運費 SET 轉財務 = 0 WHERE (轉財務 Is NULL)"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_銷售備註表_轉財務Null為False()
        ConnOpen()
        SQL1 = "UPDATE  銷售備註表 SET 轉財務 = 0 WHERE (轉財務 Is NULL)"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款未收_新增公帳流水帳資料()
        ConnOpen()
        SQL1 = "INSERT INTO 公帳流水帳 (流水號, 銀行, 日期, 類別, 收入, 支出, 明細, 人員, 支付單號, 項次, 會計, 出納, 現金, 備用金, 公帳, 支票, 
                            出納日期, 零用金, 支票數, 匯率, 備註, 含稅) " &
                   "VALUES (N'" & PA19 & "', N'" & 應收帳款未收.幣別_cb.Text & "', N'" & DTP & "', N'" & 應收帳款未收.ComboBox6.Text & "', N'0', N'0', N'', N'" & gUserName & "', N'" & 應收帳款未收.營運成本收支單號_tb.Text & "', N'" & PA15 &
                        "', N'0', N'0', N'0', N'0', N'0', N'0', N'" & DTP & "', N'0', N'0', N'" & PA16 & "', N'' ,'0')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款未收_查詢最後一筆公帳支付單號()
        ConnOpen()
        SQL1 = "SELECT TOP(1) 項次 FROM 公帳流水帳 WHERE 支付單號 LIKE '" & 應收帳款未收.營運成本收支單號_tb.Text & "' ORDER BY 項次 DESC"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款未收_轉財務()
        ConnOpen()
        SQL1 = "UPDATE  銷售收款事項 SET 收支單號 = N'" & PA & "', 轉財務 = 1 WHERE (資料流水號 LIKE '" & PA12 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款未收_轉財務_退回()
        ConnOpen()
        SQL1 = "UPDATE  銷售收款事項 SET 收支單號 = N'', 轉財務 = 0 WHERE (資料流水號 LIKE '" & PA12 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_銷售衍生運費_轉財務()
        ConnOpen()
        SQL1 = "UPDATE  銷售衍生運費 SET 收支單號 = N'" & PA & "', 轉財務 = 1 WHERE (資料流水號 LIKE '" & PA12 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_銷售備註表_轉財務()
        ConnOpen()
        SQL1 = "UPDATE  銷售備註表 SET 收支單號 = N'" & PA & "', 轉財務 = 1 WHERE (資料流水號 LIKE '" & PA12 & "')"
        CmdSet_For_dr()
    End Sub
    '---------------------應收帳款已收-----------------------------------------------------------------------------------------------------------------
    Friend Sub SQL_應收帳款已收_訂單控制表()
        ConnOpen()
        SQL1 = "SELECT      銷售控制表.流水號, 銷售控制表.單號, 客戶資料表.名稱, 銷售控制表.開單日期, 銷售控制表.交貨日期, 
                            銷售控制表.含稅, 銷售控制表.單位主管, 銷售控制表.審核日期, 銷售收款事項_1.內容, 銷售收款事項_1.金額, 
                            銷售控制表.送貨地點, 銷售控制表.運費, 銷售控制表.客戶編號, 客戶資料表.電話1, 客戶資料表.電話2, 
                            客戶資料表.地址, 客戶資料表.公司名稱, 客戶資料表.統編, 銷售控制表.稅金, QQQ.轉財務
                FROM        銷售控制表 LEFT OUTER JOIN
                            客戶資料表 ON 銷售控制表.客戶編號 = 客戶資料表.舊編 LEFT OUTER JOIN
                                (SELECT  單號, 收支單號, 轉財務
                                  FROM   銷售收款事項
                                  WHERE (收支單號 IS NOT NULL) OR (收支單號 NOT LIKE '')
                                  GROUP BY    單號, 收支單號, 轉財務) AS QQQ ON 銷售控制表.單號 = QQQ.單號 LEFT OUTER JOIN
                            銷售收款事項 AS 銷售收款事項_1 ON 銷售控制表.單號 = 銷售收款事項_1.單號
                WHERE      (銷售控制表.單號 LIKE '" & PA19 & "%') AND (銷售收款事項_1.內容 LIKE '未收餘額') AND (銷售收款事項_1.金額 = 0) AND (客戶資料表.名稱 LIKE N'%" & PA20 & "%' OR 
                            客戶資料表.電話1 LIKE N'%" & PA20 & "%' OR 客戶資料表.電話2 LIKE N'%" & PA20 & "%' OR 客戶資料表.地址 LIKE N'%" & PA20 & "%' OR 
                            客戶資料表.公司名稱 LIKE N'%" & PA20 & "%' OR 客戶資料表.統編 LIKE N'%" & PA20 & "%') " & SQL2 & "
                GROUP BY    銷售控制表.流水號, 銷售控制表.單號, 客戶資料表.名稱, 銷售控制表.開單日期, 銷售控制表.交貨日期, 
                            銷售控制表.含稅, 銷售控制表.單位主管, 銷售控制表.審核日期, 銷售收款事項_1.內容, 銷售收款事項_1.金額, 
                            銷售控制表.送貨地點, 銷售控制表.運費, 銷售控制表.客戶編號, 客戶資料表.電話1, 客戶資料表.電話2, 
                            客戶資料表.地址, 客戶資料表.公司名稱, 客戶資料表.統編, 銷售控制表.稅金, QQQ.轉財務
                ORDER BY   CHARINDEX(LEFT(銷售控制表.單號, 1), '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 銷售控制表.單號 DESC"
        CmdSet_For_DGV()
    End Sub
    Friend Sub SQL_應收帳款已收_轉財務Null為False()
        ConnOpen()
        SQL1 = "UPDATE  銷售收款事項 SET 轉財務 = 0 WHERE (轉財務 Is NULL)"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款已收_轉財務()
        ConnOpen()
        SQL1 = "UPDATE  銷售收款事項 SET 收支單號 = N'" & PA & "', 轉財務 = 1 WHERE (資料流水號 LIKE '" & PA12 & "')"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款已收_查詢最左邊公帳控制表會計科目()
        ConnOpen()
        SQL1 = "SELECT LEFT(編號, 7) AS 編號, 第二階, 層級 FROM  會計科目 WHERE (LEFT(編號, 4) LIKE N'" & 應收帳款已收.會科碼1_ch.Text & "') AND (層級 NOT LIKE '3') AND (停用 = 0)
                GROUP BY   LEFT(編號, 7), 第二階, 層級 ORDER BY   編號"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款已收_查詢最左邊公帳控制表會計科目1()
        ConnOpen()
        SQL1 = "SELECT LEFT(編號, 7) AS 編號, 第二階, 層級 FROM  會計科目 WHERE (LEFT(編號, 4) LIKE N'" & 銷售單申請.會科碼1_ch.Text & "') AND (層級 NOT LIKE '3') AND (停用 = 0)
                GROUP BY   LEFT(編號, 7), 第二階, 層級 ORDER BY   編號"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款已收_查詢最後一筆公帳控制表會計科目()
        ConnOpen()
        SQL1 = "SELECT 第一階, LEFT(編號, 4) AS 編號 FROM 會計科目  WHERE (停用 = 0) GROUP BY 第一階, LEFT(編號, 4) ORDER BY 編號"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款已收_查詢公帳控制表會計科目()
        ConnOpen()
        SQL1 = "SELECT 會計科目, 編號 FROM 會計科目 WHERE (LEFT(編號, 7) LIKE N'" & 應收帳款已收.ComboBox4.Text & "') AND (停用 = 0) AND (統制科目 = 0) ORDER BY 編號"
        CmdSet_For_dr()
    End Sub
    Friend Sub SQL_應收帳款已收_查詢公帳控制表會計科目1()
        ConnOpen()
        SQL1 = "SELECT 會計科目, 編號 FROM 會計科目 WHERE (LEFT(編號, 7) LIKE N'" & 銷售單申請.ComboBox4.Text & "') AND (停用 = 0) AND (統制科目 = 0) ORDER BY 編號"
        CmdSet_For_dr()
    End Sub
End Module
