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

Detailwert abfragen

Function Det_GetValue(ByVal strTable As String, ByVal strTableDsn As String, ByVal strFldArtDsn As String) As String


strTable: Tabellenname der Haupttabelle
strTableDsn: Datensatznummer der Haupttabelle z.B. AD, Obj ...
strFldArtDsn: Die Datensatznummer (DSN) der FeldArt
Rückgabewert: Der Detailwert


Public Function Det_GetValue(ByVal strTable As String, ByVal strTableDsn As String, ByVal strFldArtDsn As String) As String
    Dim strResult As String
    Dim rs As ADODB.Recordset
    Dim strSQL As String
    Dim strTblDet As String

    strResult = ""

    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 & ".Eingabe " & _
                  "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
            strResult = m_oUtil.k(rs("Eingabe").value)
        End If
        Set rs = Nothing
    End If
    Det_GetValue = strResult
End Function