Solved

The specified field could refer to more than one table listed in the FROM clause of your SQL statement

Posted on 2006-10-25
2
531 Views
Last Modified: 2012-05-05
I get the message above when I try to open a form using a control button on another form.  The form being opened is frmTrainee and its query's SQL looks like this:

SELECT tblTrainees.StaffTrainingID, tblTrainees.StaffID, tblStaff.StaffLastName, tblStaff.StaffFirstName, tblTrainees.TrainingID, tblTrainees.TTBookedBy, tblTrainees.StatusID, tblTrainees.TTBooked, tblTrainees.TTBeforeLetter, tblTrainees.TTAfterLetter, tblTrainees.TTAssessment, tblTrainees.TTAssessmentReminder, tblTrainees.TTAssessmentReceived, tblTrainees.TTAssessmentNotes, tblTrainees.TTCertificate, tblTrainees.TTUpdateReminder, tblTrainees.TTUpdateBooked, tblTrainees.TTRef, tblTrainees.FunderID, tblTrainees.TTFundingAgreed, tblTrainees.TTFundingAmount, tblTrainees.TTInvoiceAmount, tblTrainees.TTFundingInvoicePay, tblTrainees.TTFundingInvoiceSent, tblTrainees.TTFundingPaid, tblTrainees.TTFundingNotes, tblTrainees.TTNotes
FROM tblStaff RIGHT JOIN (tblTrainees LEFT JOIN tblTraining ON tblTrainees.TrainingID = tblTraining.TrainingID) ON tblStaff.StaffID = tblTrainees.StaffID
ORDER BY tblStaff.StaffLastName, tblStaff.StaffFirstName, tblTraining.TrainingDate DESC;

The code for the control button that opens frmTrainee is:

    Dim stDocName As String
    Dim stLinkCriteria As String

  stDocName = "frmTrainee"

  'Open training records for this staff member
 If DCount("*", "tblTrainees", "[StaffID]=" & Me![StaffID]) <> 0 Then
         stLinkCriteria = "[StaffID]=" & Me![StaffID]
         DoCmd.OpenForm stDocName, , , stLinkCriteria
 
 'If there are none then create a new training record for this staff member
   Else
         DoCmd.OpenForm stDocName, acNormal, , , acFormAdd
         Forms!frmTrainee!StaffID = Me![StaffID]
    End If

The same form also has a control button that opens frmTraineeProgramme (which has similar code to the above except that it says frmTraineeProgramme and tblTraineeProgramme in the relevant places) but that one works fine.  I'm puzzled.  Any ideas?

0
Comment
Question by:Ludique
  • 2
2 Comments
 
LVL 61

Accepted Solution

by:
mbizup earned 500 total points
ID: 17809007
Hi Ludique,
>          stLinkCriteria = "[StaffID]=" & Me![StaffID]
Try changing this line to:

         stLinkCriteria = "tblTrainees.StaffID=" & Me![StaffID]


0
 
LVL 61

Expert Comment

by:mbizup
ID: 17809025
Glad to help ;-)
0

Featured Post

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

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

Suggested Solutions

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
As tax season makes its return, so does the increase in cyber crime and tax refund phishing that comes with it
Familiarize people with the process of utilizing SQL Server functions 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 Ac…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…

803 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