Form expressions for an attribute can be retrieved from related table information using the Strategy Intelligence Server SDK 9.x, as shown in KB6100-007-0003. From the same table information, column's data type can also be obtained.
Take an example of attribute 'Date' in Strategy VMall sample project.

There is only one form 'ID' associated with this attribute, but with two expressions 'Date_Id' and 'Order_Date'. Each expression is linked to three database tables.
The following sample code shows how to retrieve column data type information by using IDSSColumn::DataType API call.
'obtain the attribute object
Dim dateAttr As IDSSAttribute
Set dateAttr = mobjObjSource.Schema.Attributes.Item(10)
'index 10 is for "date" attribute. In real programming you may obtain this attribute by searching
'search for all tables that this attribute linked to
Dim oSearch As IDSSSearch
Set oSearch = mobjObjSource.NewObject(DssTypeSearch)
oSearch.Clear
oSearch.Types.Add DssTypeTable
oSearch.Uses.Add dateAttr.Info
Dim oResult As IDSSFolder
Set oResult = mobjObjSource.ExecuteSearch(oSearch)
Dim aTable As IDSSTable Dim i, j
'loop into the all these tables and find the information related to this attribute
For i = 1 To oResult.Count
Set aTable = oResult.Item(i).Special
For j = 1 To aTable.AttributeInfos.Count
If aTable.AttributeInfos.Item(j).Attribute.Info.Name = "Date" Then
MsgBox aTable.AttributeInfos.Item(j).LocalDefn.BaseForms.Item(0).Expression.Text
MsgBox aTable.AttributeInfos.Item(j).LocalDefn.BaseForms.Item(0).Column.DataType.Type
End If
Next
Next