-
FAQs
-
- Advanced Sample Queries Using SQL
- Finding Samples Missing Analysis Costs Using SQL
- Simplify Queries with SQL<br>Expressions
- Using Wildcard Pattern Matching in Queries
- SQL for Unique Queries
- Error: Unable to open database [LIMSdatabaseName] on [ServerName] via [ODBC Driver Name/Server Native Client] for SQL Server
- Querying the Most Recent N Samples
- Query by Sample Status
- Query Unapproved Samples
- Query Multiple Sample Batches
- How to Query Completed, Unreported, and Unapproved Batches
- Work Load Report
- Investigating Analysis Use
- Updated LIMS Data Query Workbook Now Available
- SQL Expression for Today’s Samples
- Automated Backups with SQL Server Express
- Error: "Cannot Connect To SQL Server" When Trying To Connect Other Workstations
- Error: "Microsoft Excel Is Waiting For LIMS To Complete An OLE Action"
- Creating Scheduled Backups Using SQL Server Express
- Creating A Backup Of Your LIMS SQL Database
- Access-to-SQL Server Database Migration Instructions
- MSC-LIMS v4 to SQL Server Migration Files.zip
- LIMS Upgrade Task Checklist
- Show All Articles (8) Collapse Articles
-
- Error: "Undefined function 'Replace$' in expression" when Importing from Excel
- Error: "Can't Find File MS09.DLL" When Starting LIMS
- Error: Unable to Attach LIMSDATA.MDB or its Location May Have Changed
- Issue: Missing Logos on Windows 2000 Workstations
- Issue: LIMS VBA Project is Not Fully Compiled
- Creating an LIMS 4.x Edit LimsCode Shortcut
- Updating LIMS 3.x Installation for Windows 7 and Office 2010 Compatibility
- Installing LIMS under Citrix or Remote Desktop Services
- Creating an LIMS 3.x Edit LimsCode Shortcut
- Moving LIMSDATA to a New Location
- Creating a Development Version of LIMSCODE
- Installing LIMS 2.x on a Machine with Access 2000
- Installing LIMS 2.x on a Machine with Access 2000
- Optimizing Microsoft Access Performance
- Using Barcodes With Other Windows Applications
- Using a Read-Only Version of LIMSDATA
- Show All Articles (1) Collapse Articles
-
- Use a Text List to Enter Special Symbols
- Simplify Queries with SQL<br>Expressions
- Using Wildcard Pattern Matching in Queries
- SQL for Unique Queries
- Copy Only Subtotals in Excel
- Quick Data Analysis with Excel
- Use a Dynamic Batch to Speed Login
- Adding a Label Number to labels
- Understanding the Hyperlink Base
- Inactive Items in Pick Lists
- Splitting One Sample Batch into Two
- Compact LimsData Regularly to<br>Improve Performance
- Sending Preliminary Reports with<br>Messaging
- Use a Project to Save Control Chart<br>Lines
- Prevent Samplers and Technicians<br>from Adding or Editing Locations
- Use Analytes to Bill for Services
- Understanding Analysis Specifications
- Values Imported from Excel
- Configuring Instrument Methods
- Create Excel Templates by Copying<br>Other Templates
- Using Customer Sample Login Options
- Verify Your Version 4.0 Setup Folder
- Using the Record Navigation Search<br>Field
- How to Move LimsData to a New Folder
- Creating Electronic Data Deliverables from a Report Template
- Find Projects with a Specific Analyte
- Delete or Inactivate a Customer
- Query Unapproved Samples
- Using the Zoom Window
- Sample Approval by Specific Users
- Keyboard Shortcuts Are Your Friend
- LIMS Users May Benefit from Thin Client Computing
- Date and Time Analyses
- Refine Queries by Selecting Samples
- Adding New Analyses in Specific Order
- Organizing Analyses
- Project vs. Analysis Costs
- Database Size Metrics
- Sample Documents
- Understanding Analysis Costs
- Clean Up your Error Log
- How Large is your Database?
- Adding or Deleting an Analysis from all Batch Samples
- Logging One-Time Customers
- Add Samples to an Existing Batch
- Query Multiple Sample Batches
- How Reliable are your Backups?
- Compact Routinely
- Result Value Formatting for Custom Numbers
- How to Use Location-Specific Analyses
- Database Maintenance and Performance
- Speed Data Entry with Text Lists
- Use the Ditto Keyboard Shortcut
- Integrating LIMS and ERP Systems
- How to Use Default Sample Descriptions
- Entering Results with Scientific Notation
- Sample Schedules
- Linking a Document to a Sample
- Custom Bar Code Not Printing
- Computer Configurations When No Domain Active Directory Present
- Analysis Values "H", "L", and "BDL"
- Creating Scheduled Backups Using SQL Server Express
- Creating A Backup Of Your LIMS SQL Database
- Configuring A New Profile For Messaging
- Access-to-SQL Server Database Migration Instructions
- MSC-LIMS v4 to SQL Server Migration Files.zip
- LIMS Upgrade Task Checklist
- Using Windows Authentication to Connect to SQL Server from Outside the Domain
- Error: "Unable to open database" Troubleshooting Guide
- Removing Users From LIMS
- Show All Articles (55) Collapse Articles
- Use a Text List to Enter Special Symbols
- Error: "Undefined function 'Replace$' in expression" when Importing from Excel
- Error: "Can't Find File MS09.DLL" When Starting LIMS
- Error: Unable to Attach LIMSDATA.MDB or its Location May Have Changed
- Issue: Missing Logos on Windows 2000 Workstations
- Issue: LIMS VBA Project is Not Fully Compiled
- Creating an LIMS 4.x Edit LimsCode Shortcut
- Updating LIMS 3.x Installation for Windows 7 and Office 2010 Compatibility
- Installing LIMS under Citrix or Remote Desktop Services
- Creating an LIMS 3.x Edit LimsCode Shortcut
- Moving LIMSDATA to a New Location
- Creating a Development Version of LIMSCODE
- Installing LIMS 2.x on a Machine with Access 2000
- Installing LIMS 2.x on a Machine with Access 2000
- Optimizing Microsoft Access Performance
- Using Barcodes With Other Windows Applications
- Using a Read-Only Version of LIMSDATA
- Advanced Sample Queries Using SQL
- Finding Samples Missing Analysis Costs Using SQL
- Reducing Lock Conflicts With NetWare
- Reducing Multiuser Database Lock Conflicts
- Creating a New Excel Template Message Style in LIMS Messaging
- Timed Shutdown of LIMS Messaging
- Ctrl-; (semicolon) Keyboard Shortcut Does Not Work in Date Fields
- Entering Dates Using Keyboard Shortcuts
- Populating Sample Pick Lists
- Results by Analyte Display Column
- Result High and Low Warning Flags
- Add an Analysis to Many Projects
- Graph a Single Analyte
- Internal Data Analytes
- Reporting Specific Analytes for Multiple Samples
- When to First Archive Your LIMS Database
- Results by Analyte ‘Display’ Field
- Sampler vs. Employee
- Compact LimsData without LIMS
- Emailing Preliminary Results
- Using Barcode Hardware
- Conclusions Field Character Limit
- Report Results to more Decimal Places
- Synchronize Workstation Configuration Settings
- Incomplete Analyses Organized by Analyst
- Can We Rename The LIMS Database?
- Analysis Values "H", "L", and "BDL"
- Creating Scheduled Backups Using SQL Server Express
- Creating A Backup Of Your LIMS SQL Database
- Error: "Unable to open database" Troubleshooting Guide
- Show All Articles (32) Collapse Articles
-
Error Messages
- Error: "Can't Find File MS09.DLL" When Starting LIMS
- Error: "Undefined function 'Replace$' in expression" when Importing from Excel
- Error: Unable to Attach LIMSDATA.MDB or its Location May Have Changed
- Error: "Error running LIMSDATA .AfterTransferFromLIMS procedure in template… Type mismatch"
- Error: "in LoadWorkstation Configuration"
- Error: "The expression you entered has a function name that microsoft access can't find..."
- Error: Unable to open database [LIMSdatabaseName] on [ServerName] via [ODBC Driver Name/Server Native Client] for SQL Server
- Error: "The database cannot be opened because the VBA project…"
- Installing LIMS 2.x on a Machine with Access 2000
- Installing LIMS 2.x on a Machine with Access 2000
- Error: New User Login Account Fails
- LimsCode Size Warning
- Error with a Period in Messaging<br>Attachment File Name
- Error in GetCurrentUsers:<br>Unrecognized database format
- Unwanted MIN and MAX Warnings
- View Current Users Fails
- Messaging’s Email Subjects
- Understanding the LimsCode Size Warning
- Startup Errors
- Error: in CopyRecordsetToWorksheet
- Error in FrmSetupUsers.Form_Open
- Error Querying Samples: "DateTime2"
- Error: "Date And Time Entered Is Earlier Than The Sample's Collected Date And Time"
- Error: "A Runtime Error Has Occurred. "Contact Your LIMS AdministratorError: LoadWorkstationConfiguration"
- Error: "ErrorRunning LIMSDATA.AfterTransferFromLIMS"...
- Error: The Microsoft Access database engine could not find the object 'MSysDb'
- Error: "Cannot Connect To SQL Server" When Trying To Connect Other Workstations
- Error: "Microsoft Excel Is Waiting For LIMS To Complete An OLE Action"
- LIMS Messaging: Clicking Start Causes The Application To Close
- Users Missing From Admin>User Screen in LIMS
- Error: "Unable to open database" Troubleshooting Guide
- Show All Articles (16) Collapse Articles
-
Troubleshooting
- Error: "Undefined function 'Replace$' in expression" when Importing from Excel
- Error: "Can't Find File MS09.DLL" When Starting LIMS
- Error: Unable to Attach LIMSDATA.MDB or its Location May Have Changed
- Issue: Missing Logos on Windows 2000 Workstations
- Issue: LIMS VBA Project is Not Fully Compiled
- Issue: Excel Cell Formats Change After Copying Data From LIMSData Worksheet
- Incomplete Samples with All Results
- Who Deleted Samples and When
- Results by Analyte Display Column
- Results Entry Inserting Login Name Instead of Initials
- Understanding the LimsCode Size Warning
- Troubleshoot Network Problems with a Local LimsData
- Cannot Log In After New Workstation Install
- Error: "Cannot Connect To SQL Server" When Trying To Connect Other Workstations
- Computer Configurations When No Domain Active Directory Present
- Issue: Receiving Flagged Results After Changing Analysis Specs
- Analysis Values "H", "L", and "BDL"
- Creating A Backup Of Your LIMS SQL Database
- Users Missing From Admin>User Screen in LIMS
- Using Windows Authentication to Connect to SQL Server from Outside the Domain
- Error: "Unable to open database" Troubleshooting Guide
- Show All Articles (6) Collapse Articles
-
User Defined Reports
- Developing and Testing a UDR Without Requerying Data
- Hiding a UDR Column
- Issue: UDR Summary Statistics Do Not Work On Columns With Expressions
- UDR Formula and Expression Dependency Rules
- Create an Invoice Summary Report
- Save LIMS Reports to PDF Files
- Automated Final Report Footnotes in<br>Excel
- Calculate Sample Turnaround with a UDR
- Sample Turnaroun
-
File Library
-
Downloads & Documentation Library
-
- LIMS Installation Guide v6
- LIMS User Guide v6
- Computer Configurations When No Domain Active Directory Present
- Downloads
- LIMS Release Notes v6
- LIMS Programmer's Guide v6
- LIMS Messaging Guide v6
- INSTALLING J STREET LIMS v6 ON YOUR WORKSTATIONS - Step By Step Guide
- Updating Messaging v6 ODBC Driver and Database Connection
- Access-to-SQL Server Database Migration Instructions
- MSC-LIMS v4 to SQL Server Migration Files.zip
- LIMS Upgrade Task Checklist
- Instructions for Updating Custom LIMS Excel Templates
- J Street LIMS v6 System Requirements Addendum
- Using Windows Authentication to Connect to SQL Server from Outside the Domain
- Error: "Unable to open database" Troubleshooting Guide
- Show All Articles (1) Collapse Articles
- LIMS User Guide v5
- LIMS Messaging Guide v5
- LIMS Release Notes v5
- LIMS Annual Maintenance & Support Policy
- Add LIMS Analyses
- Add LIMS Customers
- CofA Example by Requirement
- LIMS User Guide v6
- LIMS Installation Guide v6
- View Index Fragmentation
- Downloads
- Computer Configurations When No Domain Active Directory Present
- LIMS Release Notes v6
- LIMS Programmer's Guide v6
- LIMS Messaging Guide v6
- Installing Existing LIMS v4 On A New Workstation
- INSTALLING J STREET LIMS v6 ON YOUR WORKSTATIONS - Step By Step Guide
- Access-to-SQL Server Database Migration Instructions
- MSC-LIMS v4 to SQL Server Migration Files.zip
- LIMS Upgrade Task Checklist
- Instructions for Updating Custom LIMS Excel Templates
- Error: "Unable to open database" Troubleshooting Guide
- Show All Articles (7) Collapse Articles
-
-
Bench Sheets
-
QuickBooks
-
Excel Interface
- Issue: Excel Cell Formats Change After Copying Data From LIMSData Worksheet
- Interface BAX Instrument with LIMS Software
- How to Display Sample Characteristics in an Import by Sample Template
- How to Read the Contents of a LIMS Report Control from Excel
- How to Remove a Template's LIMS Infrastructure
- How to Update Template References for LIMS 3.x
- How to Use Customer and Outside Lab Lists in a MS Word Mail Merge
- Query Data with the LIMS Data Query Workbook
- Importing formatted analysis results<br>from Excel
- Current Example Excel Export Templates
- Creating a Basic Excel Export Template
- Create Custom Container Labels with Excel
- Values Imported from Excel
- Create Excel Templates by Copying<br>Other Templates
- Using Excel’s Formula Evaluator
- Accessing Excel’s Name Manager
- Significant Figure Rounding in Excel
- Importing Result Types from Excel
- Excel Template’s ‘LIMS Access Version’ Setting
- Date and Time of Results Imported from Excel
- Getting Started with Excel Template Reports
- Improve Excel Reports with Conditional Formatting
- Introduction to LIMS’ Excel VBA Macros
- Creating a Basic Excel Import Template
- Using Date and Time Analyses
- How to Copy and Open an Excel Template
- Export Analysis Results to Excel
- Importing Dates from Excel
- Check your Excel Template’s LIMSAccessVersion
- AnalysisResultFormatted and AnalysisResult Fields in Excel
- Create a Tabular Report with an EDD Template
- How to Debug an Excel Template Macro
- Creating Protected Excel Workbooks
- Round or use Excel’s “Precision as<br>Displayed”
- Changing a Sample Pick List’s Column Contents
- Log Samples from Excel
- Export a Customer List
- How to Evaluate Excel Formulas Incrementally
- Quick Data Export to Excel
- Selecting Excel Template Folders
- Excel Template Report Disclaimers
- Excel Template Folders in Version 5.x
- Showing LIMSData Sheet Data in an Excel Template
- Custom Bar Code Not Printing
- Show All Articles (29) Collapse Articles
-
Labels
-
Table/Field Names
-
Newsletters
- February 2022: Newsletter
- August 2021: Newsletter
- January 2021: Newsletter
- July 2020: Newsletter
- January 2020: Newsletter
- August 2019: Newsletter
- February 2019: Newsletter
- August 2018: Newsletter
- January 2018: Newsletter
- August 2017: Newsletter
- February 2017: Newsletter
- August 2016: Newsletter
- February 2016: Newsletter
- August 2015: Newsletter
- February 2015: Newsletter
- August 2014: Newsletter
- January 2014: Newsletter
- August 2013: Newsletter
- February 2013: Newsletter
- July 2012: Newsletter
- February 2012: Newsletter
- August 2011: Newsletter
- February 2011: Newsletter
- August 2010: Newsletter
- February 2010: Newsletter
- August 2009: Newsletter
- January 2009: Newsletter
- August 2008: Newsletter
- February 2008: Newsletter
- July 2007: Newsletter
- January 2007: Newsletter
- August 2006: Newsletter
- August 2005: Newsletter
- January 2005: Newsletter
- August 2004: Newsletter
- January 2004: Newsletter
- Show All Articles (21) Collapse Articles
-
User Roles
Introduction to LIMS’ Excel VBA Macros
LIMS’ integrated Excel interface has become an indispensable tool for many LIMS users. With appropriate templates, the Excel interface is widely used to create custom reports, export data to other information systems, import instrument data, and create data entry screens to calculate and import analytical results.
The value of the Excel interface is apparent given the frequency of technical support requests we receive for assistance with Excel templates. With this and future Insights articles, we will explore the Visual Basic for Applications (VBA) macros essential in an Excel template used with LIMS.
An Excel macro provides a means to automate repetitive tasks. To cite a simple example, if you frequently resize cells and change their font, text alignment and text wrapping to a preferred layout, you can record a macro while you perform the task then invoke the macro to repeat the process on any cell. When you record a macro, Excel will add the equivalent VBA statements or commands to duplicate the tasks you performed.
In templates used with LIMS, macros are also employed to perform tasks preceding or following the transfer of data to and from the LIMS and Excel. For example, a macro organizes and displays data on a final report after the data is exported from the LIMS. To support separate tasks both before and after data is transferred from the LIMS all templates must include a worksheet named LIMSData with macros BeforeTransferFromLIMS and AfterTransferFromLIMS. Templates used to import data into the LIMS must also include macros BeforeTransferToLIMS and AfterTransferToLIMS. These macros may be empty with no executable VBA statements but they must exist.
To illustrate the location and format of these macros and their use with LIMS, we will create a simple example. Begin by opening Excel with a blank workbook and change the name of the first worksheet from “Sheet1” to “LIMSData”.
Use File | Save, set the save as type to “Template (*.xlt)” and the file name to “My Template” and save the file in your Excel export templates folder. Use Tools | Macros | Visual Basic Editor to open the VBA Editor. If the Project Explorer and Properties windows are not visible on the left side of the VBA screen, use View | Project Explorer and View | Properties to display. Select Sheet1 in the project explorer and change its Name property in the Properties window to “LIMSData”. Since our macros must be stored with the LIMSData worksheet, double[1]click the LIMSData sheet in the project explorer to open the LIMSData sheet’s VBA code window. Enter the VBA statements shown in the code window below.
The “Public Sub” statements define a public subroutine or macro with the given name. Public macros are accessible to Excel users and to external applications such as LIMS. The parentheses after the macro name enclose parameters with additional data sent to the macro. LIMS sends data directly to the LIMSData worksheet and not to the macro so there are no parameters.
The “End Sub” statement identifies the end of the macro. With no statements between the “Public Sub” and “End Sub” statements these macros are empty and they are the minimum required by an LIMS export template.
Use File | Close and Return to Microsoft Excel to close the VBA editor. Close and save your template. Open LIMS, preview any LIMS report then export the report to your new template. The image below shows the results of exporting the Database Records report to the template.
You now have a basic export template with empty macros. You can use Excel’s macro recorder to perform a task you want to repeat each time you export to the template then copy the VBA statements Excel creates to your template’s macro.
For example, if we want to sort the Database Record report’s data by descending record count so we can quickly see which tables have the most data, use Tools | Macro | Record New Macro, note that our new macro will be called Macro1 then click [OK]. Use Data | Sort and sort by descending Records then click [OK]. Now use Tools | Macro | Stop Recording then Tools | Macro | Visual Basic Editor. Double-click Module1 in the project explorer to view the Macro1 macro created by Excel.
Copy any VBA statements within the macro to your template’s AfterTransferFromLIMS macro. The image below shows the new sort statement added to our macro.
When LIMS exports a report’s data to any template it will first have Excel create a new workbook from the template. LIMS will then run the new workbook’s BeforeTransferFromLIMS macro. Next, LIMS will write the report’s underlying data to the LIMSData worksheet and finally it will run the workbook’s AfterTransferFromLIMS macro.
Using Excel’s macro recorder you can create and copy VBA code excerpts into your own template’s macros to automate tasks to sort, graph, report, and analyze LIMS data with Excel.