I have big problem with connection between ODBC and Access 2007. Everything is linked correctly but I have problem with separator in decimal field. In my country this separator is "," not ".". I found information about connection in MSysObjects.connect table that
I found somewhere that I need to change NUM value from NLS (default) to MS. Do you know how to edit this value? For example Access 2007 see value "123.8" (so it is in my country "123,8" ) like "1238"
I'm having a problem with ODBC in Access. For some unknown reason, when I click Get External Data > Link Tables the ODBC Dialog box doesn't appear. I have reinstalled Access and ODBC from the MDAC.
Still the ODBC dialog will not appear.
The funny thing is that existing links to my SQL Server database open fine and display the data.
Has anyone experienced this issue and what was the fix.
Due to software licensing restrictions, my (Access 2007) development pc is NOT (may not be) connected to the network.The user pc's are all connected to the network.The network pc's only gets Access 2007 Runtime.The Front-end accde will be located at C:mydbFE heFE.accde on each user's pc.The Back-end will be located at X:mydbBE heBE.accdb (network share).
Currently (during development) the Front-end and Back-end is at C:mydbDEVFE and C:mydbDEVBE respectively - on my development pc, and the linked tables are pointing to C:mydebDEVBE.Now that I'm ready to distribute the database to the user pc's, I obviously need the Front-end's Linked Tables to point to X:mydbBE heBE.accdb
Where does Access2007 store the path to the Linked-Tables ? Is there a way I can change this path manually before making the accde ?I noticed that the path to the linked tables appear in the (hidden) MSysObjects table, but I do not want to mess with it until I know what the solution is.
I am trying to use one Access 97 mdb file to attach to two different SQL servers depending on the situation, one is production the other is a backup server. (The application requires an Access97 file format so I can't change that) I have a DNS Alias for the server name and I put that in the ODBC under Server Name. When I have the Alias changed from Production to Backup I want the Access file to see the data on the backup box.
It appears that MSAccess stores the Server name when the link is made in the MSysObject.Connect field and it does not update that even, if the ODBC is changed. I have one test connection that seems to working because I created it using the ODBC after the Alias was added. The string it puts in the connect field has no reference to the server name or address similar to what is below.
So I think I need to recreate a new file using the Alias in the ODBC so the specific address is not in the connection string. What do you think? Has anyone used an Alias name like I am trying to switch between like databases on two different servers? It seems weird that in the first example above there is not reference to the alias name so maybe this forces it to look it up.
I am trying to assign a ProjectNo to a taskgroup, but when I try and join the 2 tables together via query, I am unable to edit information in table 2 (Taskgroup, StartDate etc). The 2 tables are linked via ProjectNo.
I am trying to create an ODBC link to a copy of the Northwind data base.I am running Win7 on a 64 bit operating system but am keeping office running as 32 bit for Access, Excel , Visio etc due to the fact that I have a lot of old apps tied to them.
When I attempted initially to create a new system DSN ODBC connection it only allowed me to use SQL drivers. (No plurry good) So after some searching I found out that I could use a file in C:WindowsSysWOW64 called "odbcad32.exe" which has allowed me to view /use the total list of drivers to import data.So I can set up a DNS ODBC named Northwind1 and I can access the database without problems using Excel.However if I try to use the same ODBC link in Access to connect to Northwind1 I get the following error message:"You cannot use ODBC to import from export to, or link an external ?Microsoft Access or ISAM database table to your database".
I am currently using Microsoft Access 2010 32bit, and have one database acting as parent, with a second linked database as a client for people to work with, and the parent database has tables imported from Sage V21 via ODBC. I have used the following code as specified in other examples as follows:
one of the tables has 10k records in it, it only transfers 77 records. After manually attempting an import via the ODBC wizard it finally lets me access all 10k records.I wish to have a single button click delete and import fresh tables without worrying if all the data is coming across.Also, when manually adding a table, I am usually asked by the wizard to specify an index, but with the code above, I am not offered that option and the tables come across with no index. I am led to believe that having tables that link to each other without an index is bad, so how do I ensure an index is created?
I have linked tables from SQL Server using ODBC connection that their location never changes. I have used certain fields of those tables to create queries and make table queries to derive to the information I needed.
On these tables on SQL Server, there is new data added daily. Every day, midnight, there's new data records added of whatever transactions took place in that working day. how often do I need to refresh linked tables in this case to get the latest data added. I mean, once I am linked, the make table query using those defined fields, would it get the latest data added by default when the query is executed, or I must refresh linked tables using Linked Table Manager and then run make table query.
Also, if I want the access to automatically refresh linked tables, can I use the following code? I have added this code, and executing it through a button, but I don't see anything happen, the database becomes inactive for couple seconds (I guess while it is updating) but I don't know is it updating the tables for sure or not, though I am not receiving any error when executing the code through the button.
Function RefreshLinkedTables() Dim tdf As TableDef For Each tdf In CurrentDb.TableDefs If Len(tdf.Connect) > 0 Then tdf.RefreshLink End If Next td End Function
Hello, this is my first post (anywhere ever)!:eek:
While I have lots of Access programming experience over the years I have broken new ground this week and am in unchartered territory and need help please!
In the organization I am working for (as Procurement Manger), we use AMMS (by Microwest) for work order generation and inventory management, etc. I have been able to import into Access the tables of interest from this SQL-based package. The problem is that I need to share the tables (via nice front end forms/queries) with about 20-30 people in the field.
I don't know much about ODBC but the administrator of AMMS was kind enough to give me access to the AMMS database tables via ODBC and I, personally have access to read the table data but none of the other people in the field can access these tables due to security rights.
So, what I have done is I created MS Access tables for each of the 4 AMMS tables of interest and I run code that runs delete and append queries on each table. I then have a separate public db that the field people access with all the queries and forms but only links to the Master db containing the 4 Access tables derived from the ODBC tables. This works ok but there are issues:
1) if any field people are on the Public db, the code to import the ODBC table data loops and does not complete the delete/append cycle on one or more of the tables. I can only refresh the table data when nobody is connected to the db - impractical.:(
2) the ODBC tables are rather large - one is over 38,000 records and it takes several minutes to run the delete/append queries.:mad:
3) When I created the Master db it was some 83MB. After running the delete/append queries it is some 179MB and appears to increase in size every time I run the delete/append code. When I run "compact db" it stops running after a short time. Does nothing but create a new file (db1.mdb) of the same huge size as the Master.:confused:
I suspect the most graceful solution would be to give each user rights to the ODBC tables from AMMS in Access. In this case, I wouldn't have to run delete/append queries and the data would always be in relative real time subject to the refresh timer. Unfortunately, due to AMMS licensing restrictions, this is not doable.
I have tried to search the internet for guidance but no luck. This forum appears to be an excellent opportunity to get expert advice on this particular issue. I thank you for your thoughts and guidance.
I wonder if anyone had any suggestions regarding how to link 4 ODBC tables so the info in each of the 4 ODBC tables are in one table. The 4 ODBC tables are linked in from a mapping system. Each table has 80% the same fields with some minor differences. i dont know if a union query would be the best answer in this case as the field in each of the ODBC's tables do not exactly match. Some have 12 fields, some have 14 fields. Any help would be appreciated? also this would be using Access 2003 if you would like to know. thanks
In Access Database A, I have some linked ODBC tables (to an SQL Server database) and some local tables.
In Access Database B, I have a front end which links to all the tables in Access Database A.
The problem is, when I try to link the tables in B, I cannot see the ODBC tables linked in A. Is there any reason why not? 'Why not link Access Database B to the SQL Server tables directly?', you may ask. Well, there is an answer to that but it is quite difficult to explain. I assure you there is one. :p
When linking a table via ODBC I usually get asked to pick a field that contains unique values. This is all very well but I have hundreds of tables to link to across a slow network and would like to leave it running for a few hours. With the current set up, this is not possible and I have to keep clicking on ok every few seconds/minutes. Is there anyway to avoid this message so I can just leave it running until it finishes.
Is it possible to amend this hidden table? It is for my ODBC links, I would like to amend (enmass) where it is linked to and the table name. If I could amend this table, it would only take seconds.
Hola senor y senora. I'm new here. I am currently working on MS Access Project and I needed help from you guys. :o I have done smoothly so far, but now I'm stuck at this query:
SELECT [MSysObjects].[Name] AS ObjectName FROM MSysObjects WHERE (((IIF(Left([Name],4)="mis_",[Name],""))<>"")) GROUP BY [MSysObjects].[Name],Left([Name],4),[MSysObjects].[Type] HAVING (((Left([Name],4))<>"MSys") AND ((MSysObjects.Type)=1)) OR (((MSysObjects.Type)=-32768)) ORDER BY [MSysObjects].[Name];
Previously, there was somebody doing this project, and so I have to sort of enhance this project by moving a few buttons here and there. That query lists out all the tables that had been filtered. So, I am stuck now on what does the query actually means. I also had tried the query by creating a fake Query and type out the SQL but I still cannot understand how am I to go about re-using the query. Do hope anyone of you could help me out and explain to me. (Pardon me if I really sound ignorant. :o )
when i run this function i get an error : "You cannot use ODBC to import from, export to, or link an external Microsoft Jet or ISAM database table to your database"
when i try to import in the same way a dbf file (insted the csv file) with VFP it's working well.
what seems to be the problem? how can i fix it? or if some one know how can i import a large csv file into access DB in an efficient diffrent way?
I've got a workaround for the SQL of obtaining a count of tables matching a certain name-style. Ideally, I want to use the Like function (sql2) as it codes more simply, but found that the query doesn't work. As a workaround, I rewrote with a string comparison using the Left function sql1.
My question is: What is wrong with sql2?
When I paste the SQL into the Query Designer it works, yet when I debug in module code form, it fails.
Any ideas?
Regards.
Private Function getTableName(strName As String) As String
'--------------------------------------------------------------------- ' Purpose ' This function is used to create a new table name. First it looks up ' all the table names in the database matching the passed in variable ' name, and then returns an incremented version of the name. '--------------------------------------------------------------------- ' Returns ' Table name as string. '---------------------------------------------------------------------
Dim sql1 As String, sql2 As String, rst As New ADODB.Recordset, n As Byte
' Get number of characters for passed-in variable. n = Len(strName)
sql1 = "SELECT Name FROM MsysObjects WHERE left(Name," & n & ")=left('" & strName & _ "'," & n & ") AND (Type=1)"
sql2 = "SELECT Name FROM MsysObjects WHERE (Name Like '" & strName & "*') AND (Type=1)"
In the midst of importing and deleting forms and the underlying code, I've got some rogue forms in the MSysObjects table that I want to get rid of, but can't figure out how. They look just like regular forms in the table, but have names like "~TMPCLP411521", and some of the controls are in there, too, with names like "~sq_c~TMPCLP411521~sq_ccboPayTypeID". Can anybody help me get rid of these things? Or am I stuck with them? Thanks.
I am splitting a database and have created the Back end already. When I create the front end and link to the tables on the back end... The front end does not link to all the tables in the back end. The list that comes up when creating the linkings does not show all the tables in the back end. What would cause this?
I'll cut right down to it: I have an ODBC connection to a (SQL Server) test database on my development machine that is identical to the live database to which a (different) ODBC connection exists on the PC where this Access application is to be deployed. The problem is that when I deploy, there are some tables that have to be updates, because they still point to my test database. The other tables look like they use the default database for that user.
I used to be able to just copy the Access application and it would work without having to update any linked tables.
To clarify, the tables that work without a problem look like this in the Linked Table Manager:
t_mytable (DSN=odbc;)
And the problem tables have this:
t_mytable2 (DSN=odbc;DATABASE=my_test_db)
I don't seem to be able to clear that DATABASE= thing up. Can anybody tell me how this works?
I have a lot data to append to ODBC linked table in MS Access. I want to know that which way is faster to append the records.
if I append the data into ODBC linked table, 1) create the one query (append) to insert the records into ODBC linked table 2) use the VBA code (DAO/ADO) to insert the records into ODBC linked table
My tables are sybase linked tables to my Access front end. I get this error whenever i click away from my mainform while my not-null fields (textboxes) have not been entered. So, i would like to put an error message "somewhere" that tells the user to fill in the necessary fields and highlight the necessary textboxes in red, instead of this scary ODBC message http://img82.imageshack.us/img82/6829/error0el.png :eek: :eek:
When i put my error handling in the afterUpdate or afterInsert Event. I still get the above error msg instead of my msgbox. Where do i put this message? or should be question be, "what the proper way to handle this intimidating error? :)
Here's my error handling:
On Error GoTo Err_Form_AfterInsert
'do something
Exit_Form_AfterInsert: Exit Sub
Err_Form_AfterInsert: MsgBox Err.Description, vbExclamation, "Please enter the Project Name, Project Leader Initials, Main User and Status Code" & Err.Number Me!Combo67.BackColor = "red" Me!Combo65.BackColor = "red" Me![Project Name].BackColor = "red" Me![Project Leader Initials Combo].BackColor = "red" Resume Exit_Form_AfterInsert
I Created a form and linked it to a ODBC table with no data. Set the Allow Additions property to Yes. It shows fine if there is data in the table but not when there is no data.
I am working on an MSACCESS database that reads data from SQL Server through ODBC Connection.
I have multiple tables that I have linked in and created Queries that read the data and created Make Table query.
However, I am asking if there's a way to bring the data through a query that doesn't need the linked tables. Is there a way to bring different fields from different tables into one query without needing to import all the tables, since the tables have many fields that I don't need.
For example in MS Excel, I am able to do that, a query that will bring external data from SQL Server from different tables and only brings the fields that I need for my report.
Our master database has linked tables with ODBC to our SQL database and linked tables to another access database. On the computer i'm running this from a System DSN data source has been created to connect to our SQL database.
The problem I'm having is when I run Macros to kick off Queries, there seems to be some kind of timeout issue and its not consistant. Sometimes in Access after a hour or two, the ODBC links somehow just fails. I have to go up to the menu and go to 'Get External Data' and then 'Link Tables' and relink the ODBC DSN connection. I make sure to hit save password and the end but that doesn't seem to do much. This also happens sometimes when I close and reopen the database.
But it seems erratic, sometimes it can stay up for hours but sometimes just a few mins. Sometimes I can close the Access database and reopen without losing connection. Being so erratic, this makes it very hard for me to run batch files nightly to kick off Macros. Is there some kind of inactivty timer for DSNs? Or maybe with the SQL database itself? Or is the way i'm restablishing the ODBC connection wrong ?
I have Linked a few ODBC Databases to my database in the Tables objects. How do I make them usable for queries or as record source for my form? I tried to create a query but the ODBC databases do not show up in the Table options.