發表文章

【JavaScript】日期加減–DateAdd

圖片
<script language="JavaScript"> <!-- //日期加減  timeU︰類型  byMany︰間隔(正負數)  dateObj︰日期型態 function DateAdd (timeU,byMany,dateObj) {     var millisecond=1;     var second=millisecond*1000;     var minute=second*60;     var hour=minute*60;     var day=hour*24;     var year=day*365;          var newDate;     var dVal=dateObj.valueOf();      var date=new Date(dateObj);  // For months     switch(timeU) {     case "ms": newDate=new Date(dVal+millisecond*byMany); break;     case "s": newDate=new Date(dVal+second*byMany); break;    //秒     case "mi": newDate=new Date(dVal+minute*byMany); break;   //分     case "h": newDate=new Date(dVal+hour*byMany); break;     //時     case "m": newDate=new...

【ASP】無條件進位至整數

起源:因勞工加班費新制政策上路,修改勞工日薪、時薪與加班費計算,採 【無條件進位】 方式。 觀念: 利用Int特性,傳回數值類型,不四捨五入,注意取值是不大於它的整數。接著再用負負得正方式,可達到 【無條件進位】 之需求。 程式部分(參考): <% '日薪 s_Day = - Int( - (Int(s_Base) + Int(s_Master) + Int(s_Special))/30) '時薪 s_Hour = - Int( - (Int(s_Base) + Int(s_Master) + Int(s_Special))/240) '新制加班費計算方式 r_overtime_costA = - Int( - cint(r_overtime_cost) * (4/3)) r_overtime_costB = - Int( - cint(r_overtime_cost) * (5/3)) r_overtime_costC = - Int( - cint(r_overtime_cost) * (8/3)) %>

【JavaScript】showModalDialog 應用

showModalDialog 應用於資料檢查或需要呼叫其他頁面(Ex︰Asp、Javascript)來處理事情,最後回傳結果值。對於不會使用AJAX的人來說,是一個不錯的作法! 當然可以的話,用AJAX方式,是最好不過! 語法: vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]) 參數說明: sURL 必要參數,類型:字串。用來指定對話方塊要載入網頁的URL。 vArguments 非必要參數,類型:變動。用來向對話方塊傳遞參數。傳遞的參數類型不限,包括陣列等。對話方塊通過window.dialogArguments來取得傳遞進來的參數。 sFeatures 非必要參數,類型:字串。用來描述對話方塊的外觀等資訊,可以使用以下的一個或多個,用分號“;”隔開。 參數傳遞方式: 父視窗 向子視窗傳遞參數採用ShowModalDialog的第2個參數(vArguments)即可,父視窗要獲取子視窗傳回的參數則可通過ShowModalDialog函數的返回值(vReturnValue )獲取。 子視窗 取得父視窗參數的方法,只要在子視窗裡下Javascript,用window物件的 dialogArguments 屬性來取,例如: var a= window.dialogArguments ; 子視窗向父視窗返回參數,可用 window.returnValue 屬性,如: window.returnValue =1; window.close(); 假設網頁傳送前,檢查是否有附件,若無附件不允許傳送。父頁面(Ex︰A.asp),子頁面(Ex︰B.asp)。 父頁面(Ex︰A.asp) Javascript: <script LANGUAGE="JavaScript"> //資料檢查 function check_data () {    //判斷上傳附件   if ( upload_check ()==false)  {     alert("請檢附文件依據!");     return false;   } } //判斷上傳附件 function upload_check...

【SQL】(啟用/關閉)系統資料目錄的特定更新

圖片
在SQL Server 2000中,欲修改系統資料目錄內容時,通常 預設不允許被更新 的,此時會出現 『系統資料目錄的特定更新並未啟用。系統管理員必須重新組態SQL Server來啟用它。』 錯誤。 必須透過下面語法啟用功能: 啟用系統資料目錄的特定更新語法: sp_configure 'allow updates','1' reconfigure with override go 關閉系統資料目錄的特定更新語法: sp_configure 'allow updates','0' reconfigure with override go SQL Server 2000為例: 欲變更tmpresdb之建立日期 select * from sysobjects where name='tmpresdb' 步驟: 變更後:

【JavaScript】設定長度字串格式

設定固定長度格式,不足長度補0 參數1 str:需要補0的字串 參數2 len:要補0的長度 <script LANGUAGE="JavaScript"> // 左邊補0 function padLeft(str,lenght) { if(str.length >= lenght) return str; else return padLeft("0" +str,lenght); } //右邊補0 function padRight(str,lenght) { if(str.length >= lenght) return str; else return padRight(str+"0",lenght); } </script> EX: padLeft('7',2)--->07 padRight('7',2)--->70

【ASP】使用OLEDB將資料匯出成Excel檔

圖片
首先,手動產生Excel檔做為輸出範本。 程式部分: <% 'Sample檔 reportfile =Server.MapPath("/client/user/客戶匯出格式.xls") '欲匯出檔 FileXLS = Server.MapPath("/client/user/客戶.xls") '檔案複製 set fs=Server.CreateObject("Scripting.FileSystemObject") set f=fs.GetFile( reportfile ) f.Copy FileXLS set f=nothing : set fs=nothing sqlstr="SELECT * FROM [Customer]" set rs=Exec_Record(sqlstr) if not rs.eof then '建立Excel連線 set cn= Server.createobject("Adodb.connection") cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & FileXLS & ";" & _ "Extended Properties=""Excel 8.0;HDR=YES;""" ' 【註二】 可以自行產生標題(Excel範本無標題前提之下) do while not rs.eof '標題定義過的寫法 【註一】 'cn.Execute "INSERT INTO [MyTable] (名稱,公司電話,公司傳真) VALUES ('aaa','123','456')" 'TEST sql="INSERT INTO [ Sheet1$ ] " & _ "([名稱],[國家],[城市],[公司電話],[公...

【SQL】資料表中重複的資料

/*列出重複出現一次以上的資料*/ SELECT 欄位名稱, COUNT(*) FROM Table_Name GROUP BY 欄位名稱 HAVING COUNT(*) > 1 COUNT(*) /*重複出現的次數*/ Ex1:找出客戶資料表中有哪些 客戶名稱重複 SELECT Company,COUNT(*) as counts FROM [Customer] GROUP BY [Company] HAVING COUNT(*) > 1 Ex2:客戶 aim 是否在客戶資料表中重複 SELECT Company,COUNT(*) as counts FROM [Customer] GROUP BY [Company] HAVING COUNT(*) > 1 and [Company] ='aim'