pb的視窗提取不了excel作為資料源的資料。我用ODBC連接,把excel作為資料源,sheet為表做好的資料視窗里用選單上的preview按扭能顯示資料,但在PB打開的控制元件里用dw_1.retreve()提取不了資料。報Database transaction information not available.Call SetTrans or SetTransObject function,這個dw_1. SetTransObject( sqlca),但是沒用,應該是還沒有連接到EXCEL請高手指點還要怎么寫代碼才能實作
uj5u.com熱心網友回復:
以上補充:我的郵箱是:[email protected],QQ914955679望高手指點uj5u.com熱心網友回復:
connect using sqlca;這句寫了嗎
uj5u.com熱心網友回復:
string ls_sql,ls_syntax,ls_error,ls_pathname = 'c:\temp.xlsx',filepath,filename,ls_gb,ls_orderlong i,ll_row
string ls_where[]
gs_tran ls_tran
ids_import = create datastore
GetFileOpenName("Select File", FilePath, FileName, '*.*',"EXCEL檔案 (*.XLS;*.XLSX) ,*.XLS;*.XLSX",GetCurrentDirectory ( ), 18)
ls_tran = Create gs_tran
ls_tran.DBMS = "OLE DB "
ls_tran.AutoCommit = False
ls_tran.DBParm = "PROVIDER= 'Microsoft.ACE.OLEDB.12.0',DATASOURCE= '" + filepath + "',PROVIDERSTRING= 'Excel 12.0';HDR=YES;IMEX=1;MAXSCANROWS=1280;"
connect using ls_tran;
ls_error = ls_tran.sqlerrtext
ls_sql = 'select * from [sheet1$]'
ls_syntax = ls_tran.syntaxfromsql(ls_sql,'',ls_error)
ll_row = ids_import.Create(ls_syntax)
ids_import.settrans(ls_tran)
ll_row = ids_import.retrieve( )
if sqlca.sqlcode <> 0 then
messagebox('提示','讀取檔案失敗,請檢查sheet名或程式運行環境!')
end if
disconnect using ls_tran;
destroy ls_tran
uj5u.com熱心網友回復:
3樓的一看就省了好多步驟,是有意的嗎?uj5u.com熱心網友回復:
我也看過你回復過的貼子,大概和這差不多,我試了你省的東東太多,好多地方我也沒讀懂,當然我是菜鳥啊,剛學著寫,不過這種思維方法寫還是可以借鑒。就拿GetCurrentDirectory ( ),這個函式來說吧,是要直接賦值路徑還是另寫一個全域函式給路徑我試了都報錯。GetFileOpenName("Select File", FilePath, FileName, '*.*',"EXCEL檔案 (*.XLS;*.XLSX) ,*.XLS;*.XLSX",GetCurrentDirectory ( ), 18)這句就是報找不到GetCurrentDirectory ( )還有這個是不是事先還要申明,剛好這里,創這個是我不會。。。。。。
uj5u.com熱心網友回復:
你用的是pb什么版本,從pb8開始,就有GetCurrentDirectory()這個函式了
從excel中匯入資料,有兩種方案
第一種,需要通過事務物件連接excel,然后用資料視窗進行檢索,你的問題是連接資料庫沒連接成功,或者連接出錯了
第二種,可以通過ole來進行連接excel,然后資料復制出來,通過importstring匯入到資料視窗里
uj5u.com熱心網友回復:
你用的是pb什么版本,從pb8開始,就有GetCurrentDirectory()這個函式了
從excel中匯入資料,有兩種方案
第一種,需要通過事務物件連接excel,然后用資料視窗進行檢索,你的問題是連接資料庫沒連接成功,或者連接出錯了
第二種,可以通過ole來進行連接excel,然后資料復制出來,通過importstring匯入到資料視窗里
請問第二種怎么設定?不同sheet的資料復制到不同資料視窗內
uj5u.com熱心網友回復:
第二種怎么設定啊?將不同sheet的數值匯入到不同的資料視窗內
uj5u.com熱心網友回復:
存成dbf唄uj5u.com熱心網友回復:
用saveas方法存成指定路徑下txt檔案 然后再匯入dw 我一般是這么做的
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/38384.html
標籤:腳本語言
上一篇:powerbuilder想利用OLE逐一調取excel數值到視窗中
下一篇:資料庫連接問題
