SELECT id_num, MAX(score_chinese) AS '國文成績', MAX(score_english) AS '英文成績', MAX(score_math) AS '數學成績' FROM( SELECT id_num, CASE WHEN subject='國文' THEN score END AS score_chinese, CASE WHEN subject='英文' THEN score END AS score_english, CASE WHEN subject='數學' THEN scree END AS score_math FROM score_table ) AS score_table_tmp GROUP BY id_num
2012年11月30日 星期五
sql 橫向顯示
VB 如何轉存文字檔案為 UTF-8 編碼格式
Function SaveTextAsUTF8(filePath, Text)
Const adTypeText = 2
Const adSaveCreateOverWrite = 2
'Create Stream object
Dim TextStream
Set TextStream = CreateObject("ADODB.Stream")
With TextStream
.Open
.CharSet = "UTF-8"
.Position = TextStream.Size
.WriteText Text
.SaveToFile filePath, adSaveCreateOverWrite
.Close
End With
Set TextStream = Nothing
End Function
2012年11月29日 星期四
機型錢箱指令
機型錢箱指令
發票機Espon rpu420 openbox=Chr$(27) + "p0" + Chr$(50) + Chr$(250)
發票機WP-520 openbox=Chr(27) + "G"
2012年11月28日 星期三
設定 Outlook 使用 POP3 / IMAP 來接收 Gmail 信件
引用來源
--
要在 Outlook 設定 POP3 / IMAP 去接收 Gmail 信件, 要如何做?
Outlook 設定 POP3 / IMAP 去接收 Gmail 信件
官方說明: Outlook 2003 - Gmail說明
簡易步驟
在您的 Gmail中啟用 POP
設定 Outlook 2003 用戶端
詳細步驟
登入Gmail, 輸入帳號、密碼
選擇 畫面右上角的 "設定"
點選 "轉寄和 POP/IMAP", 選擇 "對所有郵件啟用 POP 功能 (包括已經下載的郵件)", 按 "儲存變更"
開啟 Outlook -> 帳號設定, 依下述步驟設定:
POP3 設定為 pop.gmail.com
SMTP 設定為 smtp.gmail.com
帳號要輸入完整的 Email 信箱: ex: abc@example.com
選擇 "其它設定" -> "外寄伺服器" -> 勾選 "我的外寄伺服器(SMTP)需要驗證"
選擇 "進階", 勾選 "內送伺服器及外寄伺服器的加密連線(SSL);POP3=995, SMTP=465"
這樣子 Outlook帳號設定 就完成囉~
--
要在 Outlook 設定 POP3 / IMAP 去接收 Gmail 信件, 要如何做?
Outlook 設定 POP3 / IMAP 去接收 Gmail 信件
官方說明: Outlook 2003 - Gmail說明
簡易步驟
在您的 Gmail中啟用 POP
設定 Outlook 2003 用戶端
詳細步驟
登入Gmail, 輸入帳號、密碼
選擇 畫面右上角的 "設定"
點選 "轉寄和 POP/IMAP", 選擇 "對所有郵件啟用 POP 功能 (包括已經下載的郵件)", 按 "儲存變更"
開啟 Outlook -> 帳號設定, 依下述步驟設定:
POP3 設定為 pop.gmail.com
SMTP 設定為 smtp.gmail.com
帳號要輸入完整的 Email 信箱: ex: abc@example.com
選擇 "其它設定" -> "外寄伺服器" -> 勾選 "我的外寄伺服器(SMTP)需要驗證"
選擇 "進階", 勾選 "內送伺服器及外寄伺服器的加密連線(SSL);POP3=995, SMTP=465"
這樣子 Outlook帳號設定 就完成囉~
windows7「您可能沒有權限使用網絡資源」和「windows打印機無法連接」解決方法
1.打開受訪者的guest權限
2. 開始--運行--gpedit.msc
3.windows設置---安全設置--本地策略--用戶權利指派--在右邊找到''拒絕從網絡訪問這台計算機''雙擊打開,把裡面的guest帳戶刪除
4. windows設置---安全設置--本地策略--安全選項--右邊找到''網絡訪問:本地帳戶的共享和安全模式"雙擊改成"經典:本地用戶自己的身份驗證"
5.windows設置---安全設置--本地策略--安全選項--右邊找到''帳戶:''使用空白密碼的本地用戶只允許進行控制台登陸"把它設置為"禁用"
2012年11月27日 星期二
for each split
詳細請參考來源
--
引用:
' We want to split this input string
Dim s As String = "there is a cat"
' Split string based on spaces
Dim words As String() = s.Split(New Char() {" "c})
' Use For Each loop over words and display them
Dim word As String
For Each word In words
Console.WriteLine(word)
Next
--
引用:
' We want to split this input string
Dim s As String = "there is a cat"
' Split string based on spaces
Dim words As String() = s.Split(New Char() {" "c})
' Use For Each loop over words and display them
Dim word As String
For Each word In words
Console.WriteLine(word)
Next
2012年11月25日 星期日
ActiveReport 預覽正常但打印輸出空白頁的解決方案
引用
--
最近在做項目時,使用ActiveReport(以下簡稱AR)做報表輸出,具體的場景與問題如下:
場景:
紙張尺寸:8.5in*5.5in
邊距:上下左右全設為0.1in
在打印某些單據資料時,遇到以下問題:
打印機是EPSON LQ-300K+ /II ESC/P 2,在打印某個單據(其它單據可以正常,Detail備註欄內容比較多且密,預覽只有一頁,且沒有紅邊)時,使用AR本身的自定紙張尺寸(即直接設置報表的尺寸),總是會多出一張空白頁。嘗試使用Windows的自定紙張格式(新建了一個A8紙(8.5*5.5),應用這個紙張打印可以正常輸出。
問題思考:
根據與現場顧問確認,相同的單據與報表,使用其它型號的打印機輸出是OK的。
初步分析,可能與以下3點有關:
1.打印機的分辨率設置
2.AR.PrintWith設置不對
3.AR的邊距設得太小
嘗試:
1.在AR.Run()之前,把設置其PrintWidth屬性:
AR.PrintWidth = AR.PageSettings.PaperWidth - AR.PageSettings.Margins.Left - AR.PageSettings.Margins.Right - 0.1f;
2.把AR的邊距加大。
AR.PageSettings.Margins.Left=0.39in;
AR.PageSettings.Margins.Right=0.39in;
AR.PageSettings.Margins.Top=0.3in;
AR.PageSettings.Margins.Bottom=0.3in;
經過以上設置,問題得以解決。 目前測試了一些單據,還未發現問題。
Active Report多打空白頁得問題
引用來源
--
如果製作ActiveReport得報表,那麼經常會在瀏覽器裡面看到右邊得紅線和下面得版權信息。先來解釋一下兩個紅色提示得分別得作用:
1。底部得紅色得版權信息,表示你得報表軟件還未經過註冊,應該購買正版軟件。經過我測試,該紅色字體不會在打印得時候打印到紙上。我記得文檔提示應該是,此時可以進行開發但是不能進行分發。
2。右邊得豎線,表示你的報表當前頁的範圍已經超過了一頁紙,實際打印的時候會打印兩張紙。解決辦法,調整報表的全局設置裡面的左右邊距設置,或通過報表的某種相應事件,在事件處理程序中進行邊距的設置。
現在可以解釋未什麼會打印的時候多打空白頁的問題了,右邊紅色豎線的存在。關鍵問題在於可能有時候紅線存在,但是在報表的邊上並不明顯,開發者沒看到。所以開發者就誤以為調整到了合理的範圍了,其實還是超出了單頁紙張的範圍的,解決辦法就是調整報表的左右邊距。
PS:當時同事幫我查找的資料,看了後解決的此問題。發現以前在vb下使用該報表的人還挺多的。解決方案也是從一個vb論壇過來的。
EPSON-PRU-420 列印
引用來源
---
---
Private Sub Command35_Click() Dim CMD As String, EJECT As String, OPENDRAW As String Dim Data As String 'OPENDRAW = Chr(27) + Chr(27) '<==RP-U420的開錢櫃命令不是這樣子的,請查RP-U420的命令手冊 Data = Chr(27) + "c0" + Chr(2) '<==只列印收執聯命令只要下一次即可,其後就保持在同一狀態 Data = Data & "日期:2008/12/11 機號:1" & Chr(13) & Chr(10) Data = Data & "----------------------" & Chr(13) & Chr(10) Data = Data & "筆記型電腦 1 12500" & Chr(13) & Chr(10) Data = Data & "液晶螢幕 1 12000" & Chr(13) & Chr(10) Data = Data & "----------------------" & Chr(13) & Chr(10) Data = Data & "合計: 24500" & Chr(13) & Chr(10) Data = Data & "收現:35000 找零:500 " & Chr(13) & Chr(10) '要保持9列空白以讓資料出至裁切之後 Data = Data & CHR(27) & "d" & CHR(9) '<==跳9列空白,只要一道指定即可(詳情請看RP-U420命令手冊) Data = Data & Chr(29) + Chr(86) + Chr(1) '切紙 Call Send2Driver(Data, "Epson LQ-300 ESC/P 2")End Sub
2012年11月23日 星期五
VB.NET 抓IP 和 MacAddress
Imports System.Net.NetworkInformation
Function getMacAddress()
Dim nics() As NetworkInterface = _
NetworkInterface.GetAllNetworkInterfaces
Return nics(0).GetPhysicalAddress.ToString
End Function
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces() 可取得所有 NIC 的 NetworkInterface
NetworkInterface.GetPhysicalAddress() 可取得 MAC
NetworkInterface.GetIPProperties() 可取得 IP
'NetworkInterface.GetPhysicalAddress() 回傳 PhysicalAddress 型態, 可以用
dim MacAdd as String= BitConver.ToString(NetworkInterface.GetPhysicalAddress().GetAddressBytes())
'NetworkInterface.GetIPProperties() 回傳 IPInterfaceProperties 型態, 可以用
dim prop as IPInterfaceProperties = NetworkInterface.GetIPProperties()
dim ip as string = prop.UnicastAddresses[0].Address.ToString()
2012年11月22日 星期四
2012年11月21日 星期三
單利與複利 計算
一般存款都是單利.信用卡都是以複利計算的.現金卡每間銀行不同
單利:本金5000*(1+2%)=5100.下次還是5000*(1+2%)=5100一樣以5000計息
複利:本金5000*(1+2%)=5100.下次是5100*(1+2%)=5202
2012年11月20日 星期二
2012年11月19日 星期一
證券交易所得課稅制度-2013.2014 該選哪一種?
商業周刊-專欄部落格-財經新聞儀點通-證所稅懶人包整理,你該怎麼做 (1/1)
--
部分引用來源,詳細請參考來源:
「核實課徵」制是指證券交易時,全年度賣出證券所得扣掉買入成本再扣掉必要費用後,賺的錢需要被課徵證所稅,其證所稅率為15%,倘若持股滿一年以上則稅率減半為7.5%,購買IPO股票持有超過3年則稅率再減半為3.75%。
核實課稅制度在2015年起增加了交易滿十億元以上,有賺錢才需要繳稅的條款,但是在2013年與2014年間,則是有賺錢就面臨繳交15%的稅率。而設算所得,則是大盤指數到達8500點以上時,無論您的賺賠,則皆要繳千分之0.2或以上的稅率。
--
部分引用來源,詳細請參考來源:
「核實課徵」制是指證券交易時,全年度賣出證券所得扣掉買入成本再扣掉必要費用後,賺的錢需要被課徵證所稅,其證所稅率為15%,倘若持股滿一年以上則稅率減半為7.5%,購買IPO股票持有超過3年則稅率再減半為3.75%。
核實課稅制度在2015年起增加了交易滿十億元以上,有賺錢才需要繳稅的條款,但是在2013年與2014年間,則是有賺錢就面臨繳交15%的稅率。而設算所得,則是大盤指數到達8500點以上時,無論您的賺賠,則皆要繳千分之0.2或以上的稅率。
SQL Server 判斷某個Table是否存在
if exists(
select * from dbo.sysobjects where id=object_id(N'[COMPANYDATEPROD]') and OBJECTPROPERTY(id,N'IsUserTable')=1
)
select 1
else
select 0
--所有資料表
select * from dbo.sysobjects
---------
--方法一-透過INFORMATION_SCHEMA.TABLES
select *
from INFORMATION_SCHEMA.TABLES
where TABLE_TYPE='BASE TABLE'
and TABLE_NAME='RubSpec'
--方法二-透過sys.tables
select *
from sys.tables
where name='RubSpec'
--方法三-使用OBJECT_ID
select OBJECT_ID('RubSpec')
----若為暫存表格,因存放於tempdb,語法改寫為
select OBJECT_ID('tempdb..RubSpec')
--如果表格存在要一併刪除,可使用下述語法
IF (select OBJECT_ID('RubSpec')) IS NOT NULL Drop Table RubSpec
crystal report的群組分頁頁碼問題
請參考來源
--
這是很好的範例說明,收錄起來
在區段專家裡面群組尾的地方設定
「在之後重設頁碼」就可以了~
--
這是很好的範例說明,收錄起來
(第一頁) 台灣 page : 1/2 A B C D ------------------------ 1 Z X W 2 U V L (第二頁) 台灣 page : 2/2 A B C D ------------------------- 1 H I Y 2 E S N 3 Q E V 4 I O W (第三頁) 中國 page : 1/3 A B C D ------------------------ 1 G E W 2 B E S 3 I W M (第四頁) 中國 page : 2/3 A B C D ------------------------ 1 G E W 2 B E S 3 I W M (第五頁) 中國 page : 3/3 A B C D ------------------------ 1 C E W 2 H E S
在區段專家裡面群組尾的地方設定
「在之後重設頁碼」就可以了~
2012年11月17日 星期六
2012年11月14日 星期三
配息配股計算
配息:
公司去年度盈餘 以現金發放給股東叫配發現金股利--市場術語配息 計算方式:每股配發金額*持有的股數 以一張(1000股)計算 就是0.8*1000=800元
配股:
公司去年度盈餘以股票發放給股東叫配發股票股利--市場術語配股 計算方式:每股配發金額*持有的股數再除以10 以一張(1000股)計算 就是0.88*1000/10=88股
其2算法:
1)您可以拿多少錢=您持有的股數 x 配息金額 - 10元匯費
如:您有中鋼3張(即3000股),配息0.8元,則您能拿到的錢為:
3000股 x 0.8元 - 10元匯費 = 實領2390元
2)您可以拿多少股=您持有的股數 x 配息金額 / 10
如:您有中鋼3張(即3000股),配股0.5元,則您能拿到的股為:
3000股 x 0.5元 / 10 = 實領150股
2012年11月12日 星期一
快速移除 Windows XP 內建的舊版 Windows Messenger 4.7
引用來源
--
「開始」->「執行」-> 在空格內輸入以下指令:
RunDll32 advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove
--
「開始」->「執行」-> 在空格內輸入以下指令:
RunDll32 advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove
2012年11月10日 星期六
2012年11月5日 星期一
2012年11月4日 星期日
vb6 ADODB 運用
Dim oDb As New ADODB.Connection
Dim oRS As New ADODB.Recordset
Dim sSql As String
oDb.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=C:\Data\MyAccessDB.mdb;Jet"
sSql = "SELECT DISTINCT([LastName]) FROM [Authors] ORDER BY LastName ASC"
oRS.Open sSql, oDB, adOpenForwardOnly, adLockReadOnly
Do While not oRS.EOF
With cboMyCombo
.AddItem trim$(oRS("LastName").Value)
End With
oRS.MoveNext
Loop
oRS.Close
oDB.Close
Set oRS = Nothing
Set oDB = Nothing
2012年11月3日 星期六
2012年11月2日 星期五
Sql Server 中提供了begin tran,commit tran和rollback tran
Sql Server 中提供了begin tran,commit tran和rollback tran來使用事務。begin tran表示開始事務, commit tran表示提交事務,rollback tran表示回滾事務。具體用法如下:
-- =============================================
--
--
--
-- =============================================
-- EXEC TEST_PROC '文綜','包括歷史,地理,政治','政治','文綜的一門'
CREATE PROCEDURE [dbo].[TEST_PROC]
@A_Name NVARCHAR(20), -- A表姓名
@A_Remark NVARCHAR(4000), -- A表備註
@B_Name NVARCHAR(20), -- B表姓名
@B_Remark NVARCHAR(4000) -- B表備註
AS
BEGIN TRY
BEGIN TRAN
-- 在A表中插入數據
INSERT INTO [dbo].[A]
( [A_Name]
, [A_Remark] )
VALUES
( @A_Name
, @A_Remark )
-- 在B表中插入數據
INSERT INTO [dbo].[B]
( [A_ID]
, [B_Name]
, [B_Remark] )
VALUES
( @@IDENTITY -- 返回最後插入的標識值
, @B_Name
, @B_Remark )
COMMIT TRAN
END TRY
BEGIN CATCH
ROLLBACK TRAN
INSERT INTO [dbo].[ErrorLog]
( [EL_Procedure] -- 異常存儲過程名稱
, [EL_OperateTime] ) -- 報異常時間
VALUES
( 'TEST_PROC'
, CONVERT(DATETIME,GETDATE(),20) )
END CATCH
註:1. @@IDENTITY的作用是返回最後插入的標識值。
2. 我在rollback tran中加入一個專門記錄異常的表,以便產於異常發生的時間和確定報異常的存儲過程的名稱。
BEGIN TRAN 說明
在Transact-SQL的交易是使用BEGIN TRAN指令開始,如果交易成功,就使用交付交易COMMIT TRAN指令結束,如下所示:
程式1:commit in Transact-SQL
BEGIN TRAN AA
DELETE FROM Students WHERE sid = 'S001';
COMMIT TRAN AA 【確定執行,無法再rollback】
如果交易失敗,復原是使用ROLLBACK TRAN指令結束,如下所示:
程式2:rollback in Transact-SQL
BEGIN TRAN
DELETE FROM Students WHERE sid = 'S001';
ROLLBACK TRAN AA 【回覆上次動作】
-------------範例如下------------
SELECT *
FROM Orders
WHERE (OrderID = '10248')
begin tran aa
update orders
set ShipAddress=
'KARAAAES' WHERE (OrderID = '10248')
COMMIT TRAN aa
rollback tran aa
2012年11月1日 星期四
訂閱:
文章 (Atom)