Moderator,
1) tblPaymentMethods can be added to by user to add new methods as they become available. it has the following fields: PaymentMethodID(PK) and PaymentMethod.
tblPaymentInfo stores the PaymentMethodId and is relate to tblPaymentMethod with a join type 1. PaymentMethodID (5) = Applied Fees/Dues.
tblTransaction stores PaymentInfoID to identify the details of the transaction, ei: TransDate, CheckNumber, CreditCardNumber, CCVC#, ConfirmationNumber, and PaymentMethodID...
any new transaction need to record the PaymentMethodId in tblPaymentInfo to identify the PaymentMethod selected.
2) Because of economics today, we do sometimes allow members to make partial payments on agreement. Dues are annual, but some renewal dates are based on join date or business type.
3) I am not recording a payment or Credit, I am creating a debit by applying membership dues to a members account. That is why I am invoicing the member.
4) Yes, I need to increase the renewalDate by 1 year at the end of the transaction.
I use this code to accomplish that in my frmTransationInput : [tlbMember]![RenewalDate] = DateAdd("yyyy", 1, CRD) where 'CRD = (Dim CRD As Date 'Current Renewal Date); (CRD = DLookup("RenewalDate", "tblMember)) but am not sure how this would work with this new code...