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 |