Difference between File identifier and File name in File information list of MS Access database engine updates - ms-access

I was going through July 5, 2022, update for Office 2016 (KB5002226) and I found that the file identifier and file name are different in the case of Acacedao.dll under the file information section.
Can I please know the difference between these two?
Update: It does not seem like a typo as Acedao is also mentioned on 3rd number

Related

How to decouple variable names in external files and the code?

Imagine I have an external file dates.csv in the following format:
Name
Date
start_of_fin_year
01.03.2022
end_of_fin_year
28.02.2023
Obviously, the file may get updated in the future, and the date may change. I create a piece of code that checks the file periodically to extract needed dates and put them into the DB/variables. Roughly speaking, I have this pseudocode:
start_of_fin_year = SELECT Date FROM table WHERE Name = 'start_of_fin_year'
The problem I face: my code will break if I or someone else changes the name in the table. How do I prevent this?
FYI this is a personal project that I developed on my own, but I will have to give access to .csv files to others so they can update info. I'm afraid they may accidentally change the names, so that's why I'm worried.

MS Access 2013 saved exports not saving to MSysIMEXSpecs table

I am working on an Access 2013 database that someone else created. It has a module that exports several reports as PDF files to a specific folder. Some of the reports are exporting successfully but 3 of them aren't. An example of the code used is as follows:
DoCmd.RunSavedImportExport "Export-rptJobsToClose_FS2"
I receive an error that the database can't save the output data to the file you've selected. I realize that the path is saved in the "Export-rptJobsToClose_FS2" saved export. I would like to see the path so I have tried opening the MSysIMEXSpecs table but when I do, it is totally empty. So is the corresponding table MSysIMEXColumns. If I create a new SavedExport definition and use the same name as the one in the code, I get the message that it already exists. How is that possible that it already exists when those system tables are empty? I have tried creating saved exports with new names, but if they don't work I can't reuse those names as I get the message that they already exist. So, I have to keep thinking of new names and can't see any information about the Saved Exports that I have already created. Thanks for any help.
MSysIMEX* tables contain import specifications for correct data transfer. Saved import-exports stored in other place. You can see all names of saved imports/exports using menu External Data -> Saved Imports/Exports, there you can also see and edit destination path and import/export name.
Thru VBA you can reach the collection of saved imports/exports by using collection CurrentProject.ImportExportSpecifications, destination path stored in XML attribute of each Item.
The code below prints all existing import-export specifications
Dim ie As ImportExportSpecification
For Each ie In CurrentProject.ImportExportSpecifications
Debug.Print ie.Name
Next
Saved import/exports in Access are not the same thing as import/export specifications. If you want to see the saved import/export definition, you can dump it by typing the following command into the Immediate window.
? CodeProject.ImportExportSpecifications(*SpecificationName*).XML

Do a VLOOKUP of a database that is too large to open in excel

I am trying to do a VLOOKUP query into an Excel file (File 1) with about 500,000 rows from another csv file (File 2) that has about 4.5 million rows. This second file is too large to fully load in Excel, and so I am unsure how to proceed.
I am attempting to import data from File 2 to File 1 based on matching the unique PointID identifier in Column B in both files. I also have File 2 in an Access database if that works better. I have tried indicating the 'table_array' index in File 1 without opening File 2, but am receiving an error message.
Is there a way I can iterate over File 2 like a VLOOKUP without opening it or receiving an error message?
If you've already got File 2 in Access I would import File 1 into Access as well. Make sure that File 1 has its PointID set as the Primary Key, then you should be able to use an Update query in Access to get the relevant values from File 2 into File 1. You would then export the updated File 1 data back to a new Excel file (if that's where you need it to be).
I can't think of an easy way to update the original File 1 directly. It doesn't work if you add File 1 as a linked table in Access because the data isn't updateable as far as I can tell (I did try this, but I am working on older copies of Excel/Access so maybe newer versions may allow it).

SSIS 2008 Excel Source - Problems loading Alphanumberic columns

I am using SSIS 2008 to load alphanumeric columns from Excel.
I have one column which starts off as integer
1
2
...
999
Then changes to AlphaNumeric
A1
A2
A999
When I try to load using using an Excel Data Source, excel will always say that it is an integer as it must only sample the top of the file.
(BTW - I know that I can re-order the file so that the alphas are at the top but I would rather not have to do this...)
Unfortunately you can't seem to be able to change its mind. This means that when it loads the data, it filters out the 'A' and the A999 record will update the 999 record. This is obviously not good...
I have tried to change the external and output columns to string under the advanced editing options, but I get errors and it won't run until you set the columns back to integer.
Does anyone have a solution?
SSIS uses Jet to access the Excel files. By default, Jet scans the first 8 rows of your data to determine the type of each column.
To fix it, you will need to edit the registry to increase the TypeGuessRows DWORD value of one of the following registry keys to determine how many rows to scan in your data:
It depends on what version of Windows and what version of excel ... as follows:
For 32-bit Windows
Excel 97
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel
Excel 2000 and later versions
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
For 64-bit Windows
Excel 97
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\3.5\Engines\Excel
Excel 2000 and later versions
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel
Then, specify IMEX=1 in the connection string as follows:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\abc.xls;
Extended Properties="EXCEL 8.0;HDR=YES;IMEX=1";
This information can be found in a more verbose form at: http://support.microsoft.com/kb/189897/
Wow, that looks like a huge pain. I came across a couple of examples where you could alter the connection string and sometimes get better results but they don't seem to work for everyone.
Scripting an automatic conversion to an .csv file would be a good workaround, there are a number of suggestions in this thread:
converting an Excel (xls) file to a comma separated (csv) file without the GUI
including some code in C# that you may be able to easily plop in:
http://jarloo.com/code/api-code/excel-to-csv/
here is the simiar question where altering the connection string is discussed if you want to look into it for yourself: SSIS Excel Import Forcing Incorrect Column Type
Good luck!

What should be the appropriate name of a log file

I want to log my exceptions in a file. What will be the name of the file?
Error-ddmmyyyy.log
Log-ddmmyyyy.err
Log-ddmmyyyy.txt
or anything else?
If date is important, I would use yyyymmdd format: this is easier to get a sorted list. I would add hhmmss if relevant.
.log suffix is nice for me.
I would add the name of the command issuing exceptions as a prefix of the logfile.
Something like: myCommand-20100315-114235.log
There are many ways you can name your log files, you have to consider several factors:
Is your file generated by a special server or application in a group? Then you should add the name of the server to know where it does come from.
Example:
Server1.log
In the log file there could be many levels of logging, if you want you can configure different files for different levels.
Example
Server1.info.log
Server1.err.log
You should add a date if your application runs for many days or if you want to keep track of errors for future reference, add it at the start of the name in yyyyMMdd format on windows or linux so they will be sorted by date automatically in command line commands or add it at the end if you want them more organized:
Server1.info.log.20100315 (Linux)
Server1.info.20100315.log (Win)
You can try with different combinations, it all depends on what sorting style and archiving style you want to achieve.