One of my queries which has always worked before now gives a "No Current Record" error. I didn't change the query. Another query which is almost identical save for the fact that it uses parameters and a WHERE statement still works.
This started about an hour after I split the database into frontend/backend with Access's built in split tool, although the query still worked for a short time after the split. I'm not sure splitting the database is related to the cause of the error or not.
I use the query with a datasheet form. The error first occurred when I was sorting and filtering the datasheet in the form.
I've tried compact and repair. I've tried copy/pasting the sql of the query into a new query.
I finally went back to my original unsplit database, split it again, and now the query works. But I fear this problem will come back if I can't identify the cause.
The queries are really long so please forgive me. Here is the query that started giving "No Current Record":
And here is the almost identical query which still works:
This started about an hour after I split the database into frontend/backend with Access's built in split tool, although the query still worked for a short time after the split. I'm not sure splitting the database is related to the cause of the error or not.
I use the query with a datasheet form. The error first occurred when I was sorting and filtering the datasheet in the form.
I've tried compact and repair. I've tried copy/pasting the sql of the query into a new query.
I finally went back to my original unsplit database, split it again, and now the query works. But I fear this problem will come back if I can't identify the cause.
The queries are really long so please forgive me. Here is the query that started giving "No Current Record":
SQL:
SELECT "Edit" AS Edit,
INVOICES.MEMBER_ID_FK,
INVOICES.INVOICE_NUM_PK,
INVOICES.INVOICE_DATE,
INVOICES.DUE_DATE,
INVOICES.START_DATE,
INVOICES.END_DATE,
INVOICES.AGE_AT_INVOICE_DATE,
INVOICES.PAID_DATE,
INVOICES.Invoice_Paid,
INVOICES.INVOICE_MONTH,
INVOICES.BENEFITS_MONTH,
INVOICES.PAPER_ACH,
InvoiceData_Live.NAMEL,
InvoiceData_Live.NAMEF,
InvoiceData_Live.NAMEFL,
InvoiceData_Live.STREET,
InvoiceData_Live.CITY,
InvoiceData_Live.STATE,
InvoiceData_Live.ZIP,
InvoiceData_Live.NAMEF & ' ' & InvoiceData_Live.NAMEL & Chr(13) & Chr(10) & InvoiceData_Live.STREET & Chr(13) & Chr(10) & InvoiceData_Live.CITY & ', ' & InvoiceData_Live.STATE & ' ' & InvoiceData_Live.ZIP AS address, 'Dear ' & InvoiceData_Live.NAMEF & ":" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & 'The following is your ' & INVOICES.INVOICE_MONTH & ' bill which will pay for ' & INVOICES.BENEFITS_MONTH & ' benefits. This bill reflects payments received by ' & INVOICES.INVOICE_DATE & '.' AS message,
INVOICES.LIFE_AMOUNT,
INVOICES.DEPENDENT_AMOUNT,
INVOICES.DENTAL_AMOUNT,
INVOICES.SUPPLE_AMOUNT,
INVOICES.AMOUNT_PAID,
INVOICES.CREDIT_AMOUNT,
INVOICES.INITIAL_POCD_AMOUNT,
Sum(INVOICES.LIFE_AMOUNT+INVOICES.DEPENDENT_AMOUNT+INVOICES.DENTAL_AMOUNT) AS [Monthly Amount Due],
FORMAT(SUM((SELECT NZ(SUM(LIFE_AMOUNT + DEPENDENT_AMOUNT + DENTAL_AMOUNT - AMOUNT_PAID - CREDIT_AMOUNT + INITIAL_POCD_AMOUNT), 0)
FROM INVOICES AS OD WHERE OD.INVOICE_DATE < INVOICES.INVOICE_DATE AND OD.MEMBER_ID_FK = INVOICES.MEMBER_ID_FK AND OD.EXCLUDE_FROM_RUNNING <> TRUE) - (INVOICES.CREDIT_AMOUNT+INVOICES.INITIAL_POCD_AMOUNT)), "currency") AS [Past Due or Credit],
FORMAT(SUM((SELECT NZ(SUM(LIFE_AMOUNT + DEPENDENT_AMOUNT + DENTAL_AMOUNT - AMOUNT_PAID - CREDIT_AMOUNT + INITIAL_POCD_AMOUNT), 0)
FROM INVOICES AS OD WHERE OD.INVOICE_DATE < INVOICES.INVOICE_DATE AND OD.MEMBER_ID_FK = INVOICES.MEMBER_ID_FK AND OD.EXCLUDE_FROM_RUNNING <> TRUE) + (INVOICES.LIFE_AMOUNT+INVOICES.DEPENDENT_AMOUNT+INVOICES.DENTAL_AMOUNT - INVOICES.CREDIT_AMOUNT + INVOICES.INITIAL_POCD_AMOUNT)), "currency") AS [Total Amount Due],
INVOICES.BANK,
INVOICES.COMMENTS
FROM InvoiceData_Live INNER JOIN INVOICES ON InvoiceData_Live.ID = INVOICES.MEMBER_ID_FK
GROUP BY INVOICES.MEMBER_ID_FK, INVOICES.INVOICE_NUM_PK, INVOICES.INVOICE_DATE, INVOICES.BENEFITS_MONTH, INVOICES.DUE_DATE, INVOICES.START_DATE, INVOICES.END_DATE, INVOICES.AGE_AT_INVOICE_DATE, INVOICES.PAID_DATE, INVOICES.Invoice_Paid, INVOICES.INVOICE_MONTH, INVOICES.PAPER_ACH, InvoiceData_Live.NAMEL, InvoiceData_Live.NAMEF, InvoiceData_Live.NAMEFL, InvoiceData_Live.STREET, InvoiceData_Live.CITY, InvoiceData_Live.STATE, InvoiceData_Live.ZIP, INVOICES.LIFE_AMOUNT, INVOICES.DEPENDENT_AMOUNT, INVOICES.DENTAL_AMOUNT, INVOICES.SUPPLE_AMOUNT, INVOICES.AMOUNT_PAID, INVOICES.CREDIT_AMOUNT, INVOICES.INITIAL_POCD_AMOUNT, INVOICES.BANK, INVOICES.COMMENTS
ORDER BY INVOICES.MEMBER_ID_FK, INVOICES.INVOICE_DATE, INVOICES.INVOICE_NUM_PK;
And here is the almost identical query which still works:
SQL:
PARAMETERS
[Input month number in form of MM] Integer,
[Input year number in form of YYYY] Integer;
SELECT
INVOICES.MEMBER_ID_FK,
INVOICES.INVOICE_NUM_PK,
INVOICES.INVOICE_DATE,
INVOICES.DUE_DATE,
INVOICES.START_DATE,
INVOICES.END_DATE,
INVOICES.AGE_AT_INVOICE_DATE,
INVOICES.PAID_DATE,
INVOICES.Invoice_Paid,
INVOICES.INVOICE_MONTH,
INVOICES.BENEFITS_MONTH,
INVOICES.PAPER_ACH,
InvoiceData_Live.NAMEL,
InvoiceData_Live.NAMEF,
InvoiceData_Live.NAMEFL,
InvoiceData_Live.EUID,
InvoiceData_Live.DOD,
InvoiceData_Live.DOD_Flg,
InvoiceData_Live.ACTIVE,
InvoiceData_Live.STREET,
InvoiceData_Live.CITY,
InvoiceData_Live.STATE,
InvoiceData_Live.ZIP,
INVOICES.LIFE_AMOUNT,
INVOICES.DEPENDENT_AMOUNT,
INVOICES.DENTAL_AMOUNT,
INVOICES.SUPPLE_AMOUNT,
INVOICES.AMOUNT_PAID,
INVOICES.CREDIT_AMOUNT,
INVOICES.INITIAL_POCD_AMOUNT,
Sum(INVOICES.LIFE_AMOUNT+INVOICES.DEPENDENT_AMOUNT+INVOICES.DENTAL_AMOUNT) AS [Monthly Amount Due],
FORMAT(SUM((SELECT NZ(SUM(LIFE_AMOUNT + DEPENDENT_AMOUNT + DENTAL_AMOUNT - AMOUNT_PAID - CREDIT_AMOUNT + INITIAL_POCD_AMOUNT), 0)
FROM INVOICES AS OD WHERE OD.INVOICE_DATE < INVOICES.INVOICE_DATE AND OD.MEMBER_ID_FK = INVOICES.MEMBER_ID_FK AND OD.EXCLUDE_FROM_RUNNING <> TRUE) - (INVOICES.CREDIT_AMOUNT+INVOICES.INITIAL_POCD_AMOUNT)), "currency") AS [Past Due or Credit],
FORMAT(SUM((SELECT NZ(SUM(LIFE_AMOUNT + DEPENDENT_AMOUNT + DENTAL_AMOUNT - AMOUNT_PAID - CREDIT_AMOUNT + INITIAL_POCD_AMOUNT), 0)
FROM INVOICES AS OD WHERE OD.INVOICE_DATE < INVOICES.INVOICE_DATE AND OD.MEMBER_ID_FK = INVOICES.MEMBER_ID_FK AND OD.EXCLUDE_FROM_RUNNING <> TRUE) + (INVOICES.LIFE_AMOUNT+INVOICES.DEPENDENT_AMOUNT+INVOICES.DENTAL_AMOUNT - INVOICES.CREDIT_AMOUNT + INVOICES.INITIAL_POCD_AMOUNT)), "currency") AS [Total Amount Due],
INVOICES.BANK,
INVOICES.COMMENTS
FROM InvoiceData_Live
INNER JOIN INVOICES ON InvoiceData_Live.ID = INVOICES.MEMBER_ID_FK
WHERE YEAR(INVOICES.INVOICE_DATE) = [Input year number in form of YYYY] AND MONTH(INVOICES.INVOICE_DATE) = [Input month number in form of MM]
GROUP BY INVOICES.MEMBER_ID_FK, INVOICES.INVOICE_NUM_PK, INVOICES.INVOICE_DATE, INVOICES.BENEFITS_MONTH, INVOICES.DUE_DATE, INVOICES.START_DATE, INVOICES.END_DATE, INVOICES.AGE_AT_INVOICE_DATE, INVOICES.PAID_DATE, INVOICES.Invoice_Paid, INVOICES.INVOICE_MONTH, INVOICES.PAPER_ACH, InvoiceData_Live.NAMEL, InvoiceData_Live.NAMEF, InvoiceData_Live.NAMEFL, InvoiceData_Live.EUID, InvoiceData_Live.DOD, InvoiceData_Live.DOD_Flg, InvoiceData_Live.ACTIVE, InvoiceData_Live.STREET, InvoiceData_Live.CITY, InvoiceData_Live.STATE, InvoiceData_Live.ZIP, INVOICES.LIFE_AMOUNT, INVOICES.DEPENDENT_AMOUNT, INVOICES.DENTAL_AMOUNT, INVOICES.SUPPLE_AMOUNT, INVOICES.AMOUNT_PAID, INVOICES.CREDIT_AMOUNT, INVOICES.INITIAL_POCD_AMOUNT, INVOICES.BANK, INVOICES.COMMENTS
ORDER BY INVOICES.MEMBER_ID_FK, INVOICES.INVOICE_DATE, INVOICES.INVOICE_NUM_PK;