我想做一个共用选单窗口,凭证的金额列做一个共用的选单窗口,当选单窗口在收款凭证中打开,选单窗口只加载出纳数据记账源的未审核的收款数据,我把选单窗口的表类型设为SQLTable,分别用SQLCommand方法(注识的代码),及现在的在Select语句中写入:Select [_Identify],前辍,出纳账安日期生成单号辅助列,摘要,会计科目,明细科目,币种,汇率,借方_外币金额,借方_金额,贷方_外币金额,贷方_金额 fr om {出纳数据记账源} Where [_Identify] Is Null,然后在窗口的Afterload事件写入下面的代码,均没生成加载数据,现在的方法还直接报错:

此主题相关图片如下:qq图片20220310112426.png

With Tables("会计选出纳账数据_Table1")
For a As Integer = .Rows.count - 1 To 0 Step -1
.Rows(a).Delete
Next
If e.Form.DropTable IsNot Nothing Then
Select Case e.Form.DropTable.Name
......
Case "收款凭证_Table1"
'Dim cmd1 As New SQLCommand
'Dim dt1 As DataTable
If (Forms("收款凭证").Controls("TextBox2").Text).SubString(0,2) = "现收" Then
.DataTable.LoadFilter = "[前缀] = 'XS' And ([已审核] = False Or [已审核] Is Null)"
.DataTable.Load
'cmd1.CommandText = "Select [_Identify],前辍,出纳账安日期生成单号辅助列,摘要,会计科目,明细科目,币种,汇率,借方_外币金额,借方_金额 fr om {出纳数据记账源} Where [前辍] = '现收' And ([已审核] = False Or [已审核] Is Null)"
'dt1 = cmd1.ExecuteReader(True)
'.DataSource = dt
.DataSource = DataTables("出纳数据记账源")
ElseIf (Forms("收款凭证").Controls("TextBox2").Text).SubString(0,2) = "银收" Then
.DataTable.LoadFilter = "[前缀] = 'YS' And ([已审核] = False Or [已审核] Is Null)"
.DataTable.Load
'cmd1.CommandText = "Select [_Identify],前辍,出纳账安日期生成单号辅助列,摘要,会计科目,明细科目,币种,汇率,借方_外币金额,借方_金额 fr om {出纳数据记账源} Where [前辍] = '银收' And ([已审核] = False Or [已审核] Is Null)"
'dt1 = cmd1.ExecuteReader(True)
'.DataSource = dt
.DataSource = DataTables("出纳数据记账源")
End If
If DataTables("会计选出纳账数据_Table1").DataRows.Count > 0 Then
Dim ckb As DataTable = e.Form.Controls("Table1").Table.DataTable
If ckb.DataCols.Contains("外币未选余额") = False And ckb.DataCols.Contains("未选余额") = False And ckb.DataCols.Contains("本次外币录入金额") = False And ckb.DataCols.Contains("本次录入金额") = False Then
ckb.DataCols.add("外币未选余额", Gettype(Double))
ckb.DataCols.add("未选余额", Gettype(Double))
ckb.DataCols.add("本次外币录入金额", Gettype(Double))
ckb.DataCols.add("本次录入金额", Gettype(Double))
End If
DataTables("会计选出纳账数据_Table1").DataCols("借方_外币金额").SetFormat("#,###.##")
DataTables("会计选出纳账数据_Table1").DataCols("借方_金额").SetFormat("#,###.##")
DataTables("会计选出纳账数据_Table1").DataCols("贷方_外币金额").SetFormat("#,###.##")
DataTables("会计选出纳账数据_Table1").DataCols("贷方_金额").SetFormat("#,###.##")
DataTables("会计选出纳账数据_Table1").DataCols("外币未选余额").SetFormat("#,###.##")
DataTables("会计选出纳账数据_Table1").DataCols("未选余额").SetFormat("#,###.##")
DataTables("会计选出纳账数据_Table1").DataCols("本次外币录入金额").SetFormat("#,###.##")
DataTables("会计选出纳账数据_Table1").DataCols("本次录入金额").SetFormat("#,###.##")
If Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").Controls("ComboBox2").Items(0) Then
.SetColVisibleWidth("前辍|40|出纳账安日期生成单号辅助列|100|摘要|250|会计科目|80|明细科目|150|借方_金额|80|未选余额|80|本次录入金额|80")
.DataTable.DataCols("本次录入金额").AllowEdit = True
ElseIf Forms("收款凭证").Controls("ComboBox2").text = Forms("收款凭证").Controls("ComboBox2").Items(1) Then
.SetColVisibleWidth("前辍|40|出纳账安日期生成单号辅助列|100|摘要|250|会计科目|80|明细科目|150|币种|50|汇率|60|借方_外币金额|80|借方_金额|80|外币未选余额|80|未选余额|80|本次外币录入金额|80|本次录入金额|80")
.DataTable.DataCols("本次外币录入金额").AllowEdit = True
.DataTable.DataCols("本次录入金额").AllowEdit = True
End If
.AutoSizeRows
.SetHeaderRowHeight(0,40)
End If
End Select
End If
End With
[此贴子已经被作者于2022/3/10 13:00:59编辑过]