線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1091
推到 Plurk!
推到 Facebook!

请教备注字段转出问题

答題得分者是:change.jian
chamstar
一般會員


發表:24
回覆:36
積分:12
註冊:2004-10-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-16 09:19:52 IP:218.16.xxx.xxx 未訂閱
我用select 语句将结果转出excel时,发现备注字段转出来后每一行都有一个空行,我想应该是回车符的问题,请教如何才能消除这个回车行,请各位前辈帮忙,谢谢!
likush
高階會員


發表:5
回覆:235
積分:103
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-25 03:12:53 IP:220.134.xxx.xxx 未訂閱
試試看,有問題再討論 Procedure TForm1.Button1Click(Sender: TObject); Var vSource, vStr: String; Begin vSource := '1234' #10 '12456789'; vStr := copy(vSource, 1, Pos(#10, vSource) - 1); ShowMessage(vStr); End; ========================= 讀萬卷書~不如來K.TOP走一遭 =========================
chamstar
一般會員


發表:24
回覆:36
積分:12
註冊:2004-10-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-25 14:15:19 IP:219.130.xxx.xxx 未訂閱
我有一庫位VDTL,內有acc_rem字段為備注字段,我在轉EXCEL時,發現此字段轉出EXCEL時的每一行都會自動躘一空行(在EXCEL相應內容后面按一下刪除鍵后就成為一行了,這樣很煩人的),請教各位前輩我應該如何消除這一情況. var m:string; begin with adoquery1 do begin close; sql.clear; m:='select mak_no,LTRIM(RIRIM(SUBSTRING(acc_rem,1,80))) from vdtl'; sql.Add(m); OPEN; END; end;
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-25 14:29:54 IP:61.31.xxx.xxx 未訂閱
>發現此字段轉出EXCEL時的每一行都會自動躘一空行 可能多出 #13 的換行符號。 因此可以試試用 COPY(adoquery1.Fieldbyname(FieldName).asString ,1 ,Length(adoquery1.Fieldbyname(FieldName).asString)-1);
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-25 14:37:45 IP:61.229.xxx.xxx 未訂閱
Hi,chamstar:   可以用StringReplace將換行符號整個換掉,就不會有換行的現象了,如下    
  S:=Query1.FieldByName('备注字段').AsString; //S為原資料庫內的資料
  str:=StringReplace(S,#13#10,'',[rfReplaceAll]); //將str轉入excel內
注意一下換行的符號有可能僅有#13,可能要check一下 發表人 - change.jian 於 2004/10/25 14:41:16
chamstar
一般會員


發表:24
回覆:36
積分:12
註冊:2004-10-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-25 15:37:37 IP:219.130.xxx.xxx 未訂閱
實在不好意思,由於我剛學沒幾天,由于我是在用select 語句查多TABLE中的數據,ADOQUERY1 連接的是ADOConnection1,運行時提示找不到諸如adoquery1.Fieldbyname(FieldName) 之類的話.還麻煩前輩們指明,!
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-10-25 15:58:42 IP:61.229.xxx.xxx 未訂閱
hi,chamstar: 如果你對於"adoquery1.Fieldbyname(FieldName).AsString"這樣的語句不明瞭的話,建議要多加強TDataSet及TField等物件的使用方法.FieldByName(FieldName).AsString是指找出欄位名稱為FieldName變數裡所指定的欄位的值.也就你所說的備註欄位的欄位名稱. 將取出的欄位字串,用StringReplace的方法,將所有的換行字串(#$D#$A)拿掉,然後再轉入EXCEL中即可. 如果你仍不明瞭,建議你將轉入EXCEL這部分的source code貼上來會比較快解決你的問題
系統時間:2024-06-29 5:19:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!