02-19-2011 03:05 PM
I'd like to work out the best way to store, link and retrieve data.
I'm capturing lots of numerical data in real-time from a number of different test subjects, so I'm using TDMS to store the data stream. There's also a seperate existing MS Access database which holds the personal information about the subjects. I would like to set up a report generation vi to read data from both sources, produce a report and save it somewhere.
So it is worth me learning about the database connectivity tool so my report gen. vi can read from both TDMS and MS Access, or should I get rid of the Access database and append personal information into each TDMS file?
With all the identifiable information currently in one Access database it is easy to maintain data security. There may also be 2 or more TDMS files per person .. I guess I could put all personal info. in one TDMS database ..
Any thoughts?
Thanks
02-20-2011 06:52 PM - edited 02-20-2011 06:53 PM
I would think that it would be better to keep the subject data and subject info separate. Do you need to keep data anonymous? Placing personal info info inside the data may not match privacy requirements such as HIPPA.
02-22-2011 12:20 PM
I've gone for the Access database for personal information and TDMS for data. The database connectivity toolkit wasn't too daunting so I've written something that almost works (I can't get the insert data function to work yet). I put in a "anonymise" button that selects which parameters the report generation functions should use, to help comply with similar UK regulations. It's not bad for 1 day's work!
Do you know how I can insert data into specific rows of an Acess database? I keep getting:
Error -2147217900 occurred at NI_Database_API.lvlib:Cmd Execute.vi->NI_Database_API.lvlib:DB Tools Insert Data.vi->patient database.vi
Possible reason(s):
ADO Error: 0x80040E14
Exception occured in Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC Microsoft Access Driver] Number of query values and destination fields are not the same. in NI_Database_API.lvlib:Rec Create - Command.vi->NI_Database_API.lvlib:Cmd Execute.vi->NI_Database_API.lvlib:DB Tools Insert Data.vi->patient database.vi
With the 'columns' input left blank I assumed the query values would be equal to the destination fields (ie writing to all the columns). I've also stripped the first row off, because they are the column labels, and I'm now trying to guess how to make query values = destination fields!