Confused by parameter error dialog

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • akirekab
    New Member
    • Oct 2006
    • 47

    Confused by parameter error dialog

    I am running a report in Access. When I click to run report, a dialog comes up for missing parameter, showing just the name of a table in the box.

    Now if I just click ok without typing anything in, the report dispays perfectly.

    But user wants it gone, and I am at a loss. Here is click Event code:
    Code:
     Dim stDocName As String
      
        Dim strFilter As String
        
        stDocName = "rptPatientProfilebyInterviewID"
            
        DoCmd.OpenReport stDocName, acPreview
    and here is SQL generated by qry builder:

    Code:
    SELECT tblPatientProfile.*, tblInterviewRecord.*
    FROM tblPatientProfile INNER JOIN tblInterviewRecord ON tblPatientProfile.PatientProfileID = tblInterviewRecord.PatientProfileID
    WHERE (((tblInterviewRecord.InterviewID)=[Forms]![frmPatientProfile]![frmInterviewRecord subform]![InterviewID]));
    parameter dialog, comes up and shows tblPatientProfi le

    I can't figure out why this is popping up
    Ken
  • NeoPa
    Recognized Expert Moderator MVP
    • Oct 2006
    • 32633

    #2
    There's nothing in here I can see which would cause that Ken.

    Can you copy the exact message from the error message box. If this can't throw any light we may have to look at using the Access Documentor function and searching through the results.

    Comment

    • akirekab
      New Member
      • Oct 2006
      • 47

      #3
      The dialog, box, has nothing in it except the table name
      'tblPatientProf ile'

      Comment

      • NeoPa
        Recognized Expert Moderator MVP
        • Oct 2006
        • 32633

        #4
        So the title is Missing Parameter and the contents, pasted in exactly as requested, is 'tblPatientProf ile' (including the quotes)?

        This is leading to uncharted territory then, and we will need to use the Access Documenter feature to discover what is referring to this.

        Comment

        • akirekab
          New Member
          • Oct 2006
          • 47

          #5
          Actually it is titled
          Enter Parameter Value

          Then above the input of dialog box it says tblPatientProfi le
          with no quotes

          it has the normal ok button, and when I click it, without entering anything, the report prints or previews normally and correctly.

          Thanks
          Ken

          Comment

          • NeoPa
            Recognized Expert Moderator MVP
            • Oct 2006
            • 32633

            #6
            Ah. That's starting to make some sense.

            Please try to run the SQL you posted, natively (as a query rather than as a data source for the report) and describe what you get.

            Comment

            • akirekab
              New Member
              • Oct 2006
              • 47

              #7
              Ok I ran the query,
              [CODE=SQL]SELECT tblPatientProfi le.*, tblInterviewRec ord.*
              FROM tblPatientProfi le INNER JOIN tblInterviewRec ord ON tblPatientProfi le.PatientProfi leID = tblInterviewRec ord.PatientProf ileID
              WHERE (((tblInterview Record.Intervie wID[B])=[Forms]![frmPatientProfi le]![frmInterviewRec ord subform]![InterviewID]));[/CODE]
              Got dialog asking for the

              [Forms]![frmPatientProfi le]![frmInterviewRec ord subform]![InterviewID]));

              which I entered and got the correct reply.
              A combination of fields from the two tables.

              It normally gets that parameter from the form which originates the report request.

              Comment

              • akirekab
                New Member
                • Oct 2006
                • 47

                #8
                Sorry had typo in the SQL in frame above

                Code:
                SELECT tblPatientProfile.*, tblInterviewRecord.*
                FROM tblPatientProfile INNER JOIN tblInterviewRecord ON tblPatientProfile.PatientProfileID = tblInterviewRecord.PatientProfileID
                WHERE (((tblInterviewRecord.InterviewID)=[Forms]![frmPatientProfile]![frmInterviewRecord subform]![InterviewID]));

                Comment

                • NeoPa
                  Recognized Expert Moderator MVP
                  • Oct 2006
                  • 32633

                  #9
                  Ken, that's clearly expressed and I now know that the problem is not in the SQL itself.

                  That makes life harder of course, so we now need to look at the Documenter facility. It's a neat trick anyway so may be of more general interest.

                  From your main database window select Tools / Analyse / Documenter.
                  Makes sure at this stage to include everything you can. Kitchen sink optional.

                  When you have created the document save it and then open it in Word (convert from RTF). Now search through the document for instances of the string (tblPatientProf ile). This should find some less visible references which would take a deal of searching for (and digging around) in the main Access application.

                  You may find more items than you need and will need to ignore those elements which would not cause your problem.

                  Good luck, and let us know how you get on.

                  Comment

                  • akirekab
                    New Member
                    • Oct 2006
                    • 47

                    #10
                    NeoPa
                    I have looked over documenter, now should I be just checking the table, report and query I am worrying about or really check everything??

                    Ken

                    Comment

                    • NeoPa
                      Recognized Expert Moderator MVP
                      • Oct 2006
                      • 32633

                      #11
                      For thoroughness, I would advise doing the whole lot. Also, it's hard to be more precise without the details in front of me.

                      Alternatively, you could try just the report itself and any related items (queries etc) first with a view to doing the whole lot later if nothing is uncovered. It's up to you.

                      When you have the (possibly enormous) document open in MS Word, simply do a search (Ctrl-F) for (tblPatientProf ile) and examine all the occurrences found. You should find something that sets off alarm bells.

                      Let me know how you get on.

                      Comment

                      Working...