Solved

Recordset not updateable ......

Posted on 2011-09-22
7
277 Views
Last Modified: 2012-05-12
See attached.
Click frmDatasheet
Double on one of the circular option buttons on the left.  This chooses a customer.

I have put a STOP in the code to assist.
Now F8 through the code.
It will crash with a recordset error on the line "DateViewed = Now()"

WHY ? This worked earlier in the day.
KeyService2.accdb
0
Comment
Question by:Patrick O'Dea
  • 4
  • 3
7 Comments
 
LVL 61

Expert Comment

by:mbizup
ID: 36583145
Not sure if this is your issue, but the file you uploaded appears to be corrupt.
0
 

Author Comment

by:Patrick O'Dea
ID: 36583409
Hi again,
Hopefully this is not corrupt.
I have simplified things.
Click on frmCUstomers
F8 until you get a recordset error (only a few F8)

Why this error?

frmCustomers maintains the tblCustomers - fairly straight forward stuff
KeyService2.accdb
0
 
LVL 61

Expert Comment

by:mbizup
ID: 36583482
Can't open that one either - unrecognized database format, and the upload is zero bytes.
0
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
LVL 61

Expert Comment

by:mbizup
ID: 36583564
Okay - I got a little further with your first uploaded DB by switching to an Access 2010 computer.

I now get to a password prompt.
0
 

Author Comment

by:Patrick O'Dea
ID: 36583574
Yes , I see the zero sized one.
I have uploaded again and this is 3MB (I can see it in EE screen!)

Password is 1234
KeyService2.accdb
0
 
LVL 61

Accepted Solution

by:
mbizup earned 500 total points
ID: 36584157
Your recordsource query for frmCustomers looks odd  - I'm not sure if this is deliberate or not, but it is the culprit:

SELECT tblCustomers.CustomerID, tblCustomers.CustomerName, tblCustomers.CustomerPhone, tblCustomers.CompanyName, tblCustomers.Add1, tblCustomers.Add2, tblCustomers.Add3, tblCustomers.PostCode, tblCustomers.DateReported, tblCustomers.ExpectedCompletion, tblCustomers.RevisedCompletion, tblCustomers.GeneralComments, tblCustomers.WindowCount, tblCustomers.FaultyWindowCount, tblCustomers.InstallationDate, tblCustomers.ReportedBy, tblCustomers.Status, tblCustomers.CallBackDate, tblCustomers.DateCompleted, tblCustomers.SiteVisitRequired, tblCustomers.CompletionCertNumber, tblCustomers.EngineerorSubcontractor, tblCustomers.Locked, tblCustomers.DateLocked, tblStatus.AllowLock, tblCustomers.Merchant, tblCustomers.Locker, tblCustomers.DateViewed, tblCustomers.email, tblCustomers.PaymentMethod, tblCustomers.CreditCardNumber, tblCustomers.[3Digit], tblCustomers.NameOnCard, tblCustomers.ExpiryDate, tblCustomers.CalloutCharge, tblCustomers.PaymentReceived, tblCustomers_1.ChargeableToCustomer
FROM tblCustomers AS tblCustomers_1, tblCustomers INNER JOIN tblStatus ON tblCustomers.Status = tblStatus.StatusID;

You have tblCustomers and an alias for tblCustomers (tblCustomers_1), with one field being selected from the alias (ChargeableToCustomer).

That doesn't *seem* necessary, and revising it like this makes it updateable:

SELECT tblCustomers.CustomerID, tblCustomers.CustomerName, tblCustomers.CustomerPhone, tblCustomers.CompanyName, tblCustomers.Add1, tblCustomers.Add2, tblCustomers.Add3, tblCustomers.PostCode, tblCustomers.DateReported, tblCustomers.ExpectedCompletion, tblCustomers.RevisedCompletion, tblCustomers.GeneralComments, tblCustomers.WindowCount, tblCustomers.FaultyWindowCount, tblCustomers.InstallationDate, tblCustomers.ReportedBy, tblCustomers.Status, tblCustomers.CallBackDate, tblCustomers.DateCompleted, tblCustomers.SiteVisitRequired, tblCustomers.CompletionCertNumber, tblCustomers.EngineerorSubcontractor, tblCustomers.Locked, tblCustomers.DateLocked, tblStatus.AllowLock, tblCustomers.Merchant, tblCustomers.Locker, tblCustomers.DateViewed, tblCustomers.email, tblCustomers.PaymentMethod, tblCustomers.CreditCardNumber, tblCustomers.[3Digit], tblCustomers.NameOnCard, tblCustomers.ExpiryDate, tblCustomers.CalloutCharge, tblCustomers.PaymentReceived, tblCustomers.ChargeableToCustomer
FROM tblCustomers INNER JOIN tblStatus ON tblCustomers.Status = tblStatus.StatusID;

That makes it 'work', and I don't think it changes your expected functionality.

0
 

Author Closing Comment

by:Patrick O'Dea
ID: 36589157
Thanks , perfect solution.  I should have spotted it !
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

790 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question