在窗口中添加上一单按钮,这样写报错:
.NET Framework 版本:4.0.30319.17929
Foxtable 版本:2021.5.29.1
错误所在事件:窗口,收款凭证,Button1,Click
详细错误信息:
Object reference not set to an instance of an object.
DataTables("收款凭证_Table1").deletefor( "[凭证号] Is Null")
DataTables("收款凭证_Table1").loadfilter = "1=2"
DataTables("收款凭证_Table1").load
Dim dr As DataRow = DataTables("财务数据源").SQLFind("[日期] = #" & (e.Form.Controls("rq").Value).Month & "# And [字号] = '" & e.Form.Controls("TextBox2").Value & "' And [凭证号] = '" & e.Form.Controls("dh").text + 1 & "'")
Dim dr1 As DataRow = DataTables("财务数据源").SQLFind("[日期] = #" & (e.Form.Controls("rq").Value).Month & "# And [字号] = '" & e.Form.Controls("TextBox2").Value & "' And [凭证号] = '" & e.Form.Controls("dh").text + 1 & "' And [借或贷] = '借'")
Forms("收款凭证").Controls("ComboBox3").text = dr1("会计科目")
Forms("收款凭证").Controls("rq").text = dr1("日期")
Forms("收款凭证").Controls("dh").text = dr1("凭证号")
Forms("收款凭证").Controls("dh1").text = dr1("安日期生成单号辅助列")
Forms("收款凭证").Controls("TextBox2").text = dr1("字号")
Forms("收款凭证").Controls("RadioButton1").Checked = dr1("已审核")
Forms("收款凭证").Controls("shr").text = dr1("审核人")
Forms("收款凭证").Controls("TextBox1").text = dr1("附件张数")
With Tables("收款凭证_Table1")
Dim Filter As String = "安日期生成单号辅助列 = '" & dr("安日期生成单号辅助列") & "' And [字号] ='" & dr("字号") & "' And [凭证号] = '" & dr("凭证号") & "' And [借或贷] = '贷'"
DataTables("收款凭证_Table1").LoadFilter = Filter '设置加载条件
DataTables("收款凭证_Table1").Load() '加载数据
If dr.IsNull("外币金额") And dr.IsNull("数量") Then
Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(0)
Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(0)
.SetColVisibleWidth("摘要|300|贷方总账科目|100|明细科目|250|金额|100")
ElseIf dr.IsNull("外币金额") And dr.IsNull("数量") = False Then
Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(0)
Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(1)
.SetColVisibleWidth("摘要|300|贷方总账科目|100|明细科目|180|数量|60|单价|50|金额|60")
ElseIf dr.IsNull("外币金额") = False And dr.IsNull("数量") Then
Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(1)
Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(0)
.SetColVisibleWidth("摘要|250|贷方总账科目|100|明细科目|160|币种|60|汇率|60|外币金额|60|金额|60")
.Cols("外币金额").GrandTotal = True
ElseIf dr.IsNull("外币金额") = False And dr.IsNull("数量") = False Then
Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").controls("combobox2").items(1)
Forms("收款凭证").Controls("ComboBox1").text = Forms("收款凭证").controls("combobox1").items(1)
.SetColVisibleWidth("摘要|130|贷方总账科目|100|明细科目|110|数量|60|单价|60|币种|60|汇率|50|外币金额|60|外币金额|60|金额|60")
.Cols("外币金额").GrandTotal = True
End If
.Cols("贷方总账科目").DropForm = "科目"
.Cols("金额").GrandTotal = True
.GrandTotal = True
'If e.Col.Name = "摘要" Or e.Col.Name = "贷方总账科目" Or e.Col.Name = "明细科目" Then
'.AutoSizeRow(e.Row.Index)
'End If
Dim r As Row
For i As Integer = 0 To .Rows.Count(True) - 1 'Count加上参数True
r = .Rows(i,True) 'Rows也需要加上参数True
If r.Level Then '如果是合计行
.Cols("摘要").TextAlign = TextAlignEnum.Center
End If
Next
If .Rows.Count < 10 Then
.AddNew(10 - .Rows.Count)
End If
End With