You do not have to resave the table with the Join in place if you used a standard join and have edit rights in the directory where the shapefile is stored. I assume you added a field to the shapefile and want to fill it in. Select the table field from the Field Calculator field list box to get the fully qualified name of the joined table field (i.e., [TableName.FieldName])
Have you set up a field of the correct type to receive the data from the joined table? If the table contains Text and the field you want to calculate permits Long values, an error will occur if any value in the table Text field is not a real number. Normally the two field types should match. If both fields are text fields, are you sure you allowed enough characters in the shapefile field to match the number of characters in the table? By default ArcMap will create a SHORT field, but that only works if all values coming from your table are real numbers in the numeric range that the short field allows.
If the field types match correctly, but you have records in the shapefile that are unmatched in the table, an error will occur when you try to use the Field Calculator to insert a Null value in those unmatched records. Geodatabase feature classes allow that, but for most field types shapefiles do not. Select all records where the TableName.FID > -1 to only select the features with a matching table record, then perform the calculation.