My database has 2 tables: Table1 & Table2. If a field is not null on a
record in table2, then the not null fields in table1 that correspond to
the records in table1 needs to be updated to match the field in table2.
What I have is a form that is linked to Table2. If the users want to
change a field in the main database (table1), they fill the change in
to the form (which is linked to table2) If there is no change to the
field, they simply leave it blank and that particular field won't be
updated on the main database(table1). The users can change up to 30
fields listed on the form.
For example, I have a record in a Table2. Of the 30 available fields,
only 3 of them are filled in and the rest are null. So I want to be
able to update just those 3 fields in the main table (table2). This is
easy to do if it's one record. But I'm trying to automate this process
and want to be able to do this update many times for different records.
I have tried to do this using a update query that has EVERY field from
Table2 in it updating to EVERY corresponding field in Table1 based on a
criteria of some kind.
I've tried putting criteria of <>Null in the criteria of each field in
the update query. But, since there is usually one field in Table2 that
is null, none of the other fields are not null won't update.
Also, I've tried to use an IIf statment in the Field line: something
like IIf([Table2]![Field1]<>Null, [Table2]![Field1],
[Table1]![Field1]). Also, I've tried IIf(IsNull([Table2]![Field1]),
[Table2]![Field1], [Table1]![Field1]). So basically I guess my
statement above says something like, if field1 in table2 is not null,
update field1 in table1 to the value of field1 in table2, if field1 in
table2 is null, update field1 in table1 to itself. The problem here I
get is an error that says my IIf(*****) statement is not a valid name
or the text is too long.
Does all this make sense and if so do you know a way to accomplish
this? Also let me know if you need more detail.
Thanks