Solved

Use DoCmd.SendObject to Send an Excel .xls with Filename Based on an Order Number

Posted on 2008-10-01
9
360 Views
Last Modified: 2013-11-27
Hi Experts!

I have an Access 2003 Db that uses DoCmd.SendObject to send a vendor an order based on a query called "Qry_Order". This works great, but it would be nice if the filename was unique to each order . As it is now, the attached .xls file is always named after the query so: "Qry_Order.xls".

There is an order number that I would like to pass to create the filename from. It is called "PR_Number" and looks like "PR1058", for example and this would, ideally be passed to create "PR1058.xls"  I have no idea how to do this. I have a combo box I can reference for the PR_Number. Just don't know it it can be done.

Here is the DoCmd statement I have now:
DoCmd.SendObject acSendQuery, "Qry_Order", "Microsoft Excel", _
myVendor, _
, , StrSubject

Thanks,

Kevin
0
Comment
Question by:k_smee
  • 5
  • 4
9 Comments
 
LVL 16

Expert Comment

by:Chuck Wood
ID: 22616254
Try this:
Use the TransferSpreadsheet method to export the query to a spreadsheet with the name you want to use then use the SendObject method to send the spreadsheet to the vendor.
0
 

Author Comment

by:k_smee
ID: 22616674
I got the DoCmd.TransferSpreadsheet to make the file in my C:\Temp folder, but I don't see that the DoCmd.SendObject method has provision to send anything other than an Access object like a query, table, etc...Am I missing something?
0
 
LVL 16

Accepted Solution

by:
Chuck Wood earned 125 total points
ID: 22616835
You are correct.

You can use the attached code together with the attached class module (change txt to cls and import) to email your spreadsheet.

Public Sub SendEmail()

    Dim cls As New clsSendEmail, blnSent As Boolean

    blnSent = cls.Email("someone@somewhere.com", "Subject", "Body", , "ExcelPathAndName")

    If Not blnSent Then MsgBox "The Email Failed", vbInformation, "Email Failed"

End Sub

Open in new window

clsSendEmail.txt
0
 

Author Comment

by:k_smee
ID: 22619887
Thanks! I'll give it a shot in the morning. The db is at work..
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 

Author Comment

by:k_smee
ID: 22624417
This works great. Is there a way to have it pop up the Outlook mail object to pick recipients or do i need to hard code them? Some of my users like to be able to add other recipients. Thanks! Kevin
0
 
LVL 16

Expert Comment

by:Chuck Wood
ID: 22624500
You can use an InputBox or a UserForm to let them add recipients. Opening the mail item is something I haven't done before.
0
 

Author Comment

by:k_smee
ID: 22636751
I figured out how to do the display object before sending. I just added:
outMsg.Display True

This is right before the .Send command.
Thanks for all the help !
0
 

Author Closing Comment

by:k_smee
ID: 31501992
Excellent help on this one, Thanks!
0
 
LVL 16

Expert Comment

by:Chuck Wood
ID: 22636788
I am very glad you found the answer. And thank you for sharing it with the rest of us. Thank for the kind words and the high grade. Good luck on your project.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Introduction When developing Access applications, often we need to know whether an object exists.  This article presents a quick and reliable routine to determine if an object exists without that object being opened. If you wanted to inspect/ite…
Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

708 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now