K3wise 老单单据体从基础资料增加过滤条件

Private Sub m_BillTransfer_BeforGridLookUp(ByVal Row As Long, ByVal Col As Long, ByVal nLookUpClsID As Long, Cancel As Boolean)

If Col = groupNoIndex Then

setAddrFilter Row

End If
If Col = cjhIndex Then

setAddrFilter Row

End If

End Sub

-------------------调用
Private Function setAddrFilter(ByVal Row As Long)
Dim para As Integer
Dim FBatchstr, FAuxPropStr As String

Dim tHeadCtl, tEntryCtl As Variant
init
Dim rs As ADODB.Recordset
FItem = Trim(m_BillTransfer.GetGridText(Row, coefficientIndex))
FStock = Trim(m_BillTransfer.GetGridText(Row, sourceInterIdIndex))
FAuxProp = Trim(m_BillTransfer.GetGridText(Row, priceIndex))
FBatchNO = Trim(m_BillTransfer.GetGridText(Row, hsdjIndex))
tEntryCtl = m_BillTransfer.EntryCtl
tEntryCtl(cjhIndex).Filter(1) = " FItemID=35077"
' tEntryCtl(cjhIndex).FilterString = " FItemID=35077"
' tEntryCtl(cjhIndex).Filter(1) = " FItemID=" & FItemID
' tHeadCtl(Row, groupNoIndex).Filter = " FItemID=" & FItemID
m_BillTransfer.EntryCtl = tEntryCtl

cnnStr = m_BillTransfer.Cnnstring

If FItem <> "" Then
Set conn = New ADODB.Connection
conn.CursorLocation = adUseClient
conn.Open cnnStr
Set rs = New ADODB.Recordset
SQL = "select FItemID from t_ICItem where FNumber='" & FItem & "'"
rs.Open SQL, conn, 0, 1
If rs.RecordCount > 0 Then
FItemID = rs!FItemID
End If

Set rs2 = New ADODB.Recordset
SQL2 = "select FItemID from t_Stock where Fname='" & FStock & "'"
rs2.Open SQL2, conn, 0, 1
If rs.RecordCount > 0 Then
FStockID = rs!FItemID
End If

Set rs3 = New ADODB.Recordset
SQL3 = "select FItemID from t_AuxItem where Fname='" & FAuxProp & "'"
rs3.Open SQL3, conn, 0, 1
If rs3.RecordCount > 0 Then
FAuxPropID = rs3!FItemID
End If

If FBatchNO <> "" And FBatchNO <> 0 Then

FBatchstr = " And F_105='" & FBatchNO & "'"
End If
If FAuxPropID <> "" And FAuxPropID <> 0 Then

FAuxPropStr = " And F_102=" & FAuxPropID
End If


tEntryCtl(cjhIndex).Filter(Row) = " F_101=" & FItemID & FAuxPropStr & FBatchstr 
' tHeadCtl(Row, groupNoIndex).Filter = " FItemID=" & FItemID   单据头
m_BillTransfer.EntryCtl = tEntryCtl
Else
' tHeadCtl(CtlIndex).Filter = ""
' m_BillTransfer.HeadCtl = tHeadCtl
End If
End Function

posted @ 2020-01-13 14:25  allen1991  阅读(851)  评论(0编辑  收藏  举报