壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2491|回复: 1

easyflow多行記錄怎樣更新

[复制链接]
发表于 2010/6/4 17:07:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 wu-liu 于 2010/6/8 15:14 编辑

在easyflow中,ITEM_AfterApprove.asp的程序如下:
問題是這個程序一直在執行,好像死循環,停不下來,
但我不知道程序那里出錯,誰幫我看一看,感謝!



<%@ Language=VBScript %>
<%Response.Buffer = True%>
<%Response.CacheControl ="no-cache"%>
<%Response.Expires=-1%>
<%
'==================================================================================
'==================================================================================
'專案名稱: EasyFlow 2000 Web Plus
'程式名稱: ITEM_AfterApprove.asp
'程式版本: 9.01.0001
'  撰寫者: 劉武 - A080329
'撰寫日期: 2010/05/25
'
'版權聲明: Copyright(c) 2001, 鼎新電腦股份有限公司  版權所有 (02)8667-2776
'          本電腦程式受著作權法及國際公約保護。
'          凡未經授權擅自複製或散佈本程式的全部或部分,將遭受最嚴厲的民、刑事處分。
'
'==================================================================================
'==================================================================================
%>
<%
call AfterFlowApprove
'*********************************************************************
'程序名稱: AfterFlowApprove()
'          執行表單簽核之後續處理作業
'
'程序說明: 您可以在這裡寫下表單簽核之後續處理作業的程式碼。
'*********************************************************************
Sub AfterFlowApprove()
On Error resume next

dim rstTRFormProperty
set rstTRFormProperty = Session("rstTRFormProperty")
if Request("UndoApprove") = "Y" then '撤簽後,執行本段程式碼.
else
  
  dim strSQL,objDBA,rs,strConn,sq,objDB,objRE,rstITEM
  dim v_radio3,v_select1,v_itemid
  dim i,n
  
  set objRE = CreateObject("EF2KEngine.Class1")
  set objDB = Server.CreateObject("EF2KPublic.Database")
  
  sq="select * from item_m where item_m001 ='" & Session("FormID") & "' and item_m002='" & Session("SheetNo") & "'"
  set rstITEM = objDB.CreateRecordset(sq, Session("strProcID"))
   
  v_radio3 = left(trim(rstITEM("radio3").value),1)
  v_itemid = trim(rstITEM("itemid").value)
  v_select1 = trim(rstITEM("select1").value)
  
    if v_radio3 = "B" then
     
     strConn= "DSN=test;UID=appsWD=apps"
     set objDBA = Server.CreateObject("EF2KPublicA.DatabaseA")
   strSQL = "select * from mtl_system_items_interface "&_
       " where organization_id <> 82 and item_number = '" & v_itemid & "'"
      
      
  ' strSQL = "select organization_id,item_number,transaction_type,last_update_date,last_updated_by, "&_
  '     " creation_date,created_by,inventory_item_status_code,process_flag,set_process_id "&_
  '     " from mtl_system_items_interface "&_
  '     " where organization_id <> 82 and item_number = '" & v_itemid & "'"
   set rs = objDBA.CreateRecordsetA(strSQL,strConn)  
     
     if rs.eof = false then
      do while not rs.eof
       rs("transaction_type") = "UPDATE"
       rs("last_update_date") = DATE()
       rs("last_updated_by") = -1
       rs("creation_date") = DATE()
       rs("created_by") = -1
       rs("inventory_item_status_code") = v_select1
       rs("process_flag") = 1
       rs("set_process_id") = 1
         set rs = objDBA.UpdateRecordsetA(rs,strConn)
       rs.movenext
      
    loop
   
     end if     
    end if

  
  
  '您可以使用 Session("blnCaseClosed") 來判斷表單是否已經結案.
  'if Session("blnCaseClosed") = True then
  '    '=======>>已經結案
  ' '您可以使用 rstTRFormProperty("resda021") 來判斷簽核的結果
  ' select case rstTRFormProperty("resda021")
  '  case 2 '2=同意
  '   '範例: 新增一筆資料到系統Default資料庫中的 table1
  '   dim objDB,rs
  '   set objDB = Server.CreateObject("EF2KPublic.Database")
  '   set rs = objDB.CreateRecordset("select * from table1 where (1=2)",Session("strProcID"))
  '   rs.AddNew
  '   rs("fld1") = "AAA"
  '   rs("fld2") = "BBB"
  '   set rs = objDB.UpdateRecordset(rs,Session("strProcID"))
  '
  '   '範例: 新增一筆資料到外部資料庫的 table1 (使用自訂連線字串,支援Transaction)
  '   dim objDB,rs,strConn
  '   strConn = "driver={SQL Server};server=(local);database=DB1"
  '   set objDB = Server.CreateObject("EF2KPublic.Database")
  '   set rs = objDB.CreateRecordsetB("select * from table1 where (1=2)",strConn)
  '   rs.AddNew
  '   rs("fld1") = "AAA"
  '   rs("fld2") = "BBB"
  '   set rs = objDB.UpdateRecordsetB(rs,strConn)
  '
  '   '範例: 新增一筆資料到外部資料庫的 table1 (使用自訂連線字串,不支援 Microsoft Transaction Server)
  '   dim objDBA,rs,strConn
  '   strConn = "dsn=AccessDB;uid=admin;pwd="
  '   set objDBA = Server.CreateObject("EF2KPublicA.DatabaseA")
  '   set rs = objDBA.CreateRecordsetA("select * from table1 where (1=2)",strConn)
  '   rs.AddNew
  '   rs("fld1") = "AAA"
  '   rs("fld2") = "BBB"
  '   set rs = objDBA.UpdateRecordsetA(rs,strConn)
  '  case 3 '3=不同意
  '  case 4 '4=已抽單
  ' end select
  'else
  '    '=======>>尚未結案
  'end if
end if

    If Err.Number <> 0 Then
        strErrReason =  "執行表單簽核之後續處理作業時發生錯誤. (AfterFlowApprove)"
     Response.Redirect "../Error.asp?ErrReason=" & strErrReason & "&ErrorSource=" & Err.source & "&ErrNumber=" & Err.Number & "&ErrDesc=" & Err.Description & n &"&blnHistoryBack=FALSE"
else
  Response.Redirect "../SendResult.asp"
    End If
End Sub
%>

发表于 2010/7/30 15:47:51 | 显示全部楼层
set rs = objDBA.UpdateRecordsetA(rs,strConn)
这句再loop 后面更新一下试试哦!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 03:56 , Processed in 0.016394 second(s), 16 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表