Is There a way to get a List of all the Enterprise Fields a user on Project Server has In Use? - vsto

I'm building a MS Project VSTO tool (written in C#) that in many instances needs to either read or write data from a field in MS Project. Since I don't always know what field will contain the data I need, I many times need to allow the user the option to select the field they want. Getting all the basic fields is easy, my issue arises if a user is in a Project Server environment and using Enterprise fields. So my question is 2 fold:
Is there a way to check if the user is in a Project Server environment?
Is there a way to easily get all of the custom enterprise fields that are being used in MS Project? I'd like to be able to capture these fields in a collection like a list or array.

Is there a way to check if the user is in a Project Server
environment?
Look at the collection of Profiles to see if there is a project server one and check its ConnectionState to see if it's connected to a project server.
Is there a way to easily get all of the custom enterprise fields that
are being used in MS Project? I'd like to be able to capture these
fields in a collection like a list or array.
If you have access to the project server, take a look at this page, Accessing Project Online enterprise custom fields. Without access to the server I suggest:
Loop through all tables and their fields to find enterprise ones.
Allow the user to enter the name of enterprise fields and store that information for future use so that it's a one-time 'setup' for the user.

Related

Implementing common configuration settings area ( xml or txt file or code file) MS Access application (VBA)

I have very a rudimentary understanding of Microsoft Access and VBA Code.
On my work desktop, I have Microsoft Office Professional Plus 2013 Access
I've been tasked to create a MS Access application with an Access DB.
I started developing an MS Access application with Forms , and the corresponding DB
I'm using VBA code event handlers(or Event Procedures) for the UI control buttons.
I wanted to create a common configuration settings area for said application( like ASP.NET web application have web.config files or app.config files )
I failed to find anything similar for MS Access application development.
Could someone please provide me with an explanation as to how to implement an MS access implementation model/software design pattern for common configuration settings area that is modular, reusable, clear and concise?
As noted, I great way to do this is to simply create a table in the front end. It is assumed that you will split your database into two parts. The code/forms etc. is the so called front end,and then you have the back end part (the database - it can be a accDB file, or it can be say SQL server).
So the typical update and deploy of your software will be:
Re-link your tables from test database to the actual live production database.
Compile your accDB into a accDE.
Deploy this new updated "next" version of your software to all the desktops.
So, since any change or addition to settings will be in the new front end then any application wide settings you have will thus roll out with your update.
It often depends on the user base. In the case that we had multiple customer sites running our software, then using a local table would not suffice, since things like path names, connection strings to the database etc. are customer specific. So, in this case we moved the settings table out to a text file (setup.ini). So we now use a setup.ini file that is external to the program and assumed to be deployed in the same folder as the front end. On startup we use the windows API to read ".ini" files.
So, both ideas (external setup.ini) or a local table in the front end are rather good choices from a development cycle point of view.
So once you down the road in developing your application, and the table/data structure changes are down to a dull roar, then it is time to split your application. (use the built in split wizard for this). I will say that even for my .net applications, I still often use a external setup.ini file for settings, since once again with multiple customer sites, it not practical to have customer specific settings in the application as opposed to a external settings file.

Appropriate action installing another SQL application at work

hope everyone are okay...
I need to install any Sofware for the use of SQL. I'm just a begginer and started an online course. We have a account at work called Administrator and the only account has acces to SQL Managment studio 2014. Inside there are multiple databases linked to the external objects for stock contol purposes to collect data and view data, database was created by another company not us. Id like to download an SQL Software to run simple queries. But would need to know if it would affect any other databases or servers inside our network?.. just need to set it up for my local use.
Thanks

MS Project data in SQL Server

I have been given the task to Load all our company's project data from MS Project into SQL Server to be able to create reports and dashboards from the project data.
I know you can export a specific projects data into a access database, but every project must have it's own access database. So my first thoughts was to create some kind of dynamic access SSIS connector and ETL. So that the project managers export their projects to access and the SSIS package takes care of the rest.
Is there a simpler way of doing this?
My company also have a SharePoint infrastructure as well as SAP BusinessObjects infrastructure. Is there a way I can accomplish this by the use of SharePoint or bobj
The simplest but costy way is called MS Project Server - it stores all data in MS SQL database already, has precalculated reporting database and so on. Here is a link http://technet.microsoft.com/en-us/evalcenter/hh973404.aspx. The last version can be either installed locally or hosted by Microsoft.
Another option I see is to use kind of automation around MS Project which will load project plan, extract all interested information and upload to to your database. There is no big magic in this solution.
The third option is to export projects to XML and then use the XML to upload data to SQL Server database. This solution is also doable through Project automation
After defining your database and column structure in SQL Server, just use Project VBA to A) collect the project and task data into an array, B) set a connection string to your database, then C) send it. I have created several applications around this procedure and it works very well.

Regarding sharepoint and SQL data store

I have to create a web form and store all kinds of data from the page, the data will be text, num, email and checkboxes.
I have to store them in a database SQL. I have to deploy the same page in the sharepoint server and users will be able to use that page to fillin the details once the details are filled in it should be loaded in to the SQL seperate databse.
could anybody tell me what would be the best approach.
Please give me rough idea so that I will take the steps to get it complete.
Do you have to use a SQL database? You could simply use SharePoint lists for this type of functionality.
If you HAVE to use SQL then look at Business Connectivity Services through SharePoint Designer 2010, or if you are using WSS 3.0 or MOSS 2007 then look at creating custom web parts.

Create Access databases programatically through vb.net

Let me preface this by saying that I know this is a stupid way to go about this, but it needs to be handled in this way.
I need to make an application that from a master database creates a number of access database files (tables of a larger db), then these are manually given to users who fill in data, the database files are emailed back to a user who, through the application, combines them again.
The only part of this that I am unsure about is problematically creating the access db's. I have read that through Microsoft Jet OLE DB Provider and Microsoft ADO Ext I can create them (the tables and data), but I also need forms.
I have yet to start writing anything and this is away from my area of work, so any insight/links would be much appreciated.
Also, I would hope to be able to write this in the free express version of visual studio. Are there components needed that would prevent me from this? Thanks.
If you are developing in vb.net then why do you need forms in the Access database? Create a vb.net application for the "client" pcs with the required forms reading and writing to the Access database.
If however you do need to have forms in an Access database. Create a database with the required forms and code. Distribute the code/form database and the data database. Add a method to the code/form database the creates links to the tables in the "data" database.