Foxtable常用代码汇总.docx
- 文档编号:23288888
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:38
- 大小:33.60KB
Foxtable常用代码汇总.docx
《Foxtable常用代码汇总.docx》由会员分享,可在线阅读,更多相关《Foxtable常用代码汇总.docx(38页珍藏版)》请在冰豆网上搜索。
Foxtable常用代码汇总
Foxtable常用代码汇总
1Col打开列窗口WithTables("员工")
.Cols("照片").OpenWindow()
.Cols("备注").CloseWindow()
EndWith按钮或菜单
2Col关闭列窗口WithTables("员工")
.Cols("照片").OpenWindow()
.Cols("备注").CloseWindow()
EndWith按钮或菜单
3Col移动列到指定位置WithTables("订单")
.Cols("日期").Move(0)
.Cols("客户").Move
(1)
.Cols("产品").Move
(2)
EndWith按钮或菜单将日期、客户、产品移到前三列的位置
4Col冻结列=2按钮或菜单冻结前两列
5Col取消冻结列=0按钮或菜单
6Col从Table中移除指定的列IfTables("订单").Cols.Contains("折扣")Then
Tables("订单").Cols.Remove("折扣")
EndIf按钮或菜单在订单表中移除折扣列
7Col一次移除多列Tables("订单").Cols.Remove("折扣","金额")按钮或菜单
8DataCol锁定某表某列DataTables("订单").DataCols("折扣").AllowEdit=False按钮或菜单
9DataCol取消锁定某表某列DataTables("订单").DataCols("折扣").AllowEdit=True按钮或菜单
10DataCol动态地修改表达式列的计算公式DataTables("订单").DataCols("金额").Expression="数量*单价"
DataTables("订单").DataCols("金额").Expression="数量*单价*(1-折扣)"按钮或菜单Expression属性只对表达式列有效
11DataCol返回列的名称ForEachdcAsDataColInDataTables("订单").DataColsOutput.Show(dc.Name)
Next按钮或菜单列出订单表中所有列的名称
12DataCol增加临时列,并可给临时列设置表达式DataTables("订单").DataCols.Add("金额",GetType(Double),"[数量]*[单价]*(1-[折扣])")按钮或菜单通过代码增加的临时列,在重新打开项目文件后,将不复存在
13DataCol删除临时列IfDataTables("订单").DataCols.Contains("金额")Then
DataTables("订单").DataCols.Delete("金额")
EndIf按钮或菜单通过Add方法增加的临时列,可以用Delete方法删除
14DataCol一列设公式,另列得结果If="第一列"Then
If"第一列")Then
e.DataRow("第二列")=Nothing
Else
e.DataRow("第二列")=Eval(e.DataRow("第一列"),e.DataRow)
EndIf
EndIf
DataColChanged事件假定希望根据第一列输入的计算公式,在第二列得出计算结果
15DataRow删除行DataTables("订单").DataRows(0).Delete()按钮或菜单删除订单表中的第一行Delete会返回逻辑值,如果删除成功,则返回True,否则返回False
16DataRow重新加载行DataTables("订单").DataRows
(1).Load()按钮或菜单重新加载订单表的第二行
17DataRow撤销修改DataTables("订单").DataRows
(1).Load(False)按钮或菜单撤销对订单表第二行的修改
18DataRowDataTable中增加一行WithDataTables("订单").DataRows
.AddNew()'增加一行
EndWith按钮或菜单
19DataRow删除指定位置的行WithDataTables("订单").DataRows
.Delete(0)'删除第一行
EndWith按钮或菜单
20DataRow清除所有行WithDataTables("单").DataRows
.Delete(0)'删除第一行
EndWith按钮或菜单
21DataRow按日期列求月份DimdrAsDataRow=e.DataRow
if="开始时间"Then
ifdr.IsNull("开始时间")=falseThen
dr("月")=dr("开始时间").Month
Else
dr("月")=Nothing
EndIf
EndIf表DataColChanged事件
22DataRow新增行编号自动加1e.DataRow("编号")="Max(编号)")+1DataRowAdding事件假定表中有一个编号列,希望新增行的时候,编号列能够自动加1
这个例子其实没有什么意义的,对于外部表使用自动增量主键列,对于内部表使用表达式列引用内部编号列“_Identidy”,是更好的选择。
23DataTable获得指定名称的DataTableDimdtAsDataTabledt=DataTables("订单")按钮或菜单
24DataTable锁定表DataTables("订单").AllowEdit=False按钮或菜单AllowEdit属性
25DataTable取消锁定表DataTables("订单").AllowEdit=True按钮或菜单AllowEdit属性
26DataTable按回车键向下移动光标DataTables("订单").EnterKeyActionDown=True按钮或菜单EnterKeyActionDown属性
27DataTable在DataTable中增加一行,DimdrAsDataRow按钮或菜单其实我们很少直接向DataTab
28DataTable保存数据DataTables("订单").Save()按钮或菜单单保存数据
29DataTable同时保存数据和设置DataTables("订单").Save(True)按钮或菜单保存设置比较耗时,会影响保存速度。
菜单中的保存命令是同时保存数据和设置的。
30DataTable自制保存按钮ForEachdtAsDataTableInDataTables按钮或菜单这个按钮就能保存所有表,但是不会保存设置;对于一个成熟的、已经交付使用的项目,有时是没有必要保存设置的。
31DataTable删除符合条件的行DataTables("订单").DeleteFor("[日期]<#2/1/2007#")按钮或菜单删除订单表中2007年2月1日以前的行
32DataTable对新增行设置初始值DimrAsRow=
r("姓名")=User.Namer("日期")=Date.Today按钮或菜单上述的代码首先在当前表增加一行,然后将新增行的姓名列设为当前用户名,日期列设为当天日期。
User表示当前登录用户,我们会在后续章节介绍它。
提示:
此方法和Table的AddNew方法完全等效。
33DataTable在DataTable查找符合条件的行DimdrAsDataRowdr=DataTables("产品").Find("产品编号='03'")'找出编号为03的产品
WithDataTables("订单")
dr=.Find("产品='PD01'","日期")'找出第一次订购PD01产品的记录dr=.Find("产品='PD01'","日期",1)'找出第二次订购PD01产品的记录EndWith按钮或菜单
34DataTable以集合的形式,返回所有符合指定条件的行DimdrsAsList(OfDataRow)
drs=DataTables("订单").Select("[产品]='PD01'And[日期]=#1/4/1999#")
ForEachdrAsDatarowIndrs
dr("折扣")=0.12
Next按钮或菜单对于1999年1月4日订购PD01的订单,希望将其折扣统一设置为0.12
35DataTable班级自动生成总分排名'获得所有班级名称,保存在集合中
DimbjsAsList(OfString)=DataTables("成绩表").GetUniqueValues("","班级")
ForEachbjAsStringInbjs'获得该班级的全部行,按总分降序排序DimdrsAsList(OfDataRow)=DataTables("成绩表").Select("[班级]="&bj,"总分DESC")
FornAsinteger=0Todrs.Count-1'遍历所有行
Ifn>0AndAlsodrs(n)("总分")=drs(n-1)("总分")Then'如果总分和上一行相同
drs(n)("总分排名")=drs(n-1)("总分排名")'则排名等于上一行
Else
drs(n)("总分排名")=n+1'设置排名
EndIf
Next
Next按钮或菜单例子,可以参考CaseStudy目录下的文件:
成绩排名.Table
36DataTable找出符合条件的行,并将指定列的内容替换为指定值DataTables("订单").ReplaceFor("折扣",0.15,"[数量]>600")按钮或菜单将订单表中,订购数量大于600的订单的折扣设为0.15
37DataTable选定某一区域CurrentTable.Select(1,2,7,6)按钮或菜单选定当前表第二行第三列至第八行第7列之间的区域
38DataTable选定指定位置的单元格CurrentTable.Select(0,0)按钮或菜单选定当前表的第1行第1列
39DataTable选定整个某列CurrentTable.Select(0,1,-1,1)按钮或菜单选定整个第二列
40DataTable保存并重新加载所有表ForEachdtAsDataTableInDataTables
dt.Load
Next按钮或菜单在多人同时编辑数据的时候,通过执行此方法,可以得到最新的数据
41DataTable设置加载条件重新加载WithDataTables("订单")
.LoadFilter="[产品]='PD01'"
.Load()
EndWith按钮或菜单加载产品为PD01的订单
42DataTable撤销对表A的修改DataTables("表A").RejectChanges()按钮或菜单撤销自打开文件或最近一次保存以来,对该表做出的修改
43DataTable移除符合条件的行DataTables("订单").RemoveFor("[产品]='PD01'")按钮或菜单
44DataTable根据条件统计表中数据DimTotalAsInteger
DimAmountAsDouble
WithDataTables("订单")
Total=.Compute("Sum(数量)")
Amount=.Compute("Sum(金额)")
EndWith按钮或菜单计算总的销售数量和金额
45DataTable根据条件统计表中数据DimTotalAsLong
Total=DataTables("订单").Compute("Sum(数量)","产品='PD01'")按钮或菜单计算产品PD01的销售数量
46DataTable根据条件统计表中数据DimCustomersAsList(OfString)
DimTotalAsInteger
Customers=DataTables("订单").GetUniqueValues("","客户")
ForEachCustomerAsStringInCustomers
Total=DataTables("订单").Compute("Sum(数量)","[客户]='"&Customer&"'")
Output.Show(Customer&":
"&Total)
Next
按钮或菜单计算每个客户的订购数量
47DataTable删除表DataTables.Delete("统计表1")按钮或菜单删除通过代码增加的临时表。
48DataTables按条件填充并求和DimdAsDate=Date.Today
DimmAsInteger=d.Month
dimfAsNewFiller
f.SourceTable=DataTables("人员表")'指定数据来源
f.SourceCols="姓名,性别"'指定数据来源列
f.DataTable=DataTables("发放记录")'指定数据接收表
f.DataCols="姓名,性别"'指定数据接收列
f.Fill()'填充数据
ForEachdrAsDataRowInDataTables("发放记录").DataRows
dr("工资")=DataTables("人员表").Compute("Sum(工资)","[姓名]='"&dr("姓名")&"'And月='"&m&"'")
ifdr.IsNull("发放日期")=TrueThen
dr("发放日期")=d
EndIf
Next按钮或菜单
49DataTables按条件重新加载数据DataTables("订单").LoadFilter="[日期]=#"&Date.Today&"#"
DataTables("订单").Load()
50DELETE语句删除指定条件的行DELETEFROM{订单}WHEREYear([日期])=1998按钮或菜单表示删除1998年的订单
51EXCEL报表Table保存为Excel文件中的一个工作表CurrentTable.SaveExcel("C:
\data\test.xls","订单",False)按钮或菜单SaveExcel(FileName,SheetName,SelectedRowsOnly)FileName:
目标Excel文件名,含路径。
SheetName:
工作表名。
SelectedRowsOnly:
逻辑型,设为True,只保存选定行,否则包括所有行。
52EXCEL报表打印模板DimBookAsNewXLS.Book(ProjectPath&"Attachments\出库单.xls")Book.Build()'生成细节区
Book.Save("c:
\reports\test.xls")'保存工作簿
DimProcAsNewProcess'打开工作簿
Proc.File="c:
\reports\test.xls"
Proc.Start()按钮或菜单如果Book来自于一个模板文件,必须先调用方法,才能生成细节区。
53EXCEL报表将DataList的内容保存为Excel文件中的一个工作表。
DimdstAsWinForm.DataList="DataList1")dst.SaveExcel("C:
\data\test.xls","订单",False)按钮或菜单SaveExcel(FileName,SheetName,SelectedRowsOnly)FileName:
目标Excel文件名,含路径。
SheetName:
工作表名。
SelectedRowsOnly:
逻辑型,设为True,只保存选定行,否则包括所有行。
54EXCEL报表报表中插入一行DimBookAsNewXLS.Book("c:
\reports\test.xls")'定义一个Excel工作簿
DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表'在最前面插入一行
Book.Save("c:
\reports\test.xls")
DimProcAsNewProcessProc.File="c:
\reports\test.xls"
Proc.Start()按钮或菜单
55EXCEL报表报表中插入一列DimBookAsNewXLS.Book("c:
\reports\test.xls")'定义一个Excel工作簿
DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表'在最前面插入一列
Book.Save("c:
\reports\test.xls")
DimProcAsNewProcessProc.File="c:
\reports\test.xls"
Proc.Start()按钮或菜单
56EXCEL报表代码生成报表(导出报表)DimdtAsTable=Tables("订单")
DimBookAsNewXLS.Book'定义一个Excel工作簿
DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表
DimStyleAsXls.Style=Book.NewStyle'新建一个样式
Style.BackColor=Color.Red'样式的背景颜色设为红色
ForcAsInteger=0To-1'添加列标题
Sheet(0,c).Value=dt.Cols(c).Name
Next
ForrAsInteger=0To-1'填入数据
ForcAsInteger=0To-1
Sheet(r+1,c).Value=dt.rows(r)(c)
Next
Ifdt.rows(r)("折扣")>=0.15Then'如果折扣大于等于0.15
Sheet(r+1,dt.Cols("折扣").Index).Style=Style'设置折扣单元格的样式
EndIf
Next
DimSt2AsXLS.Style=Book.NewStyle
St2.Format="yyyy-MM-dd"
Sheet.Cols(dt.Cols("日期").Index).Style=st2
'打开工作簿
Book.Save("c:
\reports\test.xls")
DimProcAsNewProcess
Proc.File="c:
\reports\test.xls"
Proc.Start()按钮或菜单带样式导出
57EXCEL报表设置行高、样式及强制换页DimBookAsNewXLS.Book("c:
\reports\test.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行的样式
Sheet.Rows(20).PageBreak=True'在第21行处强制换页
Book.Save("c:
\reports\test.xls")
DimProcAsNewProcessProc.File="c:
\reports\test.xls"
Proc.Start()按钮或菜单
58EXCEL报表设置列宽、样式及分页DimBookAsNewXLS.Book("c:
\reports\test.xls")'定义一个Excel工作簿
DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表
DimStyleAsXLS.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:
\reports\test.xls")
DimProcAsNewProcessProc.File="c:
\reports\test.xls"
Proc.Start()按钮或菜单
59EXCEL报表单元格样式、超链接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:
"
Book.Save("c:
\reports\test.xls")
DimProcAsNewProcessProc.File="c:
\reports\test.xls"
Proc.Start()按钮或菜单
60EXCEL报表缩放打印DimBookAsNewXLS.Book'定义一个Excel工作簿
DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一个工作表
W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Foxtable 常用 代码 汇总