If you create a group with multiple items and tick the ‘Store OPC quality code’ box, the code that is saved is created by logically ANDing the codes for all the items together. This does mean that if only one item is in error, the code for the whole group will show an error.
It is possible to record the quality codes for each item separately. To do this, add an item to a group, then double-click the item to edit it and change the Property field from Value (the default) to Quality. Note that you will have to add 2 copies of the item to record both value and quality.
You might want to consider creating 2 groups, one for value and the other for quality, both groups having an identical trigger so the data in each group is recorded at the same time. If you go down this route, it is possible to change the Property of multiple tags simultaneously, by highlighting all the tags you wish to change before double clicking and changing the Property field.
There are 2 ways to approach recording multiple values in a database: wide (multiple values in one row for each record) or tall (one value in multiple rows). It is normally easier when dealing with logged data to access multiple values in one row. However, if you want to store one value per row, you can do this using a Block Group. This will also allow you to record the quality of each tag separately. The restriction here is that the points must be held in contiguous registers in your PLC - the help file covers this.
Hopefully one of these approaches will work for you.