Zum Hauptinhalt springen

Funktion TBDVALUELOOKUP

Die Funktion TBDVALUELOOKUP ist eine Funktion aus der Autodesk Map 3D API.

Findet diese Funktion auch in MapEdit Anwendung erhält man folgende Fehlermeldung in der Logdatei [...]\Mum.Web.IM\Log

Error in Function 'TBDVALUELOOKUP'
Code Line: domain=Me.Connection.Domains.Item(domainName)
Error: 'Domains' is not a member of 'Autodesk.Map.IM.Data.Provider.Connection'.

Wird diese Funktion z.B. in Berichten verwendet muss der Code der Funktion TBDVALUELOOKUP angepasst werden (siehe Beispiel unten). Der Anwender will hier Kennungslisten/Domain Werte (den Langtext) holen.

Also statt die Autodesk API zu nutzen, um Domain Werte zu holen, nimmt man einfach einen SQL, um den Wert der Domain Tabelle zu holen und dann funktioniert es auch in MapEdit.

Beispiel
dim domainName as string
domainName = Me.FunctionParameters.Item(0)
domainName.Trim()

dim columnName as string
columnName = Me.FunctionParameters.Item(1)
columnName.Trim()

if (Me.Record.GetIndex(columnName)=-1) then
return "invalid column"
end if

if(me.Record.IsDBNull(columnName)) then
return ""
end if

dim value as long
value = me.Record.LngValue(columnName)

return me.ConnectionTools.StrValue("select value from " & domainName & " WHERE ID=" & value)