Alan,
Use all of the agruments for TableUpdate(). They are in order;
nRows = 0 one row, 1 all rows and fail on any problem, 2 all rows and do not fail but record failed records in the array argument
lForce = .T. force the update over any other user's changes, .F. do not force the update
cAlias = The alias name of teh table to be updated (always use this argument as in an event driven interface you have no idea what the currently select work area is).
aAarray = the name of an array to record the failed records for nRows = 2
Also, always check the retunr value from TableUpdate(), never depend on it succeeding because it may not. Your code can be;
IF NOT TableUpdate(1,.F.,"Customer")
AERRORS(laErrors)
ENDIF