Export data to Excel from a dashboard - datazen-server

Is it possible to allow end users to export data to Excel from a dashboard. I see that the functionality exists within Datazen Publisher when in "Data View" but that doesn't accommodate end users.

there is no way to export the data that end users see in Datazen to Excel. The features are stated in http://www.datazen.com/features/#connections and all you can do with Excel is read data. I really hope they add this feature.

Related

MS Access 2016 - Retaining default text

I'm building a report generator in ms-access using exported transactions from Xero accounting.
It includes emailing reports to users. I have a default Body Text for the email, but would like it to be editable by the user (rather than code change).
I can hard-code this using vba but I would like the user to be able to edit and save it ,so it's available the next time ms-access is opened.
How can Access save this information from one session to the next?
Create a table with a memo field. Use that as the source for the "body text".

Create Lotus Notes entry from Access Event

Is it possible to create an entry in a Lotus Notes Calendar, specifically a "reminder" using an Access VBA script when a new entry is made in the Access database table? I have had a search on google but the only thing I can find so far is send an email to Lotus Notes. The email option but work if I can create it as a Lotus Notes invitation. Is that a possible alternative?
If you found examples for sending an email, then you found examples on how to open the users mailfile (called dbMail in the following examples) using OpenMail method of NotesDatabase- class.
Now you just need to create a document using Set doc = dbMail.CreateDocument in that database, tell it to be an Appointment by applying the form- item Call doc.ReplaceItemValue( "Form", "Appointment" ) and then set all the required items. The needed items can be found in the calendaring and scheduling schema at IBM.
Sorry for not posting specific code, but did not want to put more effort in my answer then you did in your question...
The description of all classes (for LotusScript, but they are mainly the same in VB / VBA) can be found in the Domino Designer- Help you find at various places in the web.
If person A can create an appointment for person B, and that appointment is to be created immediately in B's calendar, A would need write-access to B's calendar. If it should work like that for any A and B in the organisation, you'll have a serious problem. That's why Notes works using invitations.
Please define first which of the two applications is leading in your organisation, Notes or the Access Calendar? If it is Notes, you should indeed send invitations, and your application should be inquiring Notes/Domino regularly about the status of the appointments. If it is your Access application, you can indeed put the appointment document directly in the user's database, but that would require write access to all user mail/calendar databases.
We solved a similar problem by creating an intermediary database (application) on the Domino server that is the interface between the (Access) application and the Notes environment. The Notes application runs as a special user, with write-access to all user databases. The Access application can communicate with that database in any way you seem fit: mail, web-services, COM-interface.
Better refrain from writing user mail databases directly. Either send invitations, or create a Notes-based "replicator" application.

How do you block users from accessing tables directly?

First, I'm not a MS Access developer. However I've got a new job and have to do some MS Access development. I'll be working with another developer who has experience at this; at least more than I have.
One thing he showed me is that users will get into this MS Access application, which goes into the forms, do whatever it is they do there and then bang out of the forms application to get direct access to the tables of the database. (The Access application is a front end to a SQL Server 2005 database.) Since the end users have direct access to the SQL tables, well you can just imagine what sort of mischief they can get into. (The Access application was written by a contractor who left with the application unfinished.)
So my question is this: how can we prevent end users from getting out of the Access application to directly interact with the SQL tables? I would think this is possible, but like I said I'm not an Office developer so I've no idea how it would be done, nor even what sort of things I'd look for.
The Access application is written in MS Access 2007.
#rod
Generally the level of security MS Access is providing is not very impressive. But it gives you some sort of security preventing novice users accessing unwanted information.
look for:
Compiling the database to ACCDE, MDE
provide custom ribbon with your own buttons
Disable the "Navigation" pane : http://www.access-programmers.co.uk/forums/showthread.php?t=187697
Disable the settings via right click.
Use AutoExe function to check if NavigationPAne is deactivated, and reboot database if necessary
Disable the "bypass startup option" key: http://www.access-programmers.co.uk/forums/showthread.php?t=91984
prevent database to load if the DB is not in .accde or .mde format. Again this is within the AutoEXE function to check.
Some useful research/investment would be.
Custom ribbon creator for MS access which will help you to provide your own buttons/ribbons (I used ribboncreator)
Providing membership/user account. since you already have dedicated SQL server you can save user credentials in the back-end tables hiding from front-end. Check user has access by writing stored procedures/functions.
Write function to gather errors, activities and uploads to a LOG table and monitor activities. use web-services + MSXML2.XMLHTTP + async for this task.}
Create a UI for the users to navigate your application. The most basic thing is just a form that has buttons to open all other forms the users need to access in your application.
Then use the ribbon to navigate to "File" -> "Options" -> "Current Database".
Select the form from the step above as "Display form" for the application and then uncheck all the following options "Use Access Special Keys", "Display Navigation Pane", "Allow Full Menus", "Allow Default Shortcut Menus".
This will start you Access application and show the selected form without any of the standard UI for working with tables or the design of other objects in your application.
But please be aware that this is just protection against normal users making accidental mistakes by changing stuff they are not supposed to change. This will not deter a malicious and knowledgeable attacker.
If you want open your application for development, hold down the SHIFT-Key while opening the file.
Another option outside of Access is to deny an AD group with read/write access to your SQL tables the DELETE permission. I was able to do this successfully using Access 2013 and Microsoft SQL Server Management Studio 2012. This post discusses the command.
DENY DELETE ON tablename to [DOMAIN\groupname];
Users in the AD group are able to modify and delete data through the UI we have created, but unable to open the table, select a line, and hit the delete key. They receive the following error: "ODBC--delete on a linked table 'tablename' failed....The DELETE permission was denied on the object ...."

mySQL data into Google Analytics

I have a client who wants to retrospectively add data into GA from their back end mySQL database. The data will be transnational, for example when an existing customer makes a recurring payment via BACS/Bank Transfer.
Is it possible to do this, if so a) how and b) can it be automated?
I'm not sure if there is some script we can implement or whether we have to manually export the data into GA.
Thanks!
This is quite possible depending on what sort of data in in your database. Essentially, to upload anything to Google Analytics, you'll need some sort of key to key off of. E.g. transactionId, etc. Then you can use the Data Import (located under the Property of the account) to upload your data.
To automate it, you can use the Management API.

PDF to MS Access

I am attempting to implement the following for my school's website:
School registration is currently a hard-copy form.
They'd like applicants to fill out a PDF form online.
They then print, sign and mail it to the school.
The school want to be able to store the data entered by the applicant in the PDF so that when the signed application arrives, they can simply approve the registration for that student without reentering all the students info.
The school system is run on MS Access (if it matters which version I can find this out).
Any ideas how I can implement an import from their form to MS Access?
Thanks.
I've used a website called www.doculicious.com that does pretty much this exact thing. You can upload a PDF and have it converted into a web form. Whoever fills in the web form can download the completed PDF and print it out for signing. All the data is stored in the system and you can get it out as XML or CSV for importing into another database manually, or use the API to do that part automatically.
It depends on how automatically you want it to be. A fully automated case would be
Scan in the printed form using TWAIN
Use a Form Recognition library to align the form back to the original and find the zones with the information you want
Use OCR to get the information out of the form (probably ICR, if handwritten)
Find the original record in Access
Update the record with the new data
This isn't simple -- there are products out there that could help, but they are not cheap, and ICR is not very accurate.
I would suggest that you just do #4 and #5 in Access and give them a screen where they process an incoming form -- someone keys in the new data. That form
Lets you specify the record you want to update (like with a name or ssn)
Shows you the record with edit boxes for you to fill in with the form data
Saves it back when you are done.
This is straight-forward in Access.
The school can use a regular HTML form on their website and ask parents to submit details online. Your server-side can save the submitted details to your database and generate a unique submission token/key/code back to the parent on the web page. When the parents come to the school and mention the key, print their details on paper and ask them to sign it. You file the paper and the data is already in your database.
If the intent is to import from an electronically submitted form, I have used Adobe LifeCycle Designer to accomplish this very thing. Basically you can create an XML output of the PDF form data using an email client of the end users choice and have the data from the XML file read from the inbox into the fields of your MS Access database. Of course this solution has some serious constraints on what applications are to be used, as well as what use cases are handled, for example this solution is in a controlled environment in which all users are required to email there requests, where possibly your requirements may need to handle mailed correspondence as well.
I would add to VSU's answer by suggesting the use of Google Forms for data entry.
You just need a free account, then use Docs to create a new Form.
It's extremely easy to setup, and the submitted results en-up in a Google spreadsheet that you can download as an regular Excel file (that makes it very easy to import into Access).
You have a few ways to share the form:
Email a link to the form
Embed the form into an email
Embed the form in your web site, which is probably the best solution for you.
Once the data is in your database, you can easily create a report and a simple lookup form to find the name of the applicant and print the form.
It shouldn't take more than one hour to get start and have something functional.
You can always improve later once you've experimented with this.
The advantage of using Google forms is that it's free, it works well, and you are fairly secure since you're not linking your database directly to the Internet (and don't risk SQL injection).