Foxtable(狐表)用户栏目专家坐堂 → [原创]导入问题,已有数据还是新增。


  共有2952人关注过本帖树形打印复制链接

主题:[原创]导入问题,已有数据还是新增。

帅哥哟,离线,有人找我吗?
by0521
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:139 积分:1559 威望:0 精华:0 注册:2019/3/28 14:49:00
[原创]导入问题,已有数据还是新增。  发帖心情 Post By:2019/6/18 16:29:00 [只看该作者]

更新产品批号的实际发货日期,设计一个导入按钮,导入的excel表只有2列:产品批号,实际发货日期。
但是导入后,已有的产品批号还是新增数据,并没有更新数据。 错误提示 产品批号是唯一值。
图片点击可在新窗口打开查看此主题相关图片如下:错误提示.png
图片点击可在新窗口打开查看
代码如下:
以下内容为程序代码:

1 Dim dlg As New OpenFileDialog
2 dlg.Filter = "Excel文件|*.xls;*.xlsx"
3 If dlg.ShowDialog =DialogResult.OK Then
4 Dim t As Table = Tables("入库")
5 t.StopRedraw()
6 Dim Book As New XLS.Book(dlg.FileName)
7 Dim Sheet As XLS.Sheet = Book.Sheets(0)
8 Dim newcount As Integer = 0
9 Dim oldcount As Integer = 0
10 For n As Integer = 1 To Sheet.Rows.Count -1
11 Dim r As DataRow = t.DataTable.Find("产品批号 = '" & sheet(n, 0).text & "'")
12 If r Is Nothing Then
13 r = t.DataTable.AddNew()
14 newcount += 1
15 Else
16 oldcount += 1
17 End If
18 For i As Integer = 0 To sheet.Cols.Count -1
19 Dim cname As String = sheet(0, i).text
20 If t.Cols.Contains(cname) Then
21 r(cname) = sheet(n, i).Text
22 End If
23 Next
24 Next
25 msgbox("新增" & newcount & " " & "更新旧数据" & oldcount)
26 t.ResumeRedraw()
27 End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/18 16:55:00 [只看该作者]

判断一下值是不是为空,如

 

If sheet(n, 0).text = Nothing Then

    msgbox("空值不比较")

Else

    '这里写本来的代码

End If


 回到顶部