Auto Print Report For Only Latest Record On Add New Record Event??
Jun 21, 2005
Hi All,
I am looking for some help with a project I am working on where I need to automatically print a report from my database every time a new record is added to the table. The table contains 13 fields and the report needs to display 12 of them, the other being the index which is set to Autonumber.
The table is being updated solely by ODBC, this is working OK.
There is the potential for records to be added to the table very quickly via the ODBC link, so I need to safeguard that the report is being populated with correct information from the record that triggered the print event. Also, should multiple records be added in close succession, a report needs to be correctly generated/printed for each of one. The DB is to have no user intervention, and will just run on the PC at startup with all access menus/controls locked out.
Any information on how you think I should structure this, or any examples of helpful code that you might have would be very much appreciated.
I have created a form to select multiple records for a transmittal report. I added a button to the form which I would like to open the report to view the current record. In the On Click event I added the following code:
Private Sub cmdPrint_Click() Dim strWhere As String If Me.Dirty Then 'Save any edits. Me.Dirty = False End If If Me.NewRecord Then 'Check there is a record to print MsgBox "Select a record to print" Else strWhere = "[TransmittalID] = """ & Me.[TBLTransmittal.TransmittalID] & """" DoCmd.OpenReport "RPTDwgTransmittal", acViewPreview, , strWhere End If End Sub
The debugger keeps highlighting the row above shown in red. I've used this same code before on other forms and it worked but not sure why it isn't working this time. The only difference with this form and previous ones is that this form contains a multiple values combo checkbox (hope that's the correct term). The query that the report is based on changed the names of the field names so that TransmittalID on the form is TBLTransmittal.TransmittalID in the query.
I've tried the code with and without the extended name but each time the "Do.Cmd..." is highlighted.
I have a report that is tied to a table. On my table form I have a button that prints the report. Is there a way to only print the report for the current record showing on my form?
Private Sub Command30_Click() DoCmd.RunCommand acCmdSaveRecord Dim strDocName As String Dim strWhere As String strDocName = "Civil Process" strWhere = "[FormID]=" & Me!FormID DoCmd.OpenReport strDocName, acPreview, , strWhere DoCmd.RunCommand acCmdPrint End Sub
I can get this code to print only one record but then the button will always print this record. It will not change and print the current record.
FormID is an autonumber to give each record it own id.
I have a form NoWorkOrder, i have attached a command button to Print Report. The report is named No Work Order. When I'm viewing that a record in Form View and click the command button i want only that record to print out onto the report.
I am trying to get a report to print out one one record that I want.. I want it to be able to be sorted by date and the user just picks a date and one record is printed out on page. Right now every record that is stored is being printed on a different page and over time that is going to be a lot of paper... I want to be able to pick which record I want printed...
The Form is called "Bread Mold" The report is called "Bread Mold Report" The table is called "Bread Mold" What it is sorted by is called "Swab Date"
hi i have 3 queries brought together in 1 form. i do not want a report to be printed out just the current record in form view. this is because i have a number of images per record. if i print out the current record and it only has 1 photo in a sub-form attached to the main form record, then the main form will print on 1 page which is what i want [screenshot 1]. But if there are 2 or more photos attached to the main record then the print command button prints out 2 pages for 2 photos, 3 pages for 3 photos and so on [screenshot 2]. any ideas as to how to limit the print command button to print out only 1 page per record regardless of how many photos their are attached to each record?? thanks
I've a database with patient information. The database is structured in the following way:
tblPatients - patient information tblVisits - visit information (one patient can have many visits) tblInfo - extra information related to a visit tblTreatment1 - treatment1 (linked to a visit) tblTreatment2 - treatment2 (linked to a visit) + a couple of dozen minor tables and subtables
What I need is to be able to print out a patient record with all the information related to the patient in question. A patient may have one or more visits, and one visit may include one or more treatments or several instances of one treatment. A visit may or may not have some extra information on tblInfo (etc.)
Tables are linked to each other via key fields in a normal way. (= tblVisits is linked to tblPatients via patientID field, and tblTreatment1 is linked to tblVisits via visitID field etc.) All keys of the main tables are auto numbers.
My question is: how to gather this information from the tables? This seems to be too complex for Access's report wizard to accomplish. My Access Bible -book advices to create a query to collect all the information first, but I'm having problems with this, too. One problem is that not all tables have information related to a certain patient, or one patient can have more than one record in (eg.) tblVisits.
What do you suggest? I'm starting to think it would be best to write a query directly in SQL and base a report on that query. Could you give me some advice as to where to start and how to create the SQL statements? I hope I can work out the details myself, but a general advice would be most helpful.
I need to find a way to print the currently selected record (by clicking a button in the form) as a form. I know printing is almost always done in records, but they use the forms by hand before entering them into the computer database.
One tough part of this is that this printing function needs to be sustainable through revisions of the form, as we will be constantly updating it.
Is there a way to print the form with only the current record shown without creating a second form or report?
Why I cannot print a report using a single record in a form using Access 2007.
I have added the button, I am using the following code:
Private Sub cmdPrintRecord_Click() Dim strReportName As String Dim strCriteria As String strReportName = "Receipt" strCriteria = "[ID]='" & Me![ID] & "'" DoCmd.OpenReport strReportName, acViewPreview, , strCriteria End Sub
However when I click the button nothing happens. I have attached the database ...
I am using the Contacts Entry form, and when I am on a record that someone has paid I want to be able to print from the Receipt report that has a simple formed up letter.
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 want to be able to print preview a report based on 1 record record selected in the subform. So using the example above i'd like to print the record on say 01/01/13 as a report that contains all the information from the item table and only the information on the 01/01/13 from the record table.
URL...Essentially it seems like the format event fires only once with a docmd that has a where clause. If I print a single report it is perfect! Example one in the above post has a subreport, example 2 its very simply incorporated into the main report with no sub report.
I am using the following dialog box to ask whether or not the user wants to print the report in the Close event of a report. I really need help finishing the code. As the user presses "X" to close the report, I would it to be that if the user says yes...the report prints. If the user says no...the report closes.:cool:
Private Sub Report_Close() Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Print the Report?" Style = vbYesNo + vbQuestion Title = "Report" Help = "DEMO.HLP" Ctxt = 5000 Response = MsgBox(Msg, Style, Title, Help, Ctxt) If Response = vbYes Then
I have VBA code for a Print Preview button on the main form that previews the current record in a separate Report using this code:
Code: Private Sub cmdPrintRecord_Click() Dim strWhere As String
If Me.Dirty Then 'Save any edits. Me.Dirty = False End If
[code]....
I use this Print Preview code on a Button in the Form Header. The Main form lists head of household information. I also have a tabbed control with three tabs that have SubForms for Address, Children and Contact details. The problem I have is that if any of the subforms are left blank I get a Run-Time Error '3021': No Current Record. If I Debug (press the button), it takes me straight to this line:
highlighted in Yellow.Anyone on my database must have an address, should have contact details and could have children. If any one of these is blank then the print preview will not work.I would like to know how to stop this error happening for blank records in my subforms.
I am new to access and I recently encountered a double click issue
My form loads perfectly on double click event but it shows the first record instead of selected record.
My search is based on a PersonID but each PersonID has different WorkID that I wish to display on double click but it always shows the first WorkID instead of my selected record
I have tried changing the filters in the form properties but it still doesn't work for me.
Here's my code:
Private Sub SearchResults_DblClick(Cancel As Integer) DoCmd.OpenForm "WorkForm", , , "[PersonID]=" & Me.[Searchresults], , acNormal End Sub
[Searchresults] draws information from my Query
Query information:
PersonID... WorkID... Type......Location 1234..........1............Paint .....Address A 1234..........2............Electric...Address B 1234..........3............Floor..... Address C
I have a form set to the table Client Information with a subform set to the table Event Information. Client Information has a one to many relationship to Event Information.
There is a button that deletes the current record in Client Information--also deleting the related records in Event Information--then closes the form. The code works fine but a blank record in Event Information is apparently being created before the form closes.
Here's the VBA that I'm using:
Private Sub CmdDelReturn_Click() Dim CmdDelReturnMsg As String CmdDelReturnMsg = MsgBox("Delete event & client then return to front?", vbYesNo + vbDefaultButton1, "Delete and Return?")
[Code] ....
It's not a big deal because the button won't be used often and I can manually go into the table to delete the blank record. But if there's a simple solution to prevent this that would be nice.
I am trying to create a query or series of queries that will identify the latest record of a field called CheckInDate. The table will have multiple entries. For example.
Book#__________CheckOutDate_____________CheckInDat e __1_____________01/01/2007_______________03/01/2007 __1_____________04/01/2007_______________05/01/2007 __1_____________01/01/2007_______________ __2_____________01/01/2007_______________02/01/2007 __2_____________02/05/2007_______________04/27/2007 __3_____________01/01/2007_______________03/01/2007 __3_____________05/01/2007_______________07/01/2007
I need the results to be: #1(ALL) will not be listed, as there is a book still checked out #2 will show the record with the 04/27/2007(ONLY), as I want the last time the book was checked out. #3 will show the record with the 07/01/2007(ONLY), as I want the last time the book was checked out.
I currently have a somewhat flat table where this is concerned. Please advise on what I would need to do to create this. Thanks!
I have a report which is accessed via a hyperlink in a form. I have the default view for the report set to Print Preview yet everytime I click the link the report opens in report view which I don't want.
The event for the hyperlink is as follows:
Private Sub cmdPrint_Click() Dim strWhere As String If Me.Dirty Then 'Save any edits. Me.Dirty = False End If
[Code] .....
I have tried changing "acViewPreview" to "acViewReport" and "acViewNormal" and each time it is either going straight to print or opening in report view. I just want the report to open in print preview mode so I can decide if to print a hard copy or send to pdf.
I'm fairly new to SQL and have a problem finding the latest record.
Lets say I have a development project that has many disbursal payments to be sent. I want to find the latest disbursal record created for that one project instead of having all of the disbursal records show on the query.
I'm trying to work out how to do this in a query but haven't got a clue where to start.
Please, if anyone can help I'd be very grateful!:D
I am trying to run a Query that searches for a single Tool ID Number and returns the transaction record that has the latest date. My query currently is this:
SELECT LocationStatus.ToolID, LocationStatus.CurrentLocation, LocationStatus.DateofEvent FROM LocationStatus WHERE (((LocationStatus.DateofEvent)=(SELECT MAX(dateofevent) FROM [LocationStatus] AS t2 WHERE t2.[ToolID] = [Tool Number])));
But the problem I am having is that the query is returning MULTIPLE Tool ID numbers with matching dates. Before the query runs a parameter box pops up asking for a Tool ID number but there should only be one record returning. HELP!!!:confused::confused:
I am trying to pick the latest record from "tblEmpVac.id" field but I keep getting syntax errors. I am thinking if the "tblEmpVac.id" = Count('tblEmpVac.id') then that will show the most current record as it will count and match the last record correct?
Another problem is if I put it into the WHERE section, it will give a conflict. So I don't know where to put it. Below is the SQL, if anyone can help it would be great.
SELECT DISTINCTROW tblEmp.position, tblEmp.fname, tblEmp.lname, tblEmpWorkHistory.region, tblEmpWorkHistory.[current store], tblEmpVac.current_year, tblEmpVac.id, tblEmpVac.entitlement, tblEmpVac.days_taken, tblEmpVac.days_carryover, [days_carryover]+[entitlement]-[days_taken] AS total FROM ((tblEmp INNER JOIN tblEmpVac ON tblEmp.ssn = tblEmpVac.ssn) INNER JOIN tblEmpWorkHistory ON tblEmp.ssn = tblEmpWorkHistory.ssn) INNER JOIN tblEmpWorkHistoryData ON tblEmpWorkHistory.ewh_id = tblEmpWorkHistoryData.ewh_id WHERE (((tblEmp.position)<>"Terminated") AND ((tblEmpVac.current_year)="2005")) ORDER BY tblEmp.position, tblEmpWorkHistory.region, tblEmpVac.id;
I have a query with a record id, report date and status.
How do I pull the latest record if the status is AA?
For latest record in report date I used Max in Totals. With just this max it is pulling the latest date for each set of records with the same record id.
This is a start now how do i pull the latest record that has a AA status?