以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  已有数据不再导入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160076)

--  作者:zhuxinhui
--  发布时间:2021/1/19 16:10:00
--  已有数据不再导入
将EXCEL表数据导入孤表:条件是1、已有会计月份的不再导入,2、营收为空的不导入,现在就是已有会计月份的还是可以导入
Dim App As New MSExcel.Application

\'\'\'\'\'\'导入利润表带条件判断导入
Dim str1 = e.Form.Controls("TextBox1").value
Dim str2 = e.Form.Controls("ComboBox1").value
Dim Book As New XLS.Book(str1)
Dim Sheet As XLS.Sheet = Book.Sheets(str2)
For i As Integer = 1 To 12
    Dim tt As Table = Tables("利润表")
    Dim b1 As String = sheet(1,i).Text
    \'Dim b2 = CStr(b1)
    Dim dr As DataRow
    dr = DataTables("利润表").Find("会计月份 = \'" & b1 & "\'")
    If dr Is Nothing And sheet(1,i).Text <> "" Then
        Dim dr1 As DataRow = DataTables("利润表").AddNew
        dr1("公司名称") = e.Form.Controls("ComboBox4").value
        dr1("会计月份") = sheet(0,i).Text
        dr1("营业收入") = sheet(1,i).Text
       
    End If
Next
MessageBox.Show("已导入""提示") \'提示用户选择的文件
\'\'\'\'\'\'导入利润表带条件判断导入


dr Is Nothing这个条件还是起不到作用,还是可以导入已有会计月份的数据


--  作者:有点蓝
--  发布时间:2021/1/19 16:13:00
--  
For i As Integer = 1 To 12
    Dim tt As Table = Tables("利润表")
    Dim b1 As String = sheet(1,i).Text.trim()
if b1 = "" then continue for
    \'Dim b2 = CStr(b1)
    Dim dr As DataRow
msgbox("会计月份 = \'" & b1 & "\'") ‘是否有符合条件的数据?
    dr = DataTables("利润表").Find("会计月份 = \'" & b1 & "\'")
    If dr Is Nothing Then
        Dim dr1 As DataRow = DataTables("利润表").AddNew
        dr1("公司名称") = e.Form.Controls("ComboBox4").value

--  作者:zhuxinhui
--  发布时间:2021/1/19 16:37:00
--  
Dim App As New MSExcel.Application

\'\'\'\'\'\'导入利润表带条件判断导入
Dim str1 = e.Form.Controls("TextBox1").value
Dim str2 = e.Form.Controls("ComboBox1").value
Dim Book As New XLS.Book(str1)
Dim Sheet As XLS.Sheet = Book.Sheets(str2)
For i As Integer = 1 To 12
    Dim tt As Table = Tables("利润表")    
Dim b1 As String = sheet(1,i).Text.trim()
If b1 = "" Then Continue For
    Dim dr As DataRow
    dr = DataTables("利润表").Find("会计月份 = \'" & b1 & "\'")
    If dr Is Nothing  Then
        Dim dr1 As DataRow = DataTables("利润表").AddNew
        dr1("公司名称") = e.Form.Controls("ComboBox4").value
还是可以导入已有的会计月份的数据???


--  作者:有点蓝
--  发布时间:2021/1/19 16:38:00
--  
msgbox("会计月份 = \'" & b1 & "\'") ‘是否有符合条件的数据?
--  作者:zhuxinhui
--  发布时间:2021/1/19 16:40:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210119163912.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210119163846.png
图片点击可在新窗口打开查看
孤表是字符型,EXCEL表是数值型
不知是什么问题

--  作者:有点蓝
--  发布时间:2021/1/19 16:42:00
--  
msgbox("会计月份 = \'" & b1 & "\'") ‘弹出什么值?!表格是否有符合条件的数据?截图看看
--  作者:zhuxinhui
--  发布时间:2021/1/19 16:45:00
--  
与这个字符类型没有关系统,我把会计月份改成“2020年XX月份“也是不行
--  作者:zhuxinhui
--  发布时间:2021/1/19 16:50:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20210119164949.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2021/1/19 17:00:00
--  
早把这张图咯,就不用我问那么多次了。

试试这样能不能取到正确的日期值?msgbox(sheet(1,i).value),如果不行就只能使用下面方法了

execl里记录的是日期的双精度值,需要使用vba取数据:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=65686&skin=0

--  作者:zhuxinhui
--  发布时间:2021/1/19 17:09:00
--  
还是一样