I'm writing a budget database, and while planning out the tables went fine, forms are proving to be trickier.
I have a 'transactions' table, and two queries based off it. The tables and column names are below
'people_to_reimburse' : payee_name, total
'unwritten_checks' : payee_name, amount, description, date_incurred
I'd like to make a form where you can go through the people to reimburse, and there's a subform showing which checks are theirs. Obviously, the payee_name would be the field to link on.
However, in Access's Form Wizard, when I select these two tables, I get an error of:
You have chosen fields from record sources which the wizard can't connect. You may have chosen fields from a table and from a query based on that table.
How would I set up a form like this, if it's possible? If not, why can't I?
Related
I have a relational database in access, but I have issues joining tables (first time doing a relational database). I did three queries: on first I got costumers and orders information, on second one I got products and quantities. On third one, I got issues information based in first and second queries with some issues table fields.
Then I did a form with query costumer data and a subform with products information (quantities) and I need a issue form. I added a yes/no field from issues table, and when I tick it in subform, I want to be displayed a issues form to type data issues for each record.
The best I could do was joining "identifier" from "incidencias" table to "identifier" to "pedidos" table. I got what I wanted, but I got the issues form fields locked and greyedo out when I tried to entry data, maybe because I did forms based just in queries (I read that searching in google). when I did the form based only in tables, I got serveral errors and the same field information for all records.
I'm trying to create a form to fill three tables to describe some projects with the 'Title of the project' as common field. When I create the form I have to write the title three times, otherwise it's not posible to fill the tables. Is there any way to put just one of the three fields on the form but the three of them are filled?
The database is empty, I want to make a form to start introducing all the projects that are going to be done in my group of work. In one table there are data related to the project, like start dat , full budget etc. In another one the information about my company, like the group its doing it, its role etc. In the last one just some general information like related tags. The name of the project appears in all of them, but when I do the form from a query they seem not to be related even if I do it on the query.
I've already tried to do it with the Wizard tool, selecting the different tables and its fields. I also tried to check the form properties...but I can't come up with what I'm doing wrong...
I'm new using access...
I'm creating a compliance mailing for my organization, the mailing will include merge fields that identify the office location, physician, and SiteId. The mailing will also include a table of information that is dependent upon the particular SiteId.
I'd like to use the import table function of MS word and set up a query that references a merged field (SiteId) so that the inserted tables populate the appropriate data for the particular site. I'm unable to do this.
How can I set up this document so that I can import only records from my source (an ms access query) that match the SiteId merge field?
Word's mail merge does not support one-to-many relationships. There are ways to coerce it, but only one of them can yield a table as a result and over the years it has become less and less reliable as Microsoft has not regarded it as important enough to maintain...
What you need to do is set up a query that provides ONLY the information you want displayed in the table, plus the key (SiteId). It's best to sort it so that all the SiteId entries list together, and are in the order the data will come through in the mail merge data source.
On the Insert tab go to Text/Quick Parts/Insert Field and select the Database field from the list in the dialog box. Click "Insert Database" and follow the instructions in the dialog box to link in the data. Be sure to set the Query Options to filter on the first SiteId from the data source. When you "Insert Data" make sure to choose the option to "Insert as a field".
This inserts a DATABASE field in the document which you can see by toggling field codes (Alt+F9). The field code can be edited and what you need to do is substitute the literal SiteId value you entered for the query with its corresponding MergeField.
When you execute the merge to a new document that should generate a table for each data record corresponding to the SiteId for the record. But, as I said, Microsoft hasn't done a great job of maintaining this, so it may require quite a bit of tweaking and experimenting.
If the results are not satisfactory then you should give up the idea of mail merge and use automation code to generate and populate the documents.
You can find more (albeit somewhat out-dated) information on this topic at http://homepage.swissonline.ch/cindymeister/mergfaq1.htm
I have a specific question regarding the utilization of three tables in a database. Table 1 is called Personnel, and lists the names of the staff.
Tables 2 and 3 are identical, just listing two different types of overtime (long and short), along with the hours of the OT, Date of the OT, and Assigned to/Picked fields that are empty.
Here is the idea, I just dont know how to implement it. I would like to create a form for people to enter their OT picks, then automatically move to the next person on the list. So Rich Riphon, as an example, would be up first, would click on the link I would send, and a form would open up, showing his name, populated by the first table, and showing two drop down menus, populated from the Long OT and Short OT tables. He would select one from each (or None, which would be a option) and Submit it.
The form action would be to place his name in the Assigned field for the OT he picked, and place a Yes in the Picked field.
When the next person in the list opens the form, it has moved down to number 2 on the Personnel list, Cheryl Peterson, and shows her the remaining OT selections (excluding those that have a Yes in the Picked column).
Any suggestions or comments or better ways to do this would be appreciated.
First, I don't think ms access would be able to (easily) kick off the process based on a hyperlink. You may be able to do something by passing a macro name to a cmd prompt but it would take some mastery to get it working properly. Could you instead create a login form to get the current user? If you do that you don't really need to display the personnel list, just keep track of who has not yet responded to the OT request. Essentially at that point all you would need on your form is a listing of the available OT and a button that creates the assignment. Also it may be easier (and a better design) to only have one table for the OT listings and add a column for the type of overtime (long/short).
What if Cheryl isn't the 2nd person to get the form? Your concept goes out the window.
Instead, I would keep a table of all user names, and their security level. managers can see everything, individual users can only see their record. This would be done by using a query behind the OT Picks form, and either filtering by the current user or not filtering at all. I have done many of these types of "user control" databases and they all have worked well.
As for the actual OT tracking, I agree with Steve's post in that it should be done in one table This would be the preferred method of a concept referred to as "normalizing data". You really want to store as little data as possible to keep the size of your database down. As an example, your Login table would have the following fields:
UserID
FirstName
LastName
SecurityLevel
Address1
Address2
City
State
Phone
Etc... (whatever relevant info pertains to that person)
Your OT table would look like this:
UserID
OTDate
OTHours
OTType
Etc... (whatever else is relevant to OT)
You would then join those 2 tables on the UserID fields in both tables any time you needed to write a query to report OT hours or whatever.
I have a form for entering patient data, which is bound to a number of tables, including patient, hospital, symptoms, treatment and so on. I'd asked a query previously and been advised to change the design to reduce the number of tables and therefore joins, which I've done. When I enter new data now using the form it is saved to the underlying tables correctly. However when the form is opened it is displaying only the first of 2 rows in the tables. The user will enter data in some fields but not all of them, so would the form (and the record source query under it) not be returning the next record because it does not appear in ALL the linked tables, only some? For example, all records will have a row in the Patient table, but not all will have a record in the Surgery table, yet the form needs to be able to record data for all possible fields. Any advice gratefully received!