FlowFact - Entwicklungstools v19.881 FLOWFACT 2017 R2 - Function - Det_GetNumValue

Nummerische Detailwerte abfragen

Function Det_GetNumValue(ByVal strTable As String, ByVal strTableDsn As String, ByVal strFldArtDsn As String, ByRef lngVonNum As Variant, ByRef lngBisNum As Variant) As Boolean


strTable: Tabellenname der Haupttabelle
strTableDsn: Datensatznummer der Haupttabelle z.B. AD, Obj ...
strFldArtDsn: Die Datensatznummer (DSN) der FeldArt
lngVonNum: VonNum - Feldinhalt
lngBisNum: BisNum - Feldinhalt
Rückgabewert: Detailwert wurde gefunden


Public Function Det_GetNumValue(ByVal strTable As String, ByVal strTableDsn As String, ByVal strFldArtDsn As String, ByRef lngVonNum As Variant, ByRef lngBisNum As Variant) As Boolean
    Dim blnResult As Boolean
    Dim rs As ADODB.Recordset
    Dim strSQL As String
    Dim strTblDet As String

    blnResult = False
    lngVonNum = 0
    lngBisNum = 0

    strTblDet = UCase(strTable) & "DET"
    If strFldArtDsn <> "" And strTable <> "" And strTableDsn <> "" Then
        'Immer über Haupttabelle auf Det-Tabelle zugreifen, wg. Berechtigung
        'Bei mehrfachen Detail-Felder wird das erste in der Tabelle genommen (Sortierung nach DSN)
        strSQL = "SELECT " & strTblDet & ".Von_Num, " & strTblDet & ".Bis_Num " & _
                  "FROM " & strTable & " INNER JOIN " & strTblDet & " ON " & strTable & ".dsn = " & strTblDet & "." & strTable & "_dsn " & _
                  "WHERE (" & strTable & ".DSN=" & m_oUtil.SqlUid(strTableDsn) & ") AND (" & strTblDet & ".FLDART_DSN=" & m_oUtil.SqlUid(strFldArtDsn) & ") " & _
                  "ORDER BY " & strTblDet & ".DSN"
        Set rs = FF_GetRecordset(strSQL)
        If rs.EOF = False Then
            lngVonNum = m_oUtil.d(rs("Von_Num").value)
            lngBisNum = m_oUtil.d(rs("Bis_Num").value)
            blnResult = True
        End If
        Set rs = Nothing
    End If

    Det_GetNumValue = blnResult
End Function