<em id="hanht"></em>

    <dd id="hanht"></dd>

    <em id="hanht"><acronym id="hanht"></acronym></em>
    
    <button id="hanht"></button>
    <rp id="hanht"><object id="hanht"><blockquote id="hanht"></blockquote></object></rp><em id="hanht"></em>

    首頁 > 開發 > Asp > 正文

    批量數據錄入, 輔助輸入數據, 以及相關檢測(ASP 服務器端)

    2018-10-16 21:06:55
    字體:
    來源:轉載
    供稿:網友
    <--#include file="../__Inc/goperation.asp"-->
    <%
    Dim intBillTotal, intBillType, intBillValue, dtaToday, i, strBillCode
    Rem 單記錄數(預備量)
    intBillTotal   = request.Form("bn")
    intBillTotal   = toNum(intBillTotal, 10)

    intBillType   = getOperType()
    intBillValue   = getOperValue()
    dtaToday     = Date()

    Rem ###############################################################################################
    Rem ## 操作單項目

      Dim dtaBillDate, strBillUser, strBillCheckUser, strBillContent
      Dim curBillCost, curBillCostAsp, intCustID, strCustName, strPayType, intTotalNum
      Dim dtaBillYear, intBillID, intBillPlanID, strBillPlanNum
      
      Rem ## dtaBillDate 單日期, strBillUser 填表人, strBillCheckUser 提貨人, intBillID 單ID
      Rem ## strBillContent 單備注, strBillCode 流水號, curBillCost 單總價(js), curBillCostAsp 單總價(asp)
      Rem ## intCustID 客戶ID, strCustName 客戶名稱, strPayType 付款方式, intTotalNum 單 行數量
      Rem ## intBillType 單類型, intBillValue 單類型描述, intBillPlanID 計劃單ID, strBillPlanNum 計劃單號
      
      Rem ## 操作單日期
      dtaBillDate = RePlace(Trim(request.Form("BillDate")), ".", "-")
      If Not IsDate(dtaBillDate) Then
       oUser.gs_AddMessage "操作單日期為空"
      Else
       dtaBillDate = CDate(dtaBillDate)
       dtaBillYear = Year(dtaBillDate)
       If (oSys.CheckYearOut(dtaBillYear)) Then
        oUser.gs_AddMessage "操作單日期(" & dtaBillYear & ")超出范圍"
       End If
       
       Rem #############################################################################################
       Rem ## 數據封存限制
       
       Rem #############################################################################################
      End If
      
      Rem ## 填表人
      strBillUser = Trim(request.Form("BillUser") & "")
      If strBillUser = "" Then
       oUser.gs_AddMessage "填表人為空"
      End If
      
      Rem ## 提貨人
      strBillCheckUser = Trim(request.Form("BillCheckUser") & "")
      If strBillCheckUser = "" Then
       oUser.gs_AddMessage "提貨人為空"
      End If
      
      Rem ## 出錯轉向
      oUser.gs_ShowMessage 1
      Rem ## 其他項目
      
      curBillCost   = toCur(request.Form("totalprice") & "", 0)
      curBillCostAsp  = 0
      intCustID    = toNum(request.Form("CustID") & "", 0)
      strCustName   = request.Form("CustName")
      strPayType    = request.Form("PayType")
      strBillContent  = request.Form("BillContent")
      intBillPlanID  = toNum(request.Form("BillPlan") & "", 0)
      strBillPlanNum  = getBillNuber(intBillPlanID)
    Rem ###############################################################################################


    Rem ###############################################################################################
    Rem ## 獲得用戶輸入的數據
      Dim arrRecordInfo()
      
      Dim intTempID, curTempPrice, curTempTotal, curTempCost, curTempAspC
      Dim strTempCode, strTempName, strTempSpec, strTempUnit, intTempOut, strTempContent
      
      Rem ## intTempID 臨時產品ID, curTempPrice 單價, curTempTotal 數量, curTempCost 總價(js)
      Rem ## curTempAspC 產品總價(asp), strTempCode 編碼, strTempName 名稱, strTempSpec 規格
      Rem ## strTempUnit 單位, strTempContent 備注
      
      ReDim arrRecordInfo(10, 0)
      
      Rem ## 初始化 單 行數量為 0, 過濾掉的行數為 0
      intTotalNum = 0
      intTempOut  = 0

      Rem ## 初始化客戶端提交的有用數據
      For i = 1 to intBillTotal
       intTempID   = toNum(request.Form("fpid" & i), 0)
       curTempPrice  = toCur(request.Form("fpprice" & i), 0)
       curTempTotal  = toCur(request.Form("fptotal" & i), 0)
       curTempCost  = toCur(request.Form("fpcost" & i), 0)
       curTempAspC  = curTempPrice * curTempTotal
       
       If ((curTempPrice > 0) And (curTempTotal <> 0) And (intTempID > 0)) Then
        Rem ## 可用數據
        intTotalNum = intTotalNum + 1
        
        curBillCostAsp = curBillCostAsp + curTempAspC
       
        strTempCode    = Trim(request.Form("fpmodel" & i))
        strTempName    = Trim(request.Form("fpvalue" & i))
        strTempSpec    = Trim(request.Form("fpspec" & i))
        strTempUnit    = Trim(request.Form("fpunit" & i))
        strTempContent   = Trim(request.Form("fpcontent" & i))
        
        ReDim Preserve arrRecordInfo(10, intTotalNum)
        
        arrRecordInfo(0, intTotalNum) = intTempID
        arrRecordInfo(1, intTotalNum) = strTempName
        arrRecordInfo(2, intTotalNum) = strTempCode
        arrRecordInfo(3, intTotalNum) = strTempSpec
        arrRecordInfo(4, intTotalNum) = strTempUnit
        arrRecordInfo(5, intTotalNum) = curTempPrice
        arrRecordInfo(6, intTotalNum) = curTempTotal
        arrRecordInfo(7, intTotalNum) = curTempCost
        arrRecordInfo(8, intTotalNum) = curTempAspC
        arrRecordInfo(9, intTotalNum) = strTempContent
        
       ElseIf (intTempID > 0) Then
        intTempOut = intTempOut + 1
       End If
      Next
      
      If intTotalNum < 1 Then
       oUser.gs_AddMessage "操作單中無產品數據"
       oUser.gs_AddMessage "共有 " & intTempOut & " 條數據(產品單價為0、為空或負數, 數量為0或空)被過濾"
       oUser.gs_ShowMessage 1
      End If
    Rem ###############################################################################################
    Rem ## 打開連接
    f__OpenConn

    Rem ###############################################################################################
    Rem ## 檢測表存在與否
      Dim tblTableName
      tblTableName = oUser.getBillTable(dtaBillYear)
    Rem ###############################################################################################

    Rem ###############################################################################################
    Rem ## 構造單項目 SQL 語句 并保存
      strBillCode    = getOpeBill()
      
      sql = "SELECT * FROM [" & GBL__STR_TAB_INF_BILL & "]"
      Set rs = Server.CreateObject("Adodb.RecordSet")
      rs.open sql, conn, 1, 3
      rs.AddNew
       rs("CustomerID")    = intCustID
       rs("CustomerName")   = strCustName
       rs("BitPlanID")    = intBillPlanID
       rs("BitPlanNum")    = strBillPlanNum
       rs("BitType")     = intBillType
       rs("BitName")     = intBillValue
       rs("BitCode")     = strBillCode
       rs("BitNum")      = intTotalNum
       rs("BitPrice")     = curBillCost
       rs("BitPriceAsp")   = curBillCostAsp
       rs("BitDate")     = dtaBillDate
       rs("BitPay")      = strPayType
       rs("BitContent")    = strBillContent
       rs("FillUser")     = strBillUser
       rs("SureUser")     = strBillCheckUser
       rs("UserID")      = oUser.UID
       rs("UserName")     = oUser.UserName
      rs.update
       intBillID = rs("ID")
       strBillCode = getBillNuber(intBillID)
      rs("BitCode") = strBillCode
      rs.update
      
      rs.close

    Rem ###############################################################################################

    Rem ###############################################################################################
    Rem ## 構造數據行 SQL 語句 并保存
      For i = 1 to intTotalNum
       sql = " insert into [" & tblTableName & "]" & _
          " (BitType, BitValue, BitID, BitCode, ProductID, ProductName, ProductCode, ProductSpec" & _
          ", ProductUnit, ProductPrice, ProductNum, PriceCount, PriceAspC, BillDate, Content)" & _
          " Values(" & _
          "  " & intBillType & "" & _
          ", '" & toSqlr(intBillValue) & "'" & _
          ", " & intBillID & "" & _
          ", '" & toSqlr(strBillCode) & "'" & _
          ", " & arrRecordInfo(0, i) & "" & _
          ", '" & toSqlr(arrRecordInfo(1, i)) & "'" & _
          ", '" & toSqlr(arrRecordInfo(2, i)) & "'" & _
          ", '" & toSqlr(arrRecordInfo(3, i)) & "'" & _
          ", '" & toSqlr(arrRecordInfo(4, i)) & "'" & _
          ", " & arrRecordInfo(5, i) & "" & _
          ", " & arrRecordInfo(6, i) & "" & _
          ", " & arrRecordInfo(7, i) & "" & _
          ", " & arrRecordInfo(8, i) & "" & _
          ", #" & dtaBillDate & "#" & _
          ", '" & toSqlr(arrRecordInfo(9, i)) & "'" & _
          ")"
       conn.execute(sql)
      Next
    Rem ###############################################################################################

    Rem ## 關閉連接
    f__CloseConn

    Rem ###############################################################################################
    Rem ## 輸出提示信息
       oUser.gs_AddMessage "共有 " & intTempOut & " 條數據(產品單價為0、為空或負數, 數量為0或空)被過濾"
       oUser.gs_AddMessage "共有 " & intTotalNum & " 項數據保存入庫, 總價格:" & FormatNumber(curBillCost, 2, true) & "(" & FormatNumber(curBillCostAsp, 2, true) & ")"
       oUser.gs_AddMessage "查看此單(" & strBillCode & ")信息"
       oUser.gs_AddMessage "打印此單"
       oUser.gs_ShowMessage 0
    Rem ###############################################################################################
    %>

    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表

    圖片精選