-- 当前窗口判断问题。
Dim strs() As String = {"采购订单","销售订单","盘点单","预算计划","需用计划","采购退货记录","清单指引","合同清单","采购入库","销售出库","材料选型"}
Dim strs1() As String ={"采购订单.采购进货","销售订单.销售明细","盘点单.盘点明细","预算计划.预算计划明细","需用计划.需用计划明细","采购退货","清单指引.材料指引","合同清单.清单子目","采购入库.入库明细","销售出库.出库明细","材料选型.材料选型明细"}
For i As Integer = 0 To strs.Length-1
If Forms(strs(i)).opened AndAlso Forms(strs(i)). Then
MessageBox.show(0)
Dim tbl As Table = Tables("进货材料_Table1")
If tbl.Current IsNot Nothing Then
MessageBox.show(1)
Dim n As Integer = Tables(strs1(i)).FindRow("定额编码 = \'" & tbl.Current("定额编码") & "\'")
If n < 0 Then
Tables(strs1(i)).AddNew()("定额编码") = tbl.Current("定额编码")
e.Form.Close()
Else
If MessageBox.Show("[" & tbl.Current("材料名称") & "] 已经添加了,是否重复添加此材料?","提示!",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.Yes
Tables(strs1(i)).AddNew()("定额编码") = tbl.Current("定额编码")
e.Form.Close()
Else
e.Form.Close()
End If
End If
End If
End If
Next
如果“ 采购订单","销售订单” 都打开。上面的代码。
就会出问题。
我试过,用:Forms.ActiveForm.Name 或 MainTable.Name 来判断,好像也不对。
请老师指点一下。因为我的情况是:主窗口:“ 采购订单","销售订单” 可能 都打开了。在其中一表,点了一按钮,弹出一个 "进货材料“窗口来添加 材料号,到主窗口中。