Function | Det_GetOptionDsn(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: Die Datensatznummer (DSN) der Option Rückgabewert: = True, wenn die Option gesetzt werden konnte; sonst = False Public Function Det_GetOptionDsn(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 & ".FldArtOp_Dsn " & _ "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("FldArtOp_Dsn").value) End If Set rs = Nothing End If Det_GetOptionDsn = strResult End Function |