Solved

Recordset not updateable ......

Posted on 2011-09-22
7
293 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
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

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

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

Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

696 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