>>If you have Primary Key, which is not Integer (e.g. can be handled by GetNextKey procedure automatically), how do you ensure uniqueness of this PK in your forms? This PK could be one field (simplest case) or it could be combination of fields (more complicated case).
>
>Generate your own integer primary key behind the scenes, these are guaranteed to be unique.
>
>Natural keys are a headache because falliable users generate them and there can be exceptions to rules. Example social security number is a poor choice of primary key for a patient table. What is the patient is Canadian (no number). What if the patient is a baby with no number assigned yet? What if the person doesn't know their number.
Been there, done that. A temporary key is issued (and made sure it doesn't have a chance to be a double of someone's real key), and then if the person ever reappears with a real key, a procedure to reassign the new key was used... and it was a nightmare.