Since the business teams are so busy at work creating Microsoft Access databases and database applications, I thought it might be useful to post some queries I use on these databases to help me when I have to convert them to a "production platform".
SELECT Max(Len([COLUMN_NAME_HERE])) AS Expr1
FROM [TABLE_NAME_HERE];
SELECT DISTINCT MSysObjects.Name,
IIf([Flags]=0,"Select",IIf([Flags]=16,"Crosstab",IIf([Flags]=32,"Delete",IIf
([Flags]=48,"Update",IIf([flags]=64,"Append",IIf([flags]=128,"Union",[Flags])))))) AS Type
FROM MSysObjects INNER JOIN MSysQueries ON MSysObjects.Id =
MSysQueries.ObjectId;
NOTE: when running this query Microsoft Access will ask you what column (COLUMN_NAME) you are looking for.
SELECT DISTINCT MsysObjects.Name, MsysObjects.Flags AS flag_type, MSysQueries.Expression AS expres, MSysQueries.Name2 AS ["name 2"]
FROM MsysObjects, MSysQueries
WHERE MsysObjects.Id=msysqueries.objectid And (InStr(UCase(MSysQueries.Expression),UCase([COLUMN_NAME]))>0 Or InStr(UCase(MSysQueries.Name2),UCase([COLUMN_NAME]))>0);
NOTE: when running this query Microsoft Access will ask you what table/query(TABLE_NAME) you are looking for.
SELECT MsysObjects.Name as "Query Name",
MsysObjects.Flags,
MSysQueries.Name1, MSysQueries.Name2,
MSysQueries.Expression,
TABLE_NAME as INPUT, 1 as TEST
FROM MSysQueries, MsysObjects
WHERE MsysObjects.Id = msysqueries.objectid
AND UCase(MSysQueries.Name1) = UCase(TABLE_NAME)
UNION ALL
SELECT MsysObjects.Name as "Query Name",
MsysObjects.Flags,
MSysQueries.Name1, MSysQueries.Name2,
MSysQueries.Expression,
TABLE_NAME as INPUT, 2 as TEST
FROM MSysQueries, MsysObjects
WHERE MsysObjects.Id = msysqueries.objectid
AND InStr(UCase(MSysQueries.Expression),UCase(TABLE_NAME))>0
UNION ALL SELECT MsysObjects.Name as "Query Name",
MsysObjects.Flags,
MSysQueries.Name1, MSysQueries.Name2,
MSysQueries.Expression,
TABLE_NAME as INPUT, 3 as TEST
FROM MSysQueries, MsysObjects
WHERE MsysObjects.Id = msysqueries.objectid
AND InStr(UCase(MSysQueries.Name2),UCase(TABLE_NAME))>0;
SELECT name, database, foreignname FROM MsysObjects
WHERE foreignname IS NOT NULL
ORDER BY database, name;