[AccessD] Dying on Code Here

Nicholson, Karen cyx5 at cdc.gov
Wed Mar 15 13:46:49 CST 2006


Help Me!
I can not get this stupid code to work.

Private Sub cmdRunImport_Click()
Dim cnn As ADODB.Connection
Set cnn = CurrentProject.Connection
Dim strTableName As String
Dim strFieldName As String
Dim srfFieldNameChg As String
Dim ctl As Control
Dim ctlName As String
I am trying to capture the field names and values of over 30 fields on a
form, pass those names and values into a procedure to then *run around
my database* and update every table that contains the field name with
the captured value.  This database is a total un-normalized mess and the
option of normalizing does not happen to be an option at this time.  I
got the code to work for just one field.  It is fine.  I then tried to
put a value on the "tag" for each required field on the form, but I
can't seem to call it from within this code.  Any ideas on how I can
store the required fields and make this thing pump through the records?

Aughghghg!!!!!



Private Sub cmdRunImport_Click()

Dim cnn As ADODB.Connection
Set cnn = CurrentProject.Connection
Dim strTableName As String
Dim strFieldName As String
Dim srfFieldNameChg As String
Dim ctl As Control
Dim ctlName As String
Dim i As Integer
Dim j As Integer

    For i = 0 To CurrentDb.TableDefs.Count - 1
        For j = 0 To CurrentDb.TableDefs(i).Fields.Count - 1
               If (CurrentDb.TableDefs(i).Name Like "*SAF") Then
               If (CurrentDb.TableDefs(i).Fields(j).Name =
("ManufacturerCode")) Then
               ===>> 'Or (CurrentDb.TableDefs(i).Fields(j).Name =
("sitecode")) Then
               Debug.Print "Field: " &
CurrentDb.TableDefs(i).Fields(j).Name
               Debug.Print "Table: " & CurrentDb.TableDefs(i).Name
               End If
               End If
               
        Next
    Next

                            strTableName = CurrentDb.TableDefs(i).Name
                            strFieldName =
CurrentDb.TableDefs(i).Fields(j).Name
                            strFieldNameChg =
"Forms![frmRequiredFieldsReview]![" & strFieldName & "chg]"
		    Debug.Print "    Field: " &
CurrentDb.TableDefs(i).Fields(j).Name
                            Debug.Print strTableName
                            Debug.Print strFieldName
                            Dim sqlTest As String
                                            sqlTest = "update " &
strTableName & " set " & strFieldName & " = " & strFieldNameChg
                                            DoCmd.RunSQL sqlTest
Set cnn = Nothing
End Sub



This works just fine.  But I have 26 fields to go through.  It will not
honor that *tag* value.  I need it to loop through my 26 or so field
names and print out each one above, line by line so I can insert it into
SQL code for my update statement.  Any ideas?



Karen S. Nicholson
Programmer Analyst
EG&G Technical Services, Inc.
Pittsburgh, PA
Phone: 412-386-6649
Email: cyx5 at cdc.gov





More information about the AccessD mailing list