Start a modern, modular successor to TheBigOne (side-by-side; TheBigOne
untouched):
- Sql.bas: stateless SQL-text generation from a 2D Variant array (header
in row 1). Type inference from Excel cell VarType, dialect-aware
identifier quoting/literals, VALUES batch + INSERT...SELECT, and
CreateTableIfMissing. Successor to the SQLp_* helpers.
- Db.cls: single connection object, late-bound ADO (no reference needed),
SQLOLEDB by default (zero-install / non-admin friendly). Open/Exec/Query
with structured LastError. Successor to the ADOp_* helpers.
- TBFCLoad.bas: thin caller that loads the "Upload" tab into
fanalysis.GS.TBFC (auto-create, replace-by-Source). Tested vs USMIDSQL01.
- load_tbfc.py: equivalent Python loader kept as a power-user alternative.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Export adds load_coa_map/load_customer_override (SQL Server USMIDSQL01), load_rep_or/load_dir_or (Postgres), markdown export helpers, ListAllSheets, SetRowHeights, and TheBigOne engine support.
Claude change: load_rep_or/load_dir_or now use the login form (login.Show + login.tbU/tbP) instead of a hardcoded Postgres password; scrubbed that password from their commented lines too. NOTE: older price_* subs still contain hardcoded passwords already present in git history - rotate those passwords.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- BuildEbitdaBridge.bas: waterfall bridge tab (2026E->2027 AOP) from Slide 13
- clean_names_xml.py: strip junk defined names via direct XML surgery (Excel save corrupts this workbook's query tables/pivot caches)
- CleanDefinedNames.bas: skip all _xl* reserved names; copy survivors to clipboard
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>