|
같은 DW를 복사할려면 RowsCopy를 사용합니다.
헌데 같은 테이블을 쓰지만 한쪽은 조인되어 있고 한쪽은 그냥 한개의 테이블이다.
보통 엑셀로 자료를 내릴때 불편하지요
복사되는 DW의 컬럼을 기준으로 원본에서 자료를 복사해 봤습니다.
PS,. 이름이 다르더라도 컬럼번호를 이용하는 방법도 있습니다.
//wf_savecopy(adw, tdw) string ls_objects, ls_column[], ls_col, ls_coltype long ll_pos, row, irow integer i tdw.Reset() ls_objects = tdw.describe ("Datawindow.Objects") ls_objects += '~t' ll_pos = 0 ; ll_pos = pos(ls_objects, '~t') Do While ll_pos > 0 ls_col = Left(ls_objects, ll_pos - 1 ) if tdw.describe(ls_col + ".type") = 'column' then ls_column[UpperBound(ls_column) + 1] = ls_col end if ls_objects = Mid(ls_objects, ll_pos + 1 ) ll_pos = 0 ll_pos = pos(ls_objects, '~t') Loop
for row = 1 to adw.rowcount() irow = tdw.insertrow(0) for i = 1 to UpperBound(ls_column) ls_coltype = tdw.describe(ls_column[i] + ".coltype") if pos(ls_coltype,'(') > 0 then ls_coltype = Left(ls_coltype, pos(ls_coltype,'(') - 1) choose case ls_coltype case 'decimal' tdw.SetItem(irow, ls_column[i], adw.GetItemDecimal (row, ls_column[i]) ) case 'number', 'long' tdw.SetItem(irow, ls_column[i], adw.GetItemNumber (row, ls_column[i]) ) case 'char' tdw.SetItem(irow, ls_column[i], adw.GetItemString (row, ls_column[i]) ) case 'date' tdw.SetItem(irow, ls_column[i], adw.GetItemDate (row, ls_column[i]) ) case 'datetime' tdw.SetItem(irow, ls_column[i], adw.GetItemDateTime(row, ls_column[i]) ) end choose next next |