當前位置:開發者網絡 >> 技術教程 >> ASP教程 >> 客戶端相關 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
批量數據錄入, 輔助輸入數據, 以及相關檢測(ASP 服務器端)
作者:未知
日期:2005-02-23
人氣:
投稿:snow(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
作者: 蕭月痕
相關鏈接: 批量數據錄入, 輔助輸入數據, 以及相關檢測(JScript 客戶端)(原創)

<!--#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 "<a href=""../Erp/Bill_View.asp?bt=" & intBillType & "&id=" & intBillID & """>查看此單(" & strBillCode & ")信息</a>"
oUser.gs_AddMessage "<a href=""../Erp/Bill_View.asp?bt=" & intBillType & "&id=" & intBillID & "&pt=1"">打印此單</a>"
oUser.gs_ShowMessage 0
Rem ###############################################################################################
%>


相關文章: