Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:导入数据问题

1楼
15666282205 发表于:2024/3/8 8:41:00
老师,狐表里的“生产计划表”,设计了新增按钮,序号自动增加,只增加一行。现在想从Excel导入,新增行数不固定,还得实现序号自动增加,我看了帮助,写了下面的代码,麻烦您给完善一下。
这是新增一行的代码:
DataTables("生产计划表").AddNew()
Tables("生产计划表").AutoSizeCols()
下面是导入按钮的代码:
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "xls文件|*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim ip As New Importer
    ip.SourcePath = dlg.FileName '指定数据文件
    ip.SourceTableName = "生产计划表" '指定要导入的表
    ip.NewTableName ="生产计划" '导入后的表名
    ip.Format = "Excel" '指定导入格式
    ip.Import()
End If
另外,想实现选择文件的时候xls和xlsx都出现在选择的窗口里。
2楼
有点蓝 发表于:2024/3/8 9:10:00
是要导入一个新表?还是要把execl里的数据合并到现有的表里?
3楼
15666282205 发表于:2024/3/8 9:13:00
在现有的表增加新的行,也就是把execl里的数据合并到现有的表里
4楼
有点蓝 发表于:2024/3/8 9:20:00
合并要使用Merger :http://www.foxtable.com/webhelp/topics/0685.htm

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "xls文件|*.xlsx;*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
dim xh as integer = DataTables("生产计划表").compute("max(序号)")
dim id as integer = DataTables("生产计划表").compute("max(_identify)")
    Dim ip As New Merger 
    ip.SourcePath = dlg.FileName '指定数据文件
    ip.SourceTableName = "生产计划表" 'execl文件里的sheet名称
    ip.NewTableName ="生产计划表" '导入后的表名
if dlg.FileName.endswith(".xls")
    ip.Format = "Excel" '指定导入格式
else
    ip.Format = "Excel2007" '指定导入格式
end if
    ip.Merge()
for each dr as datarow in DataTables("生产计划表").select("_identify>" & id,"_identify")
xh = xh + 1
dr("序号") = xh
next
End If
5楼
15666282205 发表于:2024/3/8 9:41:00
老师,提示以下错误:
编译错误:newtablename is not a member of "merger"
错误代码:ip.NewTableName ="生产计划表" '导入后的表名
6楼
有点蓝 发表于:2024/3/8 10:00:00
Merger 的用法错误,根据帮助自己改一下
7楼
15666282205 发表于:2024/3/8 15:06:00
老师,现在能导入,出现一个问题:序号自动增加,是在当前显示序号的基础上增加,而不是根据数据库后台的最高序号上增加,麻烦您指导一下
8楼
有点蓝 发表于:2024/3/8 15:17:00
dim xh as integer = DataTables("生产计划表").sqlcompute("max(序号)")
共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.