Public Function FormSw()
'Michael Red 12/10/2002 Part of db Documentation
Dim MyDb As DAO.Database
Dim MyFrm As DAO.Recordset
Dim MyFrx As Form
Dim FldX As Integer
Dim MyMtrxFrm As DAO.Recordset
Dim MyFrmNm As String
Dim F_Type As Integer
Dim FrmX As Integer
Dim EOW1 As Integer
Dim EOW2 As Integer
Dim BOW1 As Integer
Dim BOW2 As Integer
Dim Idx As Integer
Dim NxtChr As String
Dim SourceStuff As String
Dim ThisWd As String
Dim Subst1 As String
Dim WD1 As String
Dim CtrlSrc As String
Dim CtrlNam As String
Dim MyNewVar As String
Set MyDb = CurrentDb
Set MyMtrxFrm = MyDb.OpenRecordset("MyMtrxFrm")
While (Not MyMtrxFrm.EOF)
MyMtrxFrm.Delete
MyMtrxFrm.MoveNext
Wend
For FrmX = 0 To MyDb.Containers(2).Documents.Count - 1
MyFrmNm = MyDb.Containers(2).Documents(FrmX).Name
DoCmd.OpenForm (MyFrmNm), acDesign, , acFormReadOnly, acHidden
Set MyFrx = Forms(0)
For FldX = 0 To MyFrx.Count - 1
On Error GoTo SkipCtrl
CtrlSrc = MyFrx(FldX).ControlSource
CtrlNam = MyFrx(FldX).ControlName
On Error Resume Next
If ((MyFrx(FldX).Visible = False) And (MyFrx(FldX).Enabled = False)) Then
GoTo SkipCtrl
End If
MyMtrxFrm.AddNew
MyMtrxFrm!MyFrm = MyFrmNm
MyNewVar = MyFrx.RecordSource
EOW1 = InStr(MyNewVar, " ")
If (EOW1 <> 0) Then
WD1 = Left$(MyNewVar, EOW1 - 1)
Else
WD1 = MyNewVar
End If
If (StrComp(WD1, "SELECT", 1) = 0) Then
BOW2 = InStr(MyNewVar, "FROM")
Subst1 = Mid$(MyNewVar, EOW1 + 1, BOW2 - EOW1)
ThisWd = " "
SourceStuff = "SQL from "
For Idx = 1 To Len(Subst1)
NxtChr = Mid$(Subst1, Idx, 1)
If (NxtChr$ <> " ") Then
ThisWd$ = ThisWd$ & NxtChr$
Else
If (InStr(ThisWd$, ".*") <> 0) Then
SourceStuff$ = SourceStuff$ & " " & ThisWd$
ThisWd$ = ""
Else
ThisWd$ = ""
End If
End If
Next Idx
Else
SourceStuff$ = MyFrx.RecordSource
End If
MyMtrxFrm!MyFrmSrc = Left$(SourceStuff$, 50)
MyMtrxFrm!myfld = CtrlNam
MyMtrxFrm!myfldtyp = CtrlSrc
MyMtrxFrm.Update
SkipCtrl:
Resume DoCtrl
DoCtrl:
Next FldX
ClsFrm:
Debug.Print MyFrmNm
DoCmd.Close acForm, MyFrmNm
NoFrm:
Next FrmX
Debug.Print
Debug.Print "POW BOOM Done!!!!"
End Function