以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  【求助】无法将类型为“row”的值转换为类型“DataRow”。的代码修正  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108108)

--  作者:李孝春
--  发布时间:2017/10/16 14:37:00
--  【求助】无法将类型为“row”的值转换为类型“DataRow”。的代码修正
窗体中有四个sqltable    运行故障及代码如下【代码改成按钮事件代码后一样的错误】   麻烦指导下

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:银行卡信用卡管理.zip


代码如下:

If Tables("信用卡管理_Table1").Current IsNot Nothing Then
    If Tables("信用卡管理_Table3").Current("是否分期")="不分期" Then
        MessageBox.Show("当前不分期,取消操作")
        e.Cancel = True
    Else        
        If Tables("信用卡管理_Table3").Current IsNot Nothing Then
            For Each dr As DataRow In Tables("信用卡管理_Table3").Current("是否分期")
                Dim fdr As DataRow = DataTables("银行卡信息").sqlfind("银行卡号 = \'" & dr("银行卡号") & "\'")
                Dim d As Date = dr("还款期间")
                d = new Date(d.year, d.Month, fdr("还款日"))
                Dim d1 As Date = dr("账单期间")
                d1 = new Date(d1.year, d1.Month, fdr("账单日"))
                For i As Integer = 1 To dr("分期数")
                    Dim ndr As DataRow = DataTables("分期明细").sqlfind("银行卡号 = \'" & dr("银行卡号") & "\'and 账单编号 = \'" & dr("账单编号") & "\'And 账单期间 = #" & d1.AddMonths(i) & "#")
                    If ndr Is Nothing Then
                        ndr=Tables("信用卡管理_Table4").AddNew
                        MessageBox.Show("ZHANG")
                    End If
                    ndr("银行卡号") = dr("银行卡号")
                    ndr("银行名称")=dr("银行名称")
                    ndr("每月金额")=dr("每月金额")
                    ndr("每月利息")=dr("每月利息")
                    ndr("账单编号")=dr("账单编号")
                    ndr("分期编号")=dr("分期编号")
                    If d<=d1 Then
                        ndr("还款期间") = d.AddMonths(i+1)
                    Else
                        ndr("还款期间") = d.AddMonths(i)
                    End If
                    ndr("账单期间") = d1.AddMonths(i)
                    ndr("分期序列")=0+i
                    ndr("是否还款")="未还款"
                Next
            Next
        End If
    End If
End If
[此贴子已经被作者于2017/10/16 14:51:30编辑过]

--  作者:有点甜
--  发布时间:2017/10/16 15:30:00
--  

ndr=Tables("信用卡管理_Table4").AddNew

 

改成

 

ndr=Tables("信用卡管理_Table4").DataTable.AddNew


--  作者:李孝春
--  发布时间:2017/10/16 15:49:00
--  回复:(有点甜)ndr=Tables("信用卡管理_Table4").Ad...
谢谢 有点甜老师  问题已经解决 
代码如下:
If Tables("信用卡管理_Table1").Current IsNot Nothing Then
    
    If Tables("信用卡管理_Table3").Current IsNot Nothing Then
        If Tables("信用卡管理_Table3").Current("是否分期")="不分期" Then
            MessageBox.Show("当前不分期,取消操作")
            e.Cancel = True
        Else
            Dim ab As String = Tables("信用卡管理_Table3").Current("账单编号")
            MessageBox.Show(ab)
            MessageBox.Show("是否分期 = \'要分期\' And 账单编号 =\'" & ab & "\'")
            For Each dr As DataRow In DataTables("账单分期").sqlSelect("是否分期 = \'要分期\' And 账单编号 =\'" & ab & "\'")
                Dim fdr As DataRow = DataTables("银行卡信息").sqlfind("银行卡号 = \'" & dr("银行卡号") & "\'")
                Dim d As Date = dr("还款期间")
                d = new Date(d.year, d.Month, fdr("还款日"))
                Dim d1 As Date = dr("账单期间")
                d1 = new Date(d1.year, d1.Month, fdr("账单日"))
                For i As Integer = 1 To dr("分期数")
                    Dim ndr As DataRow = DataTables("分期明细").sqlfind("银行卡号 = \'" & dr("银行卡号") & "\'and 分期编号 = \'" & dr("分期编号") & "\'And 账单期间 = #" & d1.AddMonths(i) & "#")
                    If ndr Is Nothing Then
                        MessageBox.Show("yu")
                        ndr=DataTables("信用卡管理_Table4").addnew
                    End If
                    MessageBox.Show("很少上")
                    ndr("银行卡号") = dr("银行卡号")
                    ndr("银行名称")=dr("银行名称")
                    ndr("每月金额")=dr("每月金额")
                    ndr("每月利息")=dr("每月利息")
                    ndr("账单编号")=dr("账单编号")
                    ndr("分期编号")=dr("分期编号")
                    If d<=d1 Then
                        ndr("还款期间") = d.AddMonths(i+1)
                    Else
                        ndr("还款期间") = d.AddMonths(i)
                    End If
                    ndr("账单期间") = d1.AddMonths(i)
                    ndr("分期序列")=0+i
                    ndr("是否还款")="未还款"
                Next
            Next
        End If
    End If
End If
DataTables("信用卡管理_Table4").save()
[此贴子已经被作者于2017/10/16 17:55:55编辑过]