Forms :: Opening Report And Subreport To Current Records
Jun 10, 2013
I have a main form (ZooMobile Booking Form-New Client) with a subform (ZooMobile Event Booking-New Client) within it. In the main form I have a button to open up a report displaying the main form's current record.
The report that is opened has a subreport that needs to display the current record from the subform.
So far I've managed to get the report to open to the main form's record using the following On_click command:
I can't manage to get the subreport to open to the current record in the subform, however. I've tried to integrate it into the above event and to use On_load events in the report and subreport but everything either comes up as a bug or has no effect on the subreport's record.
I have a continuous form based on a 'start date' - 'end date' query. I would like to be able to select certain records from this form to print.
I have added a 'print' field and have created a new query including this parameter which a report can be based on but when i run this report I am, of course, asked for the original 'start date' and 'end date' again.
Is there any way of linking the command button to only the records on the current form?
I am trying to send the current record and the current subform record to Reports for printing.Each record on the Form can have multiple records in the subform, however I only want to print the Main Form and the Current subform.Form / subform are linked on EquipID and EquipIDfk and are working correctly.Report / subreport are linked the same way and work correctly.When I try to use the DoCmd.OpenReport... It is printing the data from the main form plus all subform records related to the main record.I have tried the following Sub to filter the subreport without success.
Private Sub cmdPrintRecord_Click() Dim strWhere As String Dim strLook1 As String Dim strLook2 As String strLook1 = Me![EquipID] strLook2 = Me![subfrmInspectionReport].Form![InspectionFindingspk]
[code]...
Using Debug strLook1 and strLook2 both show they have the correct relevant record numbers and the value stored in strWhere is: [EquipID] = 745 And Reports![RptPrintRecord]![subrptInspectionReport].Report![InspectionFindingspk] = 8. This only prints an empty report. It seems that when I try to reference the subreport it goes pear shaped.
I have a report which programmatically sets the value of some labels based on its own internal logic for each line of the detail section of a report. This all works fine and dandy, using the Detail_format event, and accessing detail.controls.item(x).caption.
HOWEVER, when I then embed the report as a subreport (which I need to do), I goes wrong. Here, I get the values of the last row of the detail repeated in every previous one. I'm suspecting because the parent report has its own 'detail' (I've tried giving the subreport its own distinct detail name).
I am using Access 2010 - Version 14.0.61.29.5000 (32-bit)
I am building a custom Export Wizard to export data to Excel using the Report Wizard for the basic ideas.
All I am trying to do is have a [Back] button on a form to open another form and close the current form.
Private Sub cmdBack_Click() DoCmd.OpenForm "frm_ExportWizardPage2", , , , , , Nz(Me.OpenArgs) DoCmd.Close acForm, "frm_ExportWizardPage3" End Sub
The new form is opening but then the current form is not closing. All forms are the same size, shape and positioned centrally although this should not make any difference.
Could this be anything to do with which form has the focus when I open the new form?
I have two pop up forms called "frmRepair" and "frmPaid" with a button that opens another popup form called "frmLabels". This final form has a button to print a report with the following code:
The problem is that when this report opens, it is always behind frmRepair or frmpaid and frmLabels so it can't be seen.
I tried to use the popup and modal properties on the report, but this does not seem to do what I need.
My next step was to hide frmRepair or frmPaid when frmLabels loaded and then hide frmLabels when I was printing the report, but the problem is that when the report closes I need to also close frmLabels (easy) but then I need to make visible either frmRepair or frmPaid, depending on which one was used to open frmLabels. How can I do that? How do I know which one of the two forms opened frmLabels to make it visible again?
What are my options to have that report open on top of everything?
But it returns every record for that agent and I want to be able to specify the date that goes with the name.
For example Tom has a record for Feb 10, Jan 10, and Dec 13. I only want to see the record for Dec 13.
I am able to see this in my form by having a combo box for the agent and the date (the date box being based on the agent box). So now how can I add a condition to include the date combo box?
Adding the condition gives me and type mismatch error, which I think may come down to the date combo box on the form having 3 columns (only 1 is visible).
I have a report that runs a parameter query identifying which StudentID it wants to run the report of, and what month/year.I want to leave the month/year as a parameter, but what I want to do is get the record that I selected from the listbox (IE. student 1000) and then when I click on Run Report Card, it wouldn't ask me for the parameter of the student, but just the year, and then it would run the report card for the student I selected.
I tried doing the open report macro and in the where row I put [StudentID] = [Forms]![Form1]![List12]
How do I now get the report to generate off the ID and not the date?
No sure if it matters, but my form is populated by choosing a name in a combo box then the date in another combo box. Its the date combo that finds the record for the form.
When I open my access 2007 database from the switchboard, the form that it opens up to is a parent form with a subform embedded in it. The subform is linked by the 'org name' and by 'year'.
I am finding that when I open the parent form,there is always an additional empty record in the subform, alongside the record which has data in it.
I am not sure why it is doing this, especially as when you enter another record, this empty form vanishes. Its almost acting as the default form?
I have also noticed that when I go to another form which is displaying specific data linked to the 'org name' and 'year' it also has an extra record
However, the weird thing is it does not show up in the table. And again, once you go to a new organisation and input some data, and then go back to the other organisation,the additional record has gone?
Is there a simple property setting whereas each time you open the form, it always opens up to where you essentially left off, no empty record?
I have a report which includes several subreports. There will be times when a subreport prints partially on one page and completes on the next. I don't always want to break to a new page with this subreport. However, I would want to break to a new page if the subreport cannot fully print on the current page.
I have a Report linked with a SubReport. I would like to cancel viewing this Report if my SubReport Has No Data. i tried this code but the report just shows up. Any Ideas?
Private Sub Report_Open(Cancel As Integer) On Error GoTo Err_Trapper If Reports![qryRepCurOrgProjsSR].Report.HasData = 0 Then Cancel = True End If Err_Trapper: MsgBox Err.Description Exit Sub End Sub
Ok i got an error message. Yoy entered an expression that has an invalid Reference to the hasData property.
Ive tried using a text bpx on my main report and putting a control source as
=IIf(qryRepCurOrgProjsSR.Report.HasData,0,"Nothing") Then in my Report Open Event i put the code below. But it fails me still.
If trim(Me.MyText) = "Nothing" Then MsgBox "The Report Is Cancelling....." Cancel = True Exit Sub End If
I have a DB in Access 2007 which I'm having trouble with. I have a form, "Sub_Det_Frm", on which I would like to place a button to print the current record, (Primary Key is an autonumber "Employee Number") to a report "Sub_DetForm_Rpt".
I've used the instructions from, oops I can't show you the link! It's h(double t)p(colon)//allenbrowne(dot)com/casu-15(dot)html but I'm getting this error:
The expression On Click you entered as the property setting produced the following error: A problem occurred while Employee Details was communicating with the OLE server or ActiveX Control.
This error occurs when an event has failed to run because Microsoft Office Access cannot evaluate the location of the logic for the event. For example, if the OnOpen property of a form is set to =[Field], this error occurs because Access expects a macro or event name to run when the event is fired.
I currently have a database which has a fairly simple form linked directly to a table, which records staff attendance information.
It generally works really well, however there is one thing I would like it to do, which is be able to hide certain records from view (rather than delete them completely).
I have a checkbox on the form (bound to a corresponding field on the table) called chkHide (the field in the table is called hide), which is not visible in form view; I have a button that is visible and when pressed by a user it will change the value of the check box to True.
So far so good. However, I would then like to have the form refresh and when it does so no longer show the record to the user (so it looks like it has been deleted, but in fact that record remains in the table).
I have tried applying a filter on load, but I don't know what expression to put in the Filter on the Property Sheet - - I have tried [Hide] = Is Null, but that isn't right. I have also created a Query where I have set the criteria for the field 'Hide' to Is Null and then put the name of the query in the Filter box - that doesn't work either, as it will let me put in new records but not let me see any of those put in before the form was refreshed.
I have a report named rpt100 with two subreports srpt100a and srpt100b. The subreports are based on query qry100a and qry100b. Both queries are based on tbl100. I removed a field named 'Comment' from tbl100, as it wasn't useful; Also removed the fieldname from both qry100a and qry100b. When opening rpt100 a parameter dialog opens asking for data on the deleted fieldname 'Comment'. The field 'Comment' was never used in the report or subreports.
Inspection of the subreport fieldlist shows field 'Comment' still present.
How, other than remaking the rpt100 and both srpt100a and srpt100b, do I remove the field 'Comment'?
I have several forms in a navigation form. On all the forms, the little search bar at the bottom shows # of 103 records. On my navigation form it shows 1 of 1 and won't allow me to search.It would seem that the search bar is only looking at the current form and not at the records.
Below is the working version of the code works for single report filtering. say a report called "rptduedate_census2" and i can filter out using form instead of hard coding query of that report (say lastname=form!frmsample!txtlastname). I dont want to hard code query and there are reasons for that.
I am using a Main report called "rptDueDates_Dept' and there are about 10 different subreports (see print screen). The main report is not bound to any query. It has many subereport. Each subreport is bound to some query and i need to be able to filter them before data appear on the main report. Am i making any sense, LOL.
How can I implement my working code below to do this. PLEASE PLEASE PLEASE HELP. I AM NEW TO ALL THIS. I have attached a print screen of the main report, just to show how i put subreports in their.
===== MY WORKING CODE ====== Private Sub cmdPrv_Click() Dim strFilter As String
strFilter = "[Mail_Census_Date] BETWEEN #" & txtStartDate & " # AND # " & txtEndDate & " # "
' Apply the filter and switch it on
If SysCmd(acSysCmdGetObjectState, acReport, "Report") <> acObjStateOpen Then DoCmd.OpenReport "rptduedate_census2", acViewPreview With Reports![rptduedate_census2] .Filter = strFilter .FilterOn = True End With DoCmd.Restore Exit Sub End If
I have a main report with one subreport. The main report contains details of a payment being made to a supplier. There is the total amount being paid, and the cheque number being transferred. There is also a field called payref which is made invisible. This is used to link up with the subreport. The amount is the total of several invoices for which payment is being made.
The subreport contains details of each of a number of the invoices being settled. The subreport is linked to the main report via a common field called pay-ref, and the subreport is 'visible'. The subreport prints when placed in the page header section of the main report. However when there is a large number of invoices being shown in the subreport only a certain number appear. It appears that the subreport can only hold a certain number.
When the subreport is put, as it should, in the detail section of the main report, it does not appear at all in the main report. I have no clue why and I have made several reports like this one before.
linking a report and a subreport (chart). I have uploaded my sample DB. I'm trying to chart all the individuals and three fields for each Home. Both report and subreport are using the same query for the record source. My charts are blank "All_Homes_Individual_Totals". Just use date range 05/01/14, 06/24/14 on my Main form page for the data.
My second question is how would you create a chart to pull by each individual with their monthly totals per Home using "qry_Community_ Inclusion_ All_Homes" with a report and subreport (chart) as above. Report would show the individual's totals by month for each home.
I am trying to get my totals from my subreports, and dividing the number by 2 or 4, and put the new number on the main report.
for Operator/Trainer Productivity, I used: =([rptEmployEvaluationOperator subreport].[Report]![OPTotal]+[rptEmployEvaluationOperatorTrainer subreport].[Report]![OPTotal])/2
for Auditor/Trainer Productivity, I used: =([rptEmployEvaluationAuditor1 subreport].[Report]![OPTotal]+[EmployEvaluationAuditor2 subreport].[Report]![OPTotal]+[EmployEvaluationAuditor3 subreport].[Report]![OPTotal]+[EmployEvaluationAuditorTrainer subreport].[Report]![OPTotal])/4
These both work if there are values in all totals subreports. When one of them might not have a total, I get an error message.
I have a report that is fixed at one page for one record. However, there is a subreport with many transactions ("CanGrow"=No). If this goes to a new page I have to close the report and start a new one. This all works fine, except for the last transaction - if the second-to-last transaction record is at the bottom of a page then the last one does not print.
Access seems to format the data, then it realizes that it won't fit on the page so doesn't print it. I am using record id number to know which transaction record to start the next report on, so when it gets to the end my logic thinks it has reached the end as the id number is the last one in the set.
How can I know if the last record has printed or not?
I have a form that contains a subform. The subform is a datasheet which calls the results of a query of 4 tables (tbl_companies, tbl_deals, tbl_products, tbl_vl).
In the main form there is a button which opens a report with a historical record of dates of value changes of each product up to a chosen date. This chosen date is determined by inputting a date into a text box.
This report also sources (tbl_companies, tbl_deals, tbl_products, tbl_vl).
When I try to open the report, I get the run-time error "3211".
'The database engine could not lock the table "Tbl_companies" because its already in use by another person or process.'
I'm guessing that because the query for the subform is already calling the table, the query for the report can't call the table at the same time?
When opened it displays all records (no selection yet).
I put would like to put 2 buttons to filter records (Male/Female).
I'm thinking of 2 possible options:
1-on click run a script that will close current form, then reopen it with selection criteria 2-directly apply a filter on the current form that would automatically refresh itself with the right records
Another (heavy, inelegant?) solution would be to create duplicates of this form. they would be loaded from separate queries that select the right records in either choice.