Microsoft Access Linking Tables With Partial Primary Key?
Feb 26, 2008
Hi there,
was wondering if there is way to link tables in Microsoft Access, if the primary key is not matching 100%, for example lets assume that we have two table, with fruit type as their content.
Table1
FruitType
ORANGE
APPLE
PEAR
Table 2
FruitType
ORAN
PPLE
EAR
as you can see the content in the second table is somewhat incomplete or corrupted "Orange" is missing an "E", "Apple" is missing an "A", and "Pear" is missing a "P".
I am trying to search for a partial number in the primary key field. I have based my search off Allen Browne's search form [URL]
I have posted my full code below. I am having trouble with the portion searching the Member_ID field.
My first version:
I would get a Run-time error '3464':
Data type mismatch in criteria expression.
Code: If Not IsNull(Me.txtMember_ID) Then strWhere = strWhere & "([Member_ID] = """ & Me.txtMember_ID & """) AND " End If
My second Version: (I was searching for 54)
I would get a Run-time error '3075'
Syntax error (missing operator) in query expression '([Member_ID] = Like "*54*")'
Code: If Not IsNull(Me.txtMember_ID) Then strWhere = strWhere & "([Member_ID] = Like ""*" & Me.txtMember_ID & "*"") AND " End If
Version 3:
If I use this the search works when the Member_ID matches exactly
Code: If Not IsNull(Me.txtMember_ID) Then strWhere = strWhere & "([Member_ID] = " & Me.txtMember_ID & ") AND " End If
Code: Private Sub Member_Search_Click() 'Purpose: Build up the criteria string form the non-blank search boxes, and apply to the form's Filter. 'Notes: 1. We tack " AND " on the end of each condition so you can easily add more search boxes; _ we remove the trailing " AND " at the end. ' 2. The date range works like this: _ Both dates = only dates between (both inclusive. _ Start date only = all dates from this one onwards; _ End date only = all dates up to (and including this one).
I have developed a Microsoft Access 2010 database for my client and the database is split with Front-end/Back-end, the Back-end and the database is shared on Network, The client operating system and applications for all users are hosted and consistent and the service is delivered over Citrix.
The database some times corrupt the tables record and give a permanent #Delete Error, I have attached one of the database table and the screenshot of the error,
My main experience is with MySQL and PHP so I'm kindof stumbling around in the dark here. Heres my story:
We recieved a new server and migrating from (Windows Server 2000, IIS 5.0, Access 2000) to (Windows Server 2003, IIS 6.0, Access 2003) has been nothing but problems.
I have setup IIS to work with ASP, I've also setup a system DSN. The access file was copied over from the previous server. We're running Access 2003 and now I can't seem to get this ASP script to work.
When I try to upload a file to the script I get this error:
Line: 42 Char: 7 Error: HELP!!! Error: [Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement expected 'DELETE','INSERT','PROCEDURE','SELECT', OR 'UPDATE'. Code: 0 Url: (URL address blocked: See forum rules)
Its included in a file called FileRead.htm here is the part that refers to the error lines: Code: var TheFile, FileStrm;// Retrieved field namesvar M_ssn, M_inits, M_Lname, M_Fname, M_DSSN, M_ruc, M_paycode;var M_normamt, M_payamt, M_pgrp, M_poe, M_pltcd, Payrollnum, Payrolldate;// var Trash, FieldData, FieldNames;var TrashLineNum = 1;// Create the file Stream Object (ReadOnly)TheFile = new ActiveXObject("Scripting.FileSystemObject");FileStrm = TheFile.OpenTextFile(FName,1,false);// Setup the Database Connectionvar SQLCommand, TheRS, TheConnection, DSNString, Commands, MyDC;FieldNames = new Array("ssn","inits","lname","fname","dssn","ruc","cco", "payamt","normamt","notsureone","pgrp","poe", "pltcode","recstatus","paychgflg","paystatuscode", "payrollnum","payrolldate");// Connect the the DatabaseDataLib.ConToDB();MyDC = DataLib.GetDC();// Get Payroll NumberPString = prompt("Enter Payroll Number","025");Payrollnum = parseInt(PString,10);// Get Payroll DateDString = prompt("Enter Payroll Date","20000101");Payrolldate = DateLib.FromMil(DString);// Setup the Database Connectionvar NumRecs = 0;//MyTest = DataLib.GetRS("PaydayUpdate1");alert("About to cross into the CurExtract!!!");MyRS = DataLib.GetRS("SELECT * FROM CurExtract");
I set an alert after this line but it doesn't pop up.
ANY HELP WOULD BE VERY GREATLY APPRECIATED. I'll be checking this very frequently.
I have MS Access database with 5 tables in it. And the are few people on my network using excel spreadsheet, which i populate manually everyday from MS Access tables.
Looking for any way i can update the tables and spreadsheet data will will updated as well. and i want to use query in excel to filter data..
I have a question that I have a Microsoft Access database (.accdb) front-end/backend split and I want to give the database to my company client. As we have the different path for the backend/frontend linked. I want some code that will popup if the database location is not found and popup with the dialog so the user then select the backend and it would be ready and there is no need to popup each time the database open, it would run once it did not find the last linked path.
Also I have tried the code of Dev Ashish URL.... but unfortunately it would ask everytime to refresh the table links and I only want to run the process of linking tables when the database start and the linked path not found.
I would like to convert a database, which was made for me, in order to enable it to be used on my current system.
I get the error message below when trying to open the database in Microsoft Access 2003.
The database was made using Microsoft Access 2.0.
Will I need Microsoft Access 2.0 to update/delete the database all the time?
Or can I convert this to be used with Microsoft Access 2003?
I have tried opening the file exclusively and I get the same error.
I have selected Show Help and it advises me to import all the objects from the database into a new database. This can`t be achieved as I can`t open the file to retrieve the contents.
http://images6.theimagehosting.com/error.6de.PNG
Thank you very much for your help and all responses are appreciated, Sam
I would like to convert a database, which was made for me, in order to enable it to be used on my current system.
I get the error message below when trying to open the database in Microsoft Access 2003.
The database was made using Microsoft Access 2.0.
Will I need Microsoft Access 2.0 to update/delete the database all the time?
Or can I convert this to be used with Microsoft Access 2003?
I have tried opening the file exclusively and I get the same error.
I have selected Show Help and it advises me to import all the objects from the database into a new database. This can`t be achieved as I can`t open the file to retrieve the contents.
http://images6.theimagehosting.com/error.6de.PNG
Thank you very much for your help and all responses are appreciated, Sam
I've built a system with around 20 tables in it. All of these use the standard ID field offered by default by Access as the primary key. A friend with a background in database design and development for large corporates using Oracle has reviewed the database (he is going to do some VBA programming for me) and suggested that we use more appropriate primary keys based on data attributes.
He has read "somewhere" that there are problems with the standard ID fields and that occasionally the fields are renumbered/reindexed and that this can cause problems. There are a fair number of queries and some complex forms which will need to be updated for these changes but it would be a shame to go through all this work if it isn't really.
Should we use the standard Access IDs and is it worth a chunk of effort to change from where we are now?
I'm trying to compare partial text records across two tables.
The first table simply has a description, such as: DescriptionHammer Bone Saw Power Saw
The second table is a list of terms and a category, such as: Term, Category Hammer, 1 Saw, 2
I'm looking to build a query will compare the two and assign each description a category based on the partial match. It seems like this should be fairly easy to do, but I'm struggling to find anything to point down that path.
I have an Access datebase, where main tables are built and saved.
Also, I have 2 Access modules, which access informations in main tables in an Access datebase (I used Linking to table) and process information in query.
Questions: Linking to tables in another datebases will make perfomance of the module worse ? If the answer is Yes, then in which scale ?
I have a form in a DB and I would like to make it work so that when a user user chooses a job department (choice of 10). When they choose the department I want the next field on the form to only show the job classifacations(5 in each department so 50 if all show) in that department. Right now all I can do in make it so they need to choose from many job classifacations (50 of them as explained above where 45 have nothing to do with the department first choosen) and most of them don't relate to that department at all. Is it possible to do? I have limited macro knowledge and no code ability.
I have a code for linking tables. It works on Access 32 bit.I modify the code for 64 bit (include PtrSafe after all Declares, etc...)But it doesn't work.When I try to chose database in dialog window, my program closed.
Code: Public Function GetDbPath(path_name As String) As Integer Dim i As Long i = MsgBox("The path to database is incorrect" _ & Chr(13) & "Chose new path?", vbOKCancel + vbExclamation) If i <> vbOK Then DoCmd.Quit Exit Function
At the moment i have an exisiting database that was not created by me. It consits of about 7 tables and a main table. Each table has a Primary Key that is a joining field. The Main form is built with subforms and when i enter a number in the primary key filed of the main table it enters that number in all the other primary keys in the other subforms. i have now tried to create another subform to put into the main form but i cannot get this "link" between the primary fields to work. can someone please help.
I have a software which links itself to a fox pro database/tables. Now i want to link some of these free tables or database from fox pro to access. Whenever there is a slight change in the fox pro tables/databases they must reflect directly into access database. Is this possible and how?
I'm trying to use a template to track assets-specifically this template:URL....Is there a way I can link an excel doc to my database that provides all of my data, that is thereby linked to other tables within Access?I want my data to be updated as it is manipulated within the independent excel doc when I open access.
What I would like to know about Microsoft SQL Server & Access 2003 : I am a novice at creating my own database. I would like to use Microsoft SQL Server & Access 2003 . I have in the last 3 months read all I can about creating a database in Microsoft Access 2003 . Now I need to learn about Microsoft SQL Server, and it is very different from Access 2003. I have purchase many bussiness applications over the last 5 years, and fount that over software are to rigid, as I need something very specifil to my bussness. If you intend to reply, please be very specific & in plain English.
Can someone help me ?
1Can Microsoft SQL Server 2000 work with Microsoft access 2003. a.Is this do-able .
2Can Mysql also work with Microsoft access 2003
3What is the difference between Microsoft SQL Server & Mysql.
i have 4 supplier tables with identical field names but different databases in sql.I want to have them all in one table and only want the information for reference i do not want to edit any of the data.I need to create a new primary key number for the complete table. The data will need to be refreshed as the data comes from MMS Sage looking at company PLsuppliers.
I have tried a linked SQL union view- but this has no primary key.I need to keep the Primary key consistent as the data saved in other tables will use this field.The overall goal is creating a Purchase order system and this list will be my complete supplier list.
Currently trying to build a database for customer management and order placement/tracking. Want to set a couple of rules so that if I for instance click yes of billing and shipping address the same that the database will automatically fill the shipping address with the data I inputted for the billing address in the same table.
The other issue I can see I'll run into is, I want to be able to select one of the company ID's (made up of a three letter abbreviation of the full company name) in the product ordering table and it will automatically fill in the rest of the customer data (phone, email, address etc) data into that form.
I am doing a project where we are collecting home owner data and information on all the dogs in the household. The data for homeowner has an autonumber primary key because no field is unique or has been consistently collected. I am struggling to link the data for the dogs to the owners because an autonumber primary key will not work since not all homes have dogs. I need to have this set up so that people who are not tech savvy can look up each homeowner (or dog) and get the dog (or home owner) information. And to make things even more fun we need up to 15 potential dogs per household each of whom will have 18 different pieces of data collected.
It looks a little like this (and you can see my not matching ID issue):
Homeowner table ID First Name Last Name...........Total Dogs 1 Max Maximus 5 2 Min Minimus 0 3 Mus Musculus 1
Dogs 1-5 table ID Date Dog 1 Name Dog 2 Name .......Dog 5 Name 1 (Max's) 4/11/14 Bobby Billy Betty 2 (Mus's) 4/11/14 Jojo
Min will have no dog records at all, just home information.how to link the dog's to the homeowners .
Ok so I have a new project. I have run all queries and appended them to my tab inventory. My mission is to take all of the query's and create a table that combines all missing parts info (I.E.> date, part#, plant, location, inventory, reorder pt.) How do i do this and if you need more information please message me back. I would greatly appreciate any help.
I have a report writer in access which i use to generate reports from act! (a CRM software by sage).
Recently, there has been some changes and development in act! software (we added new fields into it). I am trying to update the tables in access with the new fileds, but am not able to do so.
I have been asked to design a database to replace our old excel sheet to log one of our customers server builds. It a four noded system and i require a seperate log for each node serial models of parts etc, qa checks.
I intitial started by just using one table but forgot the limit was 255 rows, i need about 600 - 700. So my plan is now to transfer to indivial table for each node. Then, a general table named Main for all my other details.
Although this seems simple, i now have the annoying task of being able to link them all together and produce a single PDF file to send to our customer whilst only entering our system serial number once to produce this.
My basic understanding will be to create a System Serial Number field in each table a link it via relationships, but if i produce a report with everything i need would it input my details for all four nodes? If so how would i set this up?
I will be splitting the database once completed and then making a ACCDE file for my techs to use.