下面代码你可以参考一下:
string ls_error, ls_sql,ls_table,ls_column
string ls_style, ls_dwsyntax
int li_total,li_num,li_selected
//设置数据来源
li_selected=dw_table.getrow()
if li_selected<>0 then
ls_table=dw_table.getitemstring(li_selected,1,primary!,false)
else
Messagebox("错误!","请选择表名,然后选择列名,选择数据窗口格式后才能创建窗口!",stopsign!)
return
end if
ls_sql="select "
li_total=lb_columns.totalitems()
//确定用户在列表框lb_columns中选择的列名
for li_num=1 to li_total
if lb_columns.state(li_num)=1 then
ls_column=lb_columns.text(li_num)
ls_sql+=ls_column+","
end if
end for
//默认为选择全部列
if ls_column="" then
ls_sql+="*,"
end if
ls_sql=left(ls_sql,len(ls_sql)-1)+" from "+ls_table
//设置显示风格
ls_style = "style(type=grid)"
//获取生成数据窗口对象的源代码
ls_dwsyntax = SQLCA.SyntaxFromSQL(ls_sql, ls_style, ls_error)
IF Len(ls_error) > 0 THEN
MessageBox("错误提示", "错误原因为" + ls_error)
RETURN
END IF
//在数据窗口控件中生成数据窗口对象
dw_master.Create( ls_dwsyntax, ls_error)
debugbreak()
//
ls_dwsyntax = SyntaxFromSQL(sqlca, ls_sql , ls_style, ls_dw_err)
If ls_dw_err <> '' Then
MessageBox("提示", ls_dw_err)
Return
End If
dw_1.Create(ls_dwsyntax)