Foxtable常用代码汇总_第1页
Foxtable常用代码汇总_第2页
Foxtable常用代码汇总_第3页
Foxtable常用代码汇总_第4页
Foxtable常用代码汇总_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Foxtable常用代码汇总1 Col打开列窗口WithTables("员工").Cols("照片").OpenWindow().Cols("备注").CloseWindow()EndWith按钮或菜单2 Col关闭列窗口WithTables("员工").Cols("照片").OpenWindow().Cols("备注").CloseWindow()EndWith按钮或菜单3 Col移动列到指定位置WithTables("订单").Cols("日

2、期").Move(0).Cols("客户").Move(1).Cols("产品").Move(2)EndWith按钮或菜单将日期、客户、产品移到前三列的位置4 Col冻结列CurrentTable.Cols.Frozen=2按钮或菜单冻结前两列5 Col取消冻结列CurrentTable.Cols.Frozen=0按钮或菜单6 Col从Table中移除指定的列IfTables("订单").Cols.Contains("折扣")ThenTables("订单").Cols.Remove(&

3、quot;折扣")EndIf按钮或菜单在订单表中移除折扣列7 Col一次移除多列Tables("订单").Cols.Remove("折扣","金额")按钮或菜单8 DataCol锁定某表某列DataTables("订单").DataCols("折扣").AllowEdit=False按钮或菜单9 DataCol取消锁定某表某列DataTables("订单").DataCols("折扣").AllowEdit=True按钮或菜单10 DataCol

4、动态地修改表达式列的计算公式DataTables("订单").DataCols("金额").Expression="数量*单价"DataTables("订单").DataCols("金额").Expression="数量*单价*(1-折扣)"按钮或菜单Expression属性只对表达式列有效11 DataCol返回列的名称ForEachdcAsDataColInDataTables("订单").DataColsOutput.Show(dc.Name)Nex

5、t按钮或菜单列出订单表中所有列的名称12 DataCol增加临时列,并可给临时列设置表达式DataTables("订单").DataCols.Add("金额",GetType(Double),"数量*单价*(1-折扣)")按钮或菜单通过代码增加的临时列,在重新打开项目文件后,将不复存在13 DataCol删除临时列IfDataTables("订单").DataCols.Contains("金额")ThenDataTables("订单").DataCols.Delete(&qu

6、ot;金额")EndIf按钮或菜单通过Add方法增加的临时列,可以用Delete方法删除14 DataCol一列设公式,另列得结果Ife.DataCol.Name="第一列"ThenIfe.DataRow.IsNull("第一列")Thene.DataRow("第二列")=NothingElsee.DataRow("第二列")=Eval(e.DataRow("第一列"),e.DataRow)EndIfEndIfDataColChanged事件假定希望根据第一列输入的计算公式,在第二列得

7、出计算结果15 DataRow删除行DataTables("订单").DataRows(0).Delete()按钮或菜单删除订单表中的第一行Delete会返回逻辑值,如果删除成功,则返回True,否则返回False16 DataRow重新加载行DataTables("订单").DataRows(1).Load()按钮或菜单重新加载订单表的第二行17 DataRow撤销修改DataTables("订单").DataRows(1).Load(False)按钮或菜单撤销对订单表第二行的修改18 DataRowDataTable中增加一行Wi

8、thDataTables("订单").DataRows.AddNew()'增加一行EndWith按钮或菜单19 DataRow删除指定位置的行WithDataTables("订单").DataRows.Delete(0)'删除第一行EndWith按钮或菜单20 DataRow清除所有行WithDataTables("单").DataRows.Delete(0)'删除第一行EndWith按钮或菜单21 DataRow按日期列求月份DimdrAsDataRow=e.DataRowife.DataCol.Name=&

9、quot;开始时间"Thenifdr.IsNull("开始时间")=falseThendr("月")=dr("开始时间").MonthElsedr("月")=NothingEndIfEndIf表DataColChanged事件22 DataRow新增行编号自动力口1e.DataRow("编号")=e.DataTable.Compute("Max(编号)")+1DataRowAdding事件假定表中有一个编号列,希望新增行的时候,编号列能够自动加1这个例子其实没有什么

10、意义的,对于外部表使用自动增量主键列,对于内部表使用表达式列引用内部编号列“_Identidy是更好的选择。”,23 DataTable获得指定名称的DataTableDimdtAsDataTabledt=DataTables("订单")按钮或菜单24 DataTable锁定表DataTables("订单").AllowEdit=False按钮或菜单AllowEdit属性25 DataTable取消锁定表DataTables("订单").AllowEdit=True按钮或菜单AllowEdit属性26 DataTable按回车键向下移

11、动光标DataTables("订单").EnterKeyActionDown=True按钮或菜单EnterKeyActionDown属性27 DataTable在DataTable中增加一行,DimdrAsDataRow按钮或菜单其实我们很少直接向DataTab28 DataTable保存数据DataTables("订单").Save()按钮或菜单单保存数据29 DataTable同时保存数据和设置DataTables("订单").Save(True)按钮或菜单保存设置比较耗时,会影响保存速度。菜单中的保存命令是同时保存数据和设置的。

12、30 DataTable自制保存按钮ForEachdtAsDataTableInDataTables按钮或菜单这个按钮就能保存所有表,但是不会保存设置;对于一个成熟的、已经交付使用的项目,有时是没有必要保存设置的。31 DataTable删除符合条件的行DataTables("订单").DeleteFor("日期#2/1/2007#")按钮或菜单删除订单表中2007年2月1日以前的行32 DataTable对新增行设置初始值DimrAsRow=CurrentTable.Rows.AddNew()r("姓名")=User.Namer(&

13、quot;日期")=Date.Today按钮或菜单上述的代码首先在当前表增加一行,然后将新增行的姓名列设为当前用户名,日期列设为当天日期。User表示当前登录用户,我们会在后续章节介绍它。提示:此方法和Table的AddNew方法完全等效。33 DataTable在DataTable查找符合条件的行DimdrAsDataRowdr=DataTables("产品").Find("产品编号='03'")'找出编号为03的产品WithDataTables("订单")dr=.Find("产品=

14、9;PD01'","日期")'找出第一次订购PD01产品的记录dr=.Find("产品='PD01'","日期",1)'找出第二次订购PD01产品的记录EndWith按钮或菜单34 DataTable以集合的形式,返回所有符合指定条件的行DimdrsAsList(OfDataRow)drs=DataTables("订单").Select("产品='PD01'And日期尸#1/4/1999#")ForEachdrAsDatarowI

15、ndrsdr("折扣")=0.12Next按钮或菜单对于1999年1月4日订购PD01的订单,希望将其折扣统一设置为0.1235 DataTable班级自动生成总分排名'获得所有班级名称,保存在集合中DimbjsAsList(OfString)=DataTables("成绩表").GetUniqueValues("","班级")ForEachbjAsStringInbjs'获得该班级的全部行,按总分降序排序DimdrsAsList(OfDataRow)=DataTables("成绩表&qu

16、ot;).Select("班级="&bj,"总分DESC")FornAsinteger=0Todrs.Count-1'遍历所有行Ifn>0AndAlsodrs(n)("总分")=drs(n-1)("总分")Then'如果总分和上一行相同drs(n)("总分排名")=drs(n-1)("总分排名")则排名等于上一行Elsedrs(n)("总分排名")=n+1'设置排名EndIfNextNext按钮或菜单例子,可以参考Ca

17、seStudy目录下的文件:成绩排名.Table36 DataTable找出符合条件的行,并将指定列的内容替换为指定值DataTables("订单").ReplaceFor("折扣",0.15,"数量>600")按钮或菜单将订单表中,订购数量大于600的订单的折扣设为0.1537 DataTable选定某一区域CurrentTable.Select(1,2,7,6)按钮或菜单选定当前表第二行第三列至第八行第7列之间的区域38 DataTable选定指定位置的单元格CurrentTable.Select(0,0)按钮或菜单选定当前

18、表的第1行第1列39 DataTable选定整个某列CurrentTable.Select(0,1,CurrentTable.Rows.Count-1,1)按钮或菜单选定整个第二列40 DataTable保存并重新加载所有表ForEachdtAsDataTableInDataTablesdt.LoadNext按钮或菜单在多人同时编辑数据的时候,通过执行此方法,可以得到最新的数据41 DataTable设置加载条件重新加载WithDataTables("订单").LoadFilter="产品='PD01'".Load()EndWith按钮或

19、菜单加载产品为PD01的订单42 DataTable撤销又主奏A的修改DataTables("表A").RejectChanges()按钮或菜单撤销自打开文件或最近一次保存以来,对该表做出的修改43 DataTable移除符合条件的行DataTables("订单").RemoveFor("产品='PD01'")按钮或菜单Dim Total As Integer44 DataTable根据条件统计表中数据DimAmountAsDoubleWithDataTables("订单")Total=.Compu

20、te("Sum(数量)")Amount=.Compute("Sum(金额)")EndWith按钮或菜单计算总的销售数量和金额45 DataTable根据条件统计表中数据DimTotalAsLongTotal=DataTables("订单").Compute("Sum(数量)","产品='PD01'")按钮或菜单计算产品PD01的销售数量46 DataTable根据条件统计表中数据DimCustomersAsList(OfString)DimTotalAsIntegerCustom

21、ers=DataTables("订单").GetUniqueValues("","客户")ForEachCustomerAsStringInCustomersTotal=DataTables("订单").Compute("Sum(数量)","客户='"&Customer&"'")Output.Show(Customer&":"&Total)Next按钮或菜单计算每个客户的订购数量47 Da

22、taTable删除表DataTables.Delete("统计表1")按钮或菜单删除通过代码增加的临时表。48 DataTables按条件填充并求和DimdAsDate=Date.TodayDimmAsInteger=d.MonthdimfAsNewFillerf.SourceTable=DataTables("人员表")'指定数据来源f.SourceCols="姓名,性别"'指定数据来源列f.DataTable=DataTables("发放记录")'指定数据接收表f.DataCols=&q

23、uot;姓名,性别"'指定数据接收列f.Fill()'填充数据ForEachdrAsDataRowInDataTables("发放记录").DataRowsdr("工资")=DataTables("人员表)Compute("Sum(工资厂"姓名尸'"&dr("姓名")&"'And月='"&m&"'")ifdr.IsNull("发放日期")=True

24、Thendr("发放日期")=dEndIfNext按钮或菜单49 DataTables按条件重新加载数据DataTables("订单").LoadFilter="日期=#"&Date.Today&"#"DataTables("订单").Load()50 DELETE语句删除指定条件的行DELETEFROM订单WHEREYear(日期)=1998按钮或菜单表示删除1998年的订单51 EXCEL报表Table保存为Excel文件中的一个工作表CurrentTable.SaveExc

25、el("C:datatest.xls","订单",False)按钮或菜单SaveExcel(FileName,SheetName,SelectedRowsOnly)FileName:目标Excel文件名,含路径。SheetName:工作表名。SelectedRowsOnly:逻辑型,设为True,只保存选定行,否则包括所有行。52 EXCEL报表打印模板DimBookAsNewXLS.Book(ProjectPath&出库单.xls")Book.Build()'生成细节区Book.Save("c:reportstest

26、.xls")'保存工作簿DimProcAsNewProcess'打开工作簿Proc.File="c:reportstest.xls"Proc.Start()按钮或菜单如果Book来自于一个模板文件,必须先调用方法,才能生成细节区。53 EXCEL报表将DataList的内容保存为Excel文件中的一个工作表。DimdstAsWinForm.DataList=e.Form.Controls("DataList1")dst.SaveExcel("C:datatest.xls","订单",Fal

27、se)按钮或菜单SaveExcel(FileName,SheetName,SelectedRowsOnly)FileName:目标Excel文件名,含路彳ShSheetName:工作表名。SelectedRowsOnly:逻辑型,设为True,只保存选定行,否则包括所有行。54 EXCEL报表报表中插入一行DimBookAsNewXLS.Book("c:reportstest.xls")'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表Sheet.Rows.Insert(0)'在最

28、前面插入一行Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按钮或菜单55 EXCEL报表报表中插入一列DimBookAsNewXLS.Book("c:reportstest.xls")'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表Sheet.Cols.Insert(0)'在最前面插入一列Book.Save(

29、"c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按钮或菜单56 EXCEL报表代码生成报表(导出报表)DimdtAsTable=Tables("订单")DimBookAsNewXLS.Book'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表DimStyleAsXls.Style=Book.NewStyle'新建一个样式Style.

30、BackColor=Color.Red'样式的背景颜色设为红色ForcAsInteger=0Todt.Cols.Count-1'添加列标题Sheet(0,c).Value=dt.Cols(c).NameNextForrAsInteger=0Todt.Rows.Count-1'填入数据ForcAsInteger=0Todt.Cols.Count-1Sheet(r+1,c).Value=dt.rows(r)(c)NextIfdt.rows(r)("折扣")>=0.15Then'如果折扣大于等于0.15Sheet(r+1,dt.Cols(&q

31、uot;折扣").Index).Style=Style'设置折扣单元格的样式EndIfNextDimSt2AsXLS.Style=Book.NewStyleSt2.Format="yyyy-MM-dd"Sheet.Cols(dt.Cols("日期").Index).Style=st2'打开工作簿Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按钮或菜单带样式导

32、出57 EXCEL报表设置行高、样式及强制换页DimBookAsNewXLS.Book("c:reportstest.xls")'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表DimStyleAsXLS.Style=Book.NewStyle()'定义新样式Style.ForeColor=Color.Red'设置样式的字体颜色Sheet.Rows(0).Height=40'设置第1行的行高Sheet.Rows(0).Style=Style'设置第1行的样式

33、Sheet.Rows(20).PageBreak=True'在第21行处强制换页Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按钮或菜单58 EXCEL报表设置列宽、样式及分页DimBookAsNewXLS.Book("c:reportstest.xls")'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表Di

34、mStyleAsXLS.Style=Book.NewStyle()'定义新样式Style.ForeColor=Color.Red'设置样式的字体颜色Sheet.Cols(0).Width=120'设置第1列的宽度Sheet.Cols(0).Style=Style'设置第1列的样式Sheet.Cols(4).PageBreak=True'在第5列处强制分页Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc

35、.Start()按钮或菜单59 EXCEL报表单元格样式、超链接DimBookAsNewXLS.Book()'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表DimStyleAsXLS.Style=Book.NewStyle()'定义新样式Style.ForeColor=Color.Red'设置样式的字体颜色Sheet(0,0).Style=StyleSheet(0,0).Value="邮件"Sheet(0,0).Hyperlink="Mailto:zjtdr&q

36、uot;Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按钮或菜单60 EXCEL报表缩放打印DimBookAsNewXLS.Book'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表WithSheet.PrintSetting.AutoScale=True'自动缩放.FitPagesDown=1'垂直方向缩为1页EndWi

37、thForiAsInteger=0To50'向工作表的单元格中设置值Sheet(i,0).Value=(i+1)*10Sheet(i,1).Value=(i+1)*100Sheet(i,2).Value=(i+1)*1000NextBook.Save("c:reportstest.xls")'保存工作簿DimProcAsNewProcess'打开工作簿Proc.File="c:reportstest.xls"Proc.Start()按钮或菜单61 EXCEL报表页面设置DimBookAsNewXLS.BookDimSheetAsX

38、LS.Sheet=Book.Sheets(0)WithSheet.PrintSetting.PaperKind=9'设为A4纸.LandScape=True'横向打印.MarginLeft=20'左右边距设为20毫米.MarginRight=20.MarginTop=15'上下边距设为15毫米.MarginBottom=15EndWith按钮或菜单62 EXCEL报表页眉页脚DimBookAsNewXLS.Book'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表WithShe

39、et.PrintSetting'页眉左边为日期,中间为时间,右边为表名.Header="&L&D&C&T&R&A"'在页脚右边打印页号和总页数.Footer="&R第&P页,总&N页”EndWithForiAsInteger=0To100'向工作表的单元格中设置值Sheet(i,0).Value=(i+1)*10Sheet(i,1).Value=(i+1)*100Sheet(i,2).Value=(i+1)*1000NextBook.Save("c:repor

40、tstest.xls")'保存工作簿DimProcAsNewProcess'打开工作簿Proc.File="c:reportstest.xls"Proc.Start()按钮或菜单63 EXCEL报表打印模式、页面居中、网络线、标题等DimBookAsNewXLS.Book'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表WithSheet.PrintSetting.BlackAndWhite=True'用黑白模式打印,即使你安装的是彩色打印.CenterH

41、orizontal=True'表格水平方向页面居中.CenterVertical=True'表格垂直方向页面居中.PrintGridlines=True'打印网格线.PrintHeaders=True'打印列标题EndWithForiAsInteger=0To100'向工作表的单元格中设置值Sheet(i,0).Value=(i+1)*10Sheet(i,1).Value=(i+1)*100Sheet(i,2).Value=(i+1)*1000NextBook.Save("c:reportstest.xls")'保存工作簿Di

42、mProcAsNewProcess'打开工作簿Proc.File="c:reportstest.xls"Proc.Start()按钮或菜单64 EXCEL报表单元格对齐数据DimBookAsNewXLS.Book()'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表DimStyleAsXLS.Style=Book.NewStyle()'定义新样式Style.ForeColor=Color.Red'设置样式的字体颜色Style.AlignHorz=XLS.AlignH

43、orzEnum.CenterStyle.AlignVert=XLS.AlignVertEnum.CenterSheet.Rows(0).Height=50Sheet.Cols(0).Width=120Sheet(0,0).Value="邮件"Sheet(0,0).Style=StyleBook.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按钮或菜单下面两个属性用于对齐数据。AlignHorz设置水平对齐方式,X

44、LS.AlignHorzEnum型枚举,主要可选值有:Center:居中General:默认Left:靠左Right:靠右AlignVert设置垂直对齐方式,XLS.AlignVertEnum,主要可选值有:Bottom:靠底Center:居中Top:靠上Undefined:默认65EXCEL报表单元格背景颜色和字体颜色DimdtAsTable=Tables("订单")DimBookAsNewXLS.Book'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表DimStyleAsXls.St

45、yle=Book.NewStyle'新建一个样式Style.BackColor=Color.Red'样式的背景颜色设为红色DimStyle1AsXls.Style=Book.NewStyle'新建一个样式Style1.ForeColor=Color.Blue'样式的字体颜色设为蓝色按钮或菜单66EXCEL报表单元格边框设置DimBookAsNewXLS.Book()'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表DimStyleAsXLS.Style=Book.NewStyl

46、e()'定义新样式Style.BorderTop=XLS.LineStyleEnum.ThinStyle.BorderBottom=XLS.LineStyleEnum.ThinStyle.BorderLeft=XLS.LineStyleEnum.ThinStyle.BorderRight=XLS.LineStyleEnum.ThinStyle.BorderColorTop=Color.RedStyle.BorderColorBottom=Color.RedStyle.BorderColorLeft=Color.RedStyle.BorderColorRight=Color.RedFor

47、rAsInteger=1to5ForcAsInteger=1To5Sheet(r,c).Style=StyleNextNextBook.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按钮或菜单属性说明备注BorderTop返回或设置上边框的类型。XLS.LineStyleEnum型枚举,主要可选值有:Dashed:虚线Dotted:点线Double:双实线Hair:头发丝一样的细线(一个像素)Medium:中等实线MediumDas

48、hDotDotted:中等的(短线+点+点)MediumDashDotted:中等的(短线+点)MediumDashed:中等虚线None:无Thick:粗线Thin:细线ThinDashDotDotted:细(短线+点+点)ThinDashDotted:细(短线+点)BorderBottom返回或设置下边框的类型。BorderLeft返回或设置左边框类型。BorderRight返回或设置右边框类型。BorderColorTop返回或设置上边框颜色BorderColorBottom返回或设置下边框颜色BorderColorLeft返回或设置左边框颜色BorderColorRight返回或设置上

49、边框颜色67EXCEL报表单元格斜线设置DimBookAsNewXLS.Book()DimSheetAsXLS.Sheet=Book.Sheets(0)DimStyleAsXLS.Style=Book.NewStyle()Style.DiagonalStyle=XLS.LineStyleEnum.ThinStyle.DiagonalColor=Color.RedStyle.Diagonal=XLS.DiagonalEnum.BackwardForrAsInteger=1to2ForcAsInteger=1To2Sheet(r,c).Style=StyleNextNextBook.Save(&q

50、uot;c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按钮或菜单和斜线设置有关的属性:Diagonal返回或设置斜线的方向,XLS.DiagonalEnum型枚举,可选值有:Backward:反斜线Forward:斜线None:无DiagonalColor返回或设置斜线颜色DiagonalStyle返回或设置斜线的类型,XLS.LineStyleEnum型枚举,主要可选值有:Dashed:虚线Dotted:点线Double:双实线Hair:头发丝一样的细

51、线(一个彳素)Medium:中等实线MediumDashDotDotted:中等的(短线+点+点)MediumDashDotted:中等的(短线+点)MediumDashed:中等虚线None:无Thick:粗线Thin:细线ThinDashDotDotted:细(短线+点+点)ThinDashDotted:细(短线+点)68 EXCEL报表单元格内容自动换行DimdtAsTable=Tables("订单")DimBookAsNewXLS.Book'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一

52、个工作表DimStyleAsXls.Style=Book.NewStyle'新建一个样式Style.WordWrap=True'单元格内容自动换行按钮或菜单69 EXCEL报表在Excel报表模板中插入一个标记DimBookAsNewXLS.Book("c:book5.xls")Book.Marks.Add("用户名",User.Name)Book.Build()Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.

53、xls"Proc.Start()按钮或菜单利用Marks集合,我们可以在报表模板中插入标记,然后在生成报表的时候,将标记替换为真正的值。在Excel报表模板中插入一个标记的格式为:<标记名称>示例假定报表中某个位置需要打印出当前登录用户的名称,我们可以在设计报表的时候,在该处插入标记:<用户名>标记的名称可以根据需要取。然后在生成报表之前,利用Marks集合,将标记替换为真正的用户:70 EXCEL报表插入图片DimBookAsNewXLS.Book'定义一个Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'

54、引用工作簿的第一个工作表ForiAsInteger=0To9'向工作表的单元格中设置值Sheet(i,0).Value=(i+1)*10Sheet(i,1).Value=(i+1)*100Sheet(i,2).Value=(i+1)*1000NextSheet(10,2).Value=NewXLS.Picture(GetImage("c:Foxtable.Ico")Book.Save("c:reportstest.xls")'保存工作簿DimProcAsNewProcess'打开工作簿Proc.File="c:repor

55、tstest.xls"Proc.Start()按钮或菜单单元格的Value属性,不仅可以设置为数据,还可以设置为一个XLS.Picture对象。XLS.Picture用于定义一个可插入到Excel单元格的图片,语法为:NewXLS.Picture(Image)或NewXLS.Picture(Image,Left,Top,Width,Height)参数:Image:要插入的图片。Left:左边距,单位为像素。Top:上边距,单位为像素。Width:宽度,单位为像素。Height:高度,单位为像素。可用GetImage函数从指定的图标文件中获得图标,如果文件已经事先复制到管理项目的Ima

56、ges子目录下,则只需指定文件名即可,否则需要包括路径。71 EXCEL报表在Excel报表模板中加上制单人信息DimBookAsNewXLS.Book(ProjectPath&出库单.xls")'打开模板DimSheetAsXLS.Sheet=Book.Sheets(0)Sheet(6,6).Value="制单人:"&User.Name'修改模板,加入制单人信息Book.Build()'生成细节区Book.Save("c:reportstest.xls")'保存工作簿DimProcAsNewPr

57、ocess'打开工作簿Proc.File="c:reportstest.xls"Proc.Start()按钮或菜单72 Row当前选定的行DimdrAsRow=Tables("订单").Current按钮或菜单73 Row删除选定行Tables("订单").Current.Delete()按钮或菜单74 Row克隆第一行Tables("订单").Rows(0).Clone()按钮或菜单75 Row移除当前表的选定行CurrentTable.Current.Remove()按钮或菜单移除和删除是不同的,移除只

58、是使得表中暂时不再包括该行,就像该行从来没有被加载过一样;不管你是否保存文件,下次打开后,被移除的行还会出现。76 Row序号列自动赋值WithTables("常用代码")ForiASinteger=0To.Rows.Count-1.Rows(i)("xh")=i+1NextEndWith按钮或菜单77Table第一行CurrentTable.Position0按钮或菜单78Table最末行CurrentTable.PositionCurrentTable.Rows.Count-1按钮或菜单79Table上一行CurrentTable.PositionC

59、urrentTable.Position-1按钮或菜单80Table下一行CurrentTable.PositionCurrentTable.Position+1按钮或菜单81 Table删除行CurrentTable.Current.Delete按钮或菜单82 Table新增行CurrentTable.AddNew()按钮或菜单83 Table隐藏指定行隐藏第五行:CurrentTable.Position=4Syscmd.Row.HideSelectedRows()按钮或菜单84 Table隐藏所有行withcurrentTable.select(0,0,.rows.count-1,0)S

60、yscmd.Row.HideSelectedRows()EndWith按钮或菜单85 Table显示所有行IfCurrentTableIsNothingThenReturnElseCurrentTable.StateFilter=StateFilterEnum.NoneEndIf按钮或菜单86 Table选定整个表WithTables("订单").Select(0,0,.Rows.Count-1,.Cols.Count-1)EndWith按钮或菜单87 Table选定数量列WithTables("订单")DimcAsInteger=.Cols("

61、;数量").Index.Select(0,c,.Rows.Count-1,c)EndWith按钮或菜单88 Table重置当前表选定列WithCurrentTable.Cols(.ColSel).DataCol.RaiseDataColChanged()EndWith按钮或菜单要重置当前表选定列,但是Col并没有重置列的方法,我们只能调用DataCol的RaiseDataColChanged方法89 Table当前表增加一行CurrentTable.AddNew()按钮或菜单90 Table在关联表产品.订单”中增加10行Tables("产品.订单").AddNe

62、w(10)按钮或菜单和DataTable的AddNew方法相比,用Table的AddNew方法增加行有以下优点:1、光标会自动移到新增加的行。2、如果在关联子表中增加行,其关联列内容会自动填入。所以大多数时候,我们用Table的AddNew方法增加行,因为这样更方便。91 Table条件筛选Tables("订单").Filter="客户='CS01'And日期>=#1/1/2007#And日期<=#12/31/2007#"按钮或菜单在订单表中需要筛选出客户为"CS01”,订购日期为2007年的记录92 Table条件

63、筛选Tables("订单").Filter="折扣IsNull"按钮或菜单筛选出折扣为空的记录93 Table根据日期排序Tables("订单").Sort="日期"按钮或菜单94 Table根据客户和日期排序,其中日期为降序Tables("订单").Sort="客户,日期DESC”按钮或菜单根据客户和日期排序,其中日期为降序,也就是相同客户的订单,最新的订单排在前面95 Table取消排序Tables("订单").Sort=""按钮或菜单96

64、Table重新加载当前行Tables("订单").Current.DataRow.Load()按钮或菜单97 Table条件设置当前行内容Tables("订单").Current("数量"尸100按钮或菜单将订单表选定行的数量列内容设为10098 Table选择指定行CurrentTable.Position=2'选择第三行按钮或菜单选择当前表第三行99 Table根据指定的表达式和条件进行计算DimSumAsDoubleSum=Tables("订单").Compute("Sum(数量)"

65、;,"产品='PD01'")按钮或菜单统计订单表中产品PD01的销售金额100 Table在指定列中查找指定的字符内容WithCurrentTableDimrAsIntegerr=.Find("abc",.RowSel+1,0,False,False,True)Ifr>-1Then'如果找到符合条件的行.Select(r,0)'则选择该行EndIfEndWith按钮或菜单在当前表的第一列输入一些内容(别忘记要输入一些“abc,然后将上述代码复制”)到命令窗口,反复单击“执行”按钮,进行测试。101 Table用列名称来指定要查找的列WithCurrentTableDimrAsIntegerr=.Find("PD01",.RowSel+1,"产品",False,False,True)Ifr>-1Then'如果找到符合条件的行.Select(r,.Colsel)'则选择该行EndIfEndWith按钮或菜单102 Table根据指定的条件表达式查找行WithCurrentTableDimrAsIntegerr=.FindRo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论