Integrate Access report - wpf

How can I integrate Reports done in Microsoft Access in my WPF application?

You'll have to define a little bit more what you mean by integration.
You are talking about a desktop application like word or PowerPoint or in this case Access. You can certainly automate or use Access as a com object and have access reports output their results as RFT or likey even better as a PDF document. So, it not clear when you speak of integration is really much centered around how you going to prompt the user for those report paramters and ask the user for filtering etc. So, choices you have range from a simple nightly batch job that runs and creates a bunch of PDF files on the users desktop and then are copied to a server, or perhaps even FTP up to the server.
Perhaps you talking about something a little bit tighter here?
So I'm not really sure if your questions any different than how would you integrate some PDF documents, or PowerPoint presentation, or in this case some Access reports. They are all the same concept and your question not really different then asking how to do this with power point.
However keep in mind that for Access 2010, there is WEB based reporting now. Those web reports actually use behind the scene are fully built around SQL server reporting services. In this case, the data will reside on SharePoint, but the WEB report side of Access are WPF presentation compatible reports since they are web based and run using sql server reporting services (they are RDL reports).
On the other hand if you're not really using Access in this case. You might as well just use the web based SQL server reporting service then. So do keep in mind that the web based reports Access uses for access 2010 is/are based on SQL server reporting services and it's actually creating RDL compatible reports.
However if you're not talking about the web based edition of access available in for 2010, then you're back to any old desktop program like excel are word or PDF documents or in this case Access. So, there's nothing different here about any old desktop program in windows and Access is one of those programs (sans the new weeb stuff for 2010).
So, the approach (or shall I say challenge) to getting that data into your presentation layer is not really a specific question to access alone, but is really much like a asking how can you have the output of your PowerPoint presentation brought into WPF.
You likely be best to have the report's render its output as PDF, or perhaps the XPS document writer is a sutiable output. So, your code take it from that point onwards for printing or display. So if you have the means to display a PDF or XPS doc, now then this would be a possible road to go down.

Related

Custom Web Application + Tableau + SQL Server (No Tableau Dashboard)

I want to use Tableau integration with SQL Server for my business reporting (generate Excel and PDF files). However I do not want to use the Tableau dashboard as the user interface for collecting input data. I already built our web applications to do that.
So the requirements are:
Custom web applications (no Tableau Dashboard)
Tableau integration with SQL server
Output Excel/PDF
Is it possible to use a custom web application to replace the Tableau Dashboard for collecting user input?
Can anyone share any documentation?
If what you want is a custom web app with some visualizations implemented by Tableau Server, yet to have those visualizations embedded and controlled by your custom application, then Tableau has a lot of options for you.
See the sections on "Embedding" visualizations in the Tableau help pages. You may also want to use the Javascript API (start with the excellent 5 minute tutorial). That API allows you to control interaction between your application and the embedded visualization to make the integration more seamless, and customized to your needs.
To avoid forcing your users to authenticate with Tableau Server, read about Tableau's solution to Single Sign On and/or read about Trusted Authentication (which lets your application vouch for a user's identity if you have a core based license).
All these features are described in the Desktop, Server or Developer guides on Tableau's help pages. I recommend embedding using the object HTML tag instead of the iframe tag. Both work and both are documented, but the object tag gives you more control, works well with the JavaScript API and avoids some of the legacy HTML issues surrounding iframes.
If instead, as you stated, your only goal is to produce Excel or PDF output, Tableau can do that - one easy way is to append .pdf or .csv to URLs. Again read the documentation on embedding. But if that is the only goal, especially for CSV, Tableau is an expensive way to simply generate a CSV file. I'd give some thought to your requirements. There are reporting packages that are focused on hard copy tabular reports (sometimes called report factories) - that's not Tableau's primary focus.
One approach that can be helpful, use a modest investment in Tableau Desktop to quickly prototype your visualizations and reports. Verify you are producing the right outputs and that you have the right data to create them. Then you can decide whether Tableau is the best way to meet your requirements in a production environment. Even if you use a different approach in production, it can be very helpful for speeding that initial investigation.

QuickBooks connection using asp

May not be the best place to ask sorry if that's true.
I have worked on SQL and while I never worked on QuickBooks I am hoping it is possible to connect to it and just use it similar to a SQL Database. I am wondering I am wondering if it is possible to connect to QuickBooks using ASP. My purpose is to create simple forms and insert the data into QuickBooks similar to what is done on SQL.Occasionally I would just generate reports as well using web pages. All I am wondering is does ASP have the capability to connect to Quick Books and if so can I also run query's similar to SQL and is there any sources or reference available for research ? And what my options are for setting this up. If I have to use asp.net as a last resort that is fine too, though I would prefer to have to be without it.
Thank you
Update #1
While i am working on getting the Version of Quick-Books here is what information I have.
I plan on using ASP-Classic, and I want to develop web forms so this would be a website that can be accessed. This will not be a desktop application I plan on making but various webpage's where you can view Quick-books data, and insert records into Quick-books using forms, similar to what I do for SQL. And the Version of our Quick-Books is 2013 Enterprise Windows Desktop USA edition.
All I am wondering is does ASP have the capability to connect to Quick Books
Yes.
can I also run query's similar to SQL
Maybe.
QuickBooks itself does not provide an SQL-based interface. Communication with QuickBooks is via XML. However, QuickBooks Enterprise comes with something called QODBC which provides an ODBC interface to the XML interface QuickBooks provides, which might get you what you need.
One problem you want to watch out for -- there are times when you won't be able to connect to QuickBooks. e.g. it is not an "always-on" solution like a typical SQL database is. If you're in single-user mode in QuickBooks, or someone closes QuickBooks, or someone is doing a QuickBooks backup, or someone is updating QuickBooks, then you won't be able to connect. You'll have to plan for this in your application.
A better solution might be to use the QuickBooks SDK (specifically the QuickBooks Web Connector). If you download and install the SDK there is example code included. The SDK install also includes about 600 pages of PDF documentation on topics which you are asking about.
Striking out the below stuff since you've provided more details now: But unfortunately you didn't provide anywhere near enough information for anyone to actually give you a decent answer.
How about providing some actual details so that people can actually help you? Like, maybe:
Is this QuickBooks ONLINE, or QuickBooks for WINDOWS, or QuickBooks for MAC? (they are three entirely separate products, with entirely separate sets of capabilities)
What version/year/edition/country of QuickBooks?
ASP classic or ASP.NET?
Is this a website you're connecting from, or is this a desktop application, or...?

Query SQL Server Database from native iOS Application

I am working on an in-house, iOS app that will need read-only access to a SQL Server with multiple databases. I know the stock answer here is "write some web services", but I'd like a solution that is self-contained. Is there any way to directly connect to a SQL Server database from an iOS application? I'm thinking something like a basic ODBC connection.
I've seen a lot of users asking this question, but very few answers other than "write a web service." Is that really the only way?
A web service is indeed the only way, but Red Gate's written one you can reuse:
http://www.mobilefoo.com/iSqlServerSDK.html
http://labs.red-gate.com/Tools/Details/iSqlSDK
It's not officially released yet, just in beta, so keep in mind that features & prices may change.
Actually the easiest way is to create a MVC 3 or 4 asp.net web application. call the web methods. You don't need any API to pay for.
I use SBJson to serialize domain object and then send the objects as serialized jSOn to MVC 3. It's super easy to do. I even send images with base64, so it's .net compatible.
See my blog post with sample code:
http://nickturner.wordpress.com/2012/10/09/107/
So, after much searching and trial and error, unfortunately the best (only?) way I've found is indeed using Web Services.
Fortunately, Linq to SQL makes the WCF-creation-side incredibly easy. Once I got someone at work to walk me through setting up a Windows web server and adding the web service (and buying access to an online web server), the Windows side was up and ready to go.
I'm still working through all of the syntax stuff on the SOAP interaction side, but keeping my different methods somewhat similar in structure allows me to tinker a little until it works. By this time, I think I've gotten it to work pretty well.
So, both answers I got back were (disappointingly) correct. The only way to interact is through a Web Service. Even the 3rd party solutions they mentioned were really just convenient wrappers around the same type of technology. As it turns out, I'd rather have finer control over the process.
One word of advice: Get a real, external web server. I tried doing this on a non-Server Windows VM on my iMac/MacBook Pro, and it was like pulling teeth! Once I actually got access to an external, full, stand-alone web server, the process was much more streamlined and easy. Do yourself a favor and take that headache out of the equation!
There was a SQL ISAPI extension as part of SQLXML, but I think it has been deprecated: http://msdn.microsoft.com/en-us/library/aa226559%28v=SQL.80%29.aspx
This was effectively a pre-built, and relatively open, web service - so I'm not sure this counts as a direct connection.
You could also check out http://odbcrouter.com/Main

How to display a SQL Server Report in a .net webpart for SharePoint?

Can anyone describe to me the exact steps in displaying a SQL Server Report hosted on the report server (Remote mode) in a customized webpart? I realize that there is an out of the box web part that comes with SSRS but I want to be able to have already configured webparts that display specific reports available for users to add in their edit site modes. Essentially, the goal is to have a report such as 'Assigned Hours' as a web part itself, and anyone interested in displaying Assigned Hours need only click on Site Actions, Edit Page, Add Web Parts, and choose the Assigned Hours Web Part. No need for configuring a report server url or report path. Also, for certain reasons we would like to continue running the report server in native mode so Integrated mode with SharePoint is not an option.
So, below is a summary of my situation and what I have already tried:
Environment is WSS3.0, Microsoft SQL Server 2005
I have created a .net webpart and am attempting to add an instance of the ReportViewer control to the webpart. I have set to run in remote processing mode and have extended the abstract IReportServerCredentials class to handle the authentication.
I have made sure that the assembly is set to AllowPartiallyTrustedCallers
The project compiles fine. I place the dll in the correct wss bin folder for webparts.
When I try to view the webpart I get the site error message 'That assembly does not allow partially trusted callers.'
I've read things about registering my assembly with SQL Server, which I have tried with the CREATE ASSEMBLY SQL syntax, but that I am getting an sql query error saying that the there is already a reference to another assembly and that it can not find it in the same location.
Honestly, I don't really know enough about SQL Server and reporting services to know if I am close to getting it to work or if I have everything set up completely wrong in the first place. I have made custom webparts before and successfully deployed them to the site, so I know the problems lie in my ignorance of the SSRS and SQL Server. Has anyone else accomplished what I described early before? Thanks in advance!
I suggest using an ASP.NET ReportViewer control in your web part. These controls allow you to customize all parts you mentioned and are fairly easy to use and set-up. The one thing to watch for though with this control would be browser compatibility. Out of the box, it doesn't work too well with Firefox or Chrome. If you wanted though you could attached to the Reporting Services service which would give you the data you want back, then write a template-able control that used that structure to output the data. That option is much more complex, but allows for the format to be defined by the web part, rather than the report.

Update a local/client Microsoft Access Database from a server (MS SQL Server2005)

I've got a website that runs on a shared hosting environment, using ASP.net 2.0 (C#) and MS SQL Server 2005. I've recently been asked if I can integrate my website with a piece of third party desktop software that uses the Access runtime as its database (transparent to the end user).
Primarily I want to be able to offer users of my website the option of exporting their data into the Access database on their local machine. The data schema's match sufficiently, the question is how to actually do this, and in the simplest way possible for the user.
Simply having a webpage update the local Access database isn't possible due to the obvious security restrictions. I've considered asking them to upload the Access database to the server, so I can migrate the data then allow them to download it again, however the competency of the users of this software is such that even locating the Access database, let alone uploading and downloading it from the website might be too complicated.
I've also considered if Adobe Air or Silverlight could help here, but don't know them well enough to know for sure. Similarly I'm assuming another exe could be written to perform this task that the user could simply download and run, however my experience is in web development, not program development, so this isn't a 100% certainty for me, or an ideal development option for me.
So, can this be done, and if so what technique can achieve this, with the stated aims being ease of use for the end user, followed by ease of development by someone with web development as their main skill. Many thanks!
You may find this answer of interest: Best way to stream files in ASP.NET
It is about transferring a file from the server. You could save Excel or CSV and use that to update Access.
Instead of trying to do this in a web page you might just expose some views from your sql server to some client specific logins.
Then within the Access application, allow them to tie to your sql server. You might even provide an access application for getting the data from your site and stuffing it in their local access database.
In my work we have done something similar that is transparent to the user by creating an ActiveX control. The problem is that you are limiting the users to use only Internet Explorer.
I think that the best way to achieve what you are trying to do is by installing a service in the client's computer. If creating a service is beyond your experience you can post a project in a place like oDesk and find somebody that can help you with the development for the money that you are willing to pay to complete your project.
Good Luck.

Resources