最新文章
·在ASP处理程序时,进...
·自动生成编号的方法
·ASP技巧TOP 10(转)...
·在DataGrid等控件中添...
·一种函数的计算方法并...
·使用组件搜索
·怎样做自己的二级域名...
·在ie客户端模拟键盘输...
·在ASP中用EasyMailObj...
·实际使用“DXML”:在...
·使用Session记录页面...
·ASP 编程中 20 个非常...
相关文章
·IIS5 + ADO 2.5新先睹...
·解读 M$ 源代码:Java...
·ASP组件中的安全问题 ...
·FSO系列之二**设计 Fi...
·利用JAVASCRIPT实现时...
·正则表达式经典
·域名专题 - DNS 问答
·如何使用asp创建dsn?
·ASP 关于动态数据显示...
·构建你的网站新闻自动...
·在Windows XP HOME Ed...
·ASP 3.0新特性概要
推荐文章
·JScript 方法 - fonts...
·ASP 应用程序的安全
·MD5算法研究(1)
·ASP数据库事务处理
·用ASP+XML打造留言本 ...
·LIDS精通与进阶(中)...
·构建你的网站新闻自动...
·攻击应对策略 《转》
·ADO如何建立修改删除...
·最完美的JS万年历(一)...
·使用 IIS 5.0 调整 We...
·域名专题 - 微软是这...
  您现在的位置: 休闲居 >> 网络学院 >> 网络编程 >> ASP >> 

批量数据录入, 辅助输入数据, 以及相关检测(ASP 服务器端)
  人气: 【字体:大 中 小】
  发布时间:2007-02-16 11:21:58

<!--#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
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("brefer") & "", 0)
strBillPlanNum = getBillNuber(intBillPlanID)
Rem ###############################################################################################


Rem ###############################################################################################
Rem ## 获得用户输入的数据
Dim arrRecordInfo()

Dim intTempID, curTempPrice, curTempTotal, curTempCost, curTempAspC
Dim intTempCode, intTempName, intTempSpec, intTempUnit, intTempOut

Rem ## intTempID 临时产品ID, curTempPrice 单价, curTempTotal 数量, curTempCost 总价(js)
Rem ## curTempAspC 产品总价(asp), intTempCode 编码, intTempName 名称, intTempSpec 规格
Rem ## intTempUnit 单位

ReDim arrRecordInfo(9, 0)

Rem ## 初始化 单 行数量为 0, 过滤掉的行数为 0
intTotalNum = 0
intTempOut = 0
response.Write(UBound(arrRecordInfo, 2))

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

intTempCode = Trim(request.Form("fpmodel" & i))
intTempName = Trim(request.Form("fpvalue" & i))
intTempSpec = Trim(request.Form("fpspec" & i))
intTempUnit = Trim(request.Form("fpunit" & i))

ReDim Preserve arrRecordInfo(9, intTotalNum)

arrRecordInfo(0, intTotalNum) = intTempID
arrRecordInfo(1, intTotalNum) = intTempName
arrRecordInfo(2, intTotalNum) = intTempCode
arrRecordInfo(3, intTotalNum) = intTempSpec
arrRecordInfo(4, intTotalNum) = intTempUnit
arrRecordInfo(5, intTotalNum) = curTempPrice
arrRecordInfo(6, intTotalNum) = curTempTotal
arrRecordInfo(7, intTotalNum) = curTempCost
arrRecordInfo(8, intTotalNum) = curTempAspC

response.Write(intTempUnit & "<br>")
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 ###############################################################################################

response.Write(UBound(arrRecordInfo, 2))
'response.End()

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



≡ 查看、发表评论 ≡