
Form_MultiColumn
==============

1 - General:
1.1 - Multi-column layout can optimize content in available viewing area where number of fields in record source is very low.
1.2 - Primary key field in source table is named ID. It is autonumber type.
1.3 - Each data strip represents a record in the original data source. For transpose style, data strips are vertical, while for direct style, these are horizontal.
1.4 - Both views, i.e. cont form and datasheet, are demonstrated for each style. In datasheet view, there is certain wobble effect while conditional formatting is updated. No such problem in cont form view.
1.5 - Fn_Change() is used to grab ID from the source table for freshly dirtied new record, by inserting first character via rst.AddNew method. It is observed that even if there is a data type mis-match (and the error is suppressed by On Error Resume Next statement), autonumber does become available even if the insert were a failure. For a date field, inserting 0 results in 00:00:00, 1 leads to 31-Dec-1899, 2 leads to 01-Jan-1900 and so on.

2 - Transpose Style:
2.1 - All crosstab queries to have a string like "C_01","C_02","C_03" in columns property so that even if the number of records in source table is less than specified columns, the required columns become available in the output.
2.2 - Table T_NewBlock should have data columns C_01, C_02 etc matching the specified number of max columns.
2.3 - Subqueries are not accepted in source queries for crosstab queries. Hence use of DCount() function in Q_1
2.4 - SQL of crosstab query can't be used directly in a union query. Name of saved crosstab query can however be used.

3 - Direct Style:
3.1 - Left join, if not based upon primary key on left table, results in non-updateable query.
3.2 - Make Table query can not perform if the source query (e.g. QS_C) has more than one columns derived from autonumber field. Therefore, append query has been used for transferring the output of QS_C to table T_Direct. (In transpose style, T_Transpose was created via make table query based upon Q_4).
3.3 - Direct style is based upon the presumption that max adjacent sets of columns won't exceed 9. Naming of individual fields is in style C1_ID, C2_ID, C3_ID etc. The rank of column set is derived by the expression  Val(Mid(FieldName, 2, 1))
3.4 - Set up a table T_DirectFieldNames having fields FieldName (text type), ColNum (number type) and TbIndex (number type). It will get populated automatically during load event of form F_Direct.