Can I redistribute dao360.dll and acedao.dll? - ms-access

In this and this, I know one can use direct DAO to manage Access database. Therefore, I just wonder if it is possible to redistribute acedao.dll and dao360.dll mentioned in the first and second article?
Thanks

Yes.
Both dao360.dll and acedao.dll are included in the Microsoft Access Database Engine redistributable.
When writing this answer, the latest version is the 2016 version, downloadable here.

Related

Adding MySQL functionality in LabView

I am new to LabVIEW and trying to make a small project. In LabVIEW from one device, I am measuring some values and then need to store them in database. Initially, I used Excel to store data. But now I need to add MySQL functionality to store data and then later retrieve when need for analyzing.
I look for NI toolkit but it is expensive. I need some free and open source solution for my project.
I search over SO and google to find any examples where I can start and make it work, but I couldn't find any.
If someone suggest me some resources or having some example code that I can use to achieve my goal. thanks in advance.
Take a look at LabSQL. This works in LabVIEW 2017, allowing connection to a MySQL database without NI's LabVIEW Database Connectivity Toolkit.
I normally use the Database Connectivity Toolkit, but I did confirm I could get this to work in 2017 as well (though connecting to a MSSQL database instead of MySQL).
The only thing that tripped me up at first was not using the Create Connection before Open Connection (because I was used to the aforementioned toolkit). I didn't try anything complicated; I just ran a simple selection query. But it looks like everything should work pretty similarly to the toolkit. As adambro said, if you have a more specific question, maybe we can help with an answer.
I would suggest you could use SQLite. It is a fairly easy toolkit. You can download it via the VI package manager. By dr. James Powell. SQLite is excellent in storing data locally.
Use the SQLite browser from sqlitebrowser.org.
Also a nice way to learn SQL!

Using MS Access as a front-end to MySQL db

I am using MySQL DB for my android application. I have installed phpmyadmin on my Ubuntu LAMP server and using it to access my DB. Is there any possibilities to access the DB using MS access 2010, as I need to do perform modifications on a regular basis to my DB
If the aim is to change the data and not the structure, using MS access is a good solution, as you can edit anything in linked tables very efficiently with litlle setup efforts.
To achieve this, first you need to download and install the MySQL ODBC driver.
In order to avoid issues, I advise you to install the 32 bit driver, even if you're on a 64 bit system. The 32bit will work flawesly, which is not always the case of the 64 bit.
Once installed, open the ODBC control panel and add an entry pointing to your MySQL database
Then in Access you can add linked tables using this ODBC entry
Once the table are linked, they will behave as if they are MS access tables and you can open them and edit data, and much more.
You can use Microsoft Access as a front-end to your MySQL database.
Refer: MySQL Documentation
But for your case, directly accessing database is wrong. I suggest better you have a view page with php to update DB with proper required validations.
The answer by Thomas G does an excellent job of describing WHAT we need to do, and even provides some good links.
What we need now is a good, step-by-step description of HOW to accomplish all the steps Thomas G describes.
I've been looking for this for a long time, and still no luck. However, I'm possibly on the track of getting that answer, and if I find it, I'll come back here and post it.

Best portable DB engine that supports Linq

I need to know what is the best portable db, for this situation
I've an application base on sql server db, we use both LINQ TO SQL, and ADO.NET, in this application.
Now we need to make a portable version of it, but the fact we are using Linq To Sql, preventing us from using MS Access, as there is not out of the box solution for that (other than some 3rd parties, and we don't want to use them).
So I need to a db engine that is:
Portable
Have Linq support.
if it is not completely portable, is there is a one that can be easily attached & deattached, from client PC.
Did you check out SQL Compact Edition?
Downloadable for free and a list of reasons why to use it
It seems the latest and greatest version (4) does not support LINQ-to-SQL, but the previous version (3.5) does.
Check this code project article: LinqToSQL: Comprehensive Support for SQLite, Microsoft Access, SQServer2000/2005
Hope this helped.

MS Access: How can I find out where Tables, Queries, Macros etc. are used?

We've inherited an MS Access db/application (Office 2002) with great names such as NewTable, Subform or Macro1. Unfortunately, when we change these to more meaningful names, the references (in other Queries, Forms or Actions) are not updated.
How can we find out where a specific object is used?
MsAccess has an OBJECT DEPENDENCIES checker. in Access 2007, for example, you must:
click on object (a table, for example);
click on the DATABASE TOOLS tab;
click on the OBJECT DEPENDENCIES (if asked to update dependencies info, click YES)
this whitepage details the process and recommends additional steps that you might wish to take.
In access 2003 and 2000, the process is slightly different, for the interface changed significantly from 2007 onwards
You can check the system tables, MSysObjects and MSysQueries for references to tables and queries (you can also check the sql string of querydefs). You can loop through the properties of forms and reports, and their controls, for references to tables, queries and macros. You can search code.
The Name Change auto-correct option is usually deprecated, but it may have a place here.
I had found ACCESS Dependency Checker as free Microsoft Access Add-In that that reveals the dependencies between database objects like tables, queries, macros etc. I had installed and it's satisfactory for my needs. Try it.
If you have Access 2003 installed somewhere: there is an option to list all dependencies. Just right-click an object and choose Object Dependencies (I'm not sure about the translation, I have a Dutch version here).
This will show you dependencies in both directions.
After opening the database in Access 2003 you can still use it in Access 2002. If you are unsure, you can always create a backup copy.
A shareware tool that can help you with much of this is Rick Fisher's Find and Replace. It has a 30-day trial and costs $30 to register.
Another more full-featured tool is Black Moshannon's Speed Ferret. It's a really excellent product, though relatively expensive ($170). It's also rather problematic in that they never released a native version for Access 2003 or 2007. But you're in luck in that regard as you're dealing with 2002.
If you really want to do this quickly, Speed Ferret is definitely worth the money. Consider your hourly rate and any significant project will pay for itself the first time you use it.
Rick Fisher's tool is less professional and less full-featured, but may be sufficient for your needs. I've only tested it, never used it in a full-fledged project.
There is this small add-in, free and usefull vtools, that, among other possibilities, specifically allows you to search for values in all access objects (tables, queries, code, forms, ...).

How to add a version number to an Access file in a .msi

I'm building an install using VS 2003. The install has an Excel workbook and two Access databases. I need to force the Access files to load regardless of the create/mod date of the existing databases on the user's computer. I currently use ORCA to force in a Version number on the two files, but would like to find a simpler, more elegant solution (hand editing a .msi file is not something I see as "best practice".
Is there a way to add a version number to the databases using Access that would then be used in the install?
Is there a better way for me to do this?
#LanceSc
I don't think MsiFileHash table will help here. See this excellent post by Aaron Stebner. Most likely last modified date of Access database on client computer will be different from its creation date. Windows Installer will correctly assume that the file has changed since installation and will not replace it.
The right way to solve this (as question author pointed out) is to set Version field in File table.
Unfortunately setup projects in Visual Studio are very limited. You can create simple VBS script that would modify records in File table (using SQL) but I suggest looking at alternative setup authoring tools instead, such as WiX, InstallShield or Wise. WiX in my opinion is the best.
Since it sounds like you don't have properly versioned resources, have you tried changing the REINSTALLMODE property?
IIRC, in the default value of 'omus', it's the 'o' flag that's only allowing you to install if you have an older version. You may try changing this from 'o' to 'e'. Be warned that this will overwrite missing, older AND equally versioned files.
Manually adding in versions was the wrong way to start, but this should ensure that you don't have to manually bump up the version numbers to get them to install.
Look into Build Events for your project. It may be possible to rev the versions of the files during a build event. [Just don't quote me on that]. I am not sure if you can or not, but that would be the place I would start investigating first.
You should populate the MsiFileHash table for these files. Look at WiFilVer.vbs thtat is part of the Microsoft Platform SDK to see how to do this.
My other suggestion would be to look at WiX instead of Visual Studio 2003 for doing installs. Visual Studio 2003 has very limited MSI support and you can end up spending a lot of time fighting it, rather than getting useful work don.