Forms :: Linked Table - IIF Statements In SubForms
May 15, 2013
I have some linked tables I'm using as subforms. I'd like to make the data a little more readable rather than numbers that my linked table spits out (can't do anything about it).
In my main form I can use the control source and enter something like this:
=IIf([FieldName]="1","Male",IIf([FieldName]="2","Female"))
I can put as many statements as I want, just add a bracket at the ned for each one. Works great.
This however does not work in the subform. I get a circular logic error. If I then add a table reference like:
=IIf([TableName]![FieldName]="1","Male",IIf([FieldName]="2","Female"))
The error goes away, but it still displays as #Name?
I'm upsizing an Access 2000 application to Access 2003 + SQL Server 2005, and I've found something I cannot get through.
The original application was a file 'app.mdb' with all tables, and another file 'app_exec.mdb' with all forms (tables in 'app_exec.mdb' were linked to 'app.mdb').
There was a table called T_Order (I will call it A) and another table called T_Order_Line (I will call it B). * Table A fields: Id (Primary Key) and Customer_Id * Table B fields: Id, Order_Id (Both are Primary Key) and Article_Id.
There was one form (called frm_A) that includes a subform (called frm_B). The form frm_A allows navigation, adding, deleting and updating 'A' table. The subform frm_B shows data related to current 'A' record.
The subform frm_B allows you to add/delete/update records to the table 'B'.
Now I only have one file 'app.mdb' with forms and tables are linked to a SQL Server 2005 database (I use the Access export wizard).
frm_A and frm_B are related using "Link master field" and "Link child field".
The problem is that I cannot add new data to the frm_B. Navigation in the form works. In the subform frm_B I see data related to the current record. I can delete/edit data from frm_B. But I cannot insert new data on it.
When I click on "Add New Order" button, I execute the code "DoCmd.GoToRecord , , acNewRec". In the old application, frm_B was cleared and ready for appending new data. But with linked tables to SQL Server, I cannot add new data!
I have checked that if table 'B' is stored locally in Access, everything works fine. But if I use table 'B' linked in the SQL Server, I cannot add data.
So, I am sure that the problem is only with table 'B' and the subform, but I cannot understand what happens.
I've got 3 tables related to one another with one to many relationships. They are: 21_Category 22_SubCategory 23_Indicator
where the 23_Indicator table has 22_SubCategory as its parent and 21_Category as its grandparent.
The forms wizard in Access has nicely developed a form with 2 subforms contained on it which does the trick for maintaining all 3 of these tables. The form itself displays 21_Category, subform1 displays 22_SubCategory and subform2 displays 23_Indicator. When I change the active record for either Category or Subcategory the subforms change their display as expected. All good.
My concern is that the form looks a mess and not very welcoming, too much info on one form, so I'd like to replace the 2 subforms (or even form plus 2 subforms) with one Tab Control. So far I can get the linking working correctly to the first page within the Tab Control but cannot link the second page child records to the active record in the first.
I'm using the Link Child Fields and Link Master Fields to do this. Even straight copying of the entries from my subforms which already work cannot get the Tab Control to behave in the same way.
Without wasting any more time on this, does anyone know whether it is easily possible or I'm missing something obvious? I suspect I've got something slightly wrong with either the Source, Link Child Fields, or Link Master Fields syntax, or referring to the wrong objects. Alternatively, Tab Controls just aren't designed to show one to many type records??
I'm not a VB Developer so if this isn't possible without writing a whole heap of code then I'll just have to cut my losses and use the crowded form I already have, though I'm happy to insert a few lines to get the Tab Control to work.
Thanks for your help in this. Apologies if this has already been posted loads before. I'm doing this as voluntary work for a charity and I'm a fairly new user of Access and VB (though I'm familiar with databases and SQL).
I am trying to build a Form that will show an estimate (then eventually will be moved to a project if customer and employee aggree to price and project) in a Form F_Estimates is a M_Customers(Customer_ID) (Based on a Table) and thier info in a Subform. Also is the "projected costs" from parts out of the Parts(Part_ID) (Based on another Table) in a second Subform as a list that I need to calculate $$$ in (Dang that still sounds evil and definately NOT understandable even after edit... so)
Here's some basic info
Tables
EstimatesandParts - Table EstimatesandParts_ID : Autonumber Estimate_ID : Number Part_ID : Number
Parts - Table Part_ID : Autonumber PartNumber : Text (not a number due to some part#s have letters in them) PartName : Text Unit Price : Currency Description : Text
Estimates - Table Estimate_ID : Autonumber InvoiceNumber : Text (again can have letters in it) EstimateDate : Date/Time EstimateTime : Date/Time Employee_ID : Number Customer_ID : Number ProblemDescription : Memo
Customers - Table Customer_ID : Autonumber FirstName : Text LastName : Text CompanyName : Text Address : Text City : Text Province_State : Text Postal_ZIPCode : Text (CDN Postal codes are letter num letter...)
you can see the link table in the EstimatesandParts Table
Now I want to use that link to populate a subform in the F_Estimates form
Forms
SF_Customers - SubForm
(all boxes atm are text boxes on this form till I figure out the Parts section then will use same base for this so I can pick any customer in the database to be the customer for this estimate. Also will have ctrl button for making new customer with customer form and a refresh on Focus Gain bit of code)
FirstName LastName CompanyName Address City Province_State Postal_ZIPCode
SF_Parts - SubForm Default View -Continuous Forms
(want it to be a list of parts that I can grab prices and descriptions from then in a bit of code to calculate a cost of parts)
Part_ID : Combo Box Control Source - Part_ID Row Source Type - Table/Query Row Source - SELECT Parts.Part_ID, Parts.PartNumber, Parts.PartName, Parts.UnitPrice, Parts.Description FROM Parts ORDER BY Parts.Description;
(Pulls info from the table Parts for input into a list of parts to be used on that project)
PartName : Text Box UnitPrice : Text Box
(here's where I run into problems due to the fact that the form is not based on the parts table but rather the link table EstimatesandParts so I can't propogate the info to the 2 other text boxes, ps I dont care if they cant be text boxes and have to be linked or some other type I'm not "set" just need to find out how to make it work )
(have tried a couple things to complete this task)
(works AWSOME ... for ONE ROW then propogates the second selection to the first and second and third selection to first second and third and so on ...)
(tried to make control source for the txtPartName to)
=Forms!Parts!Partname
(Doesnt exist .. akkk, cant use ActiveForm either as it doesn't focus on the SubForm but the MainForm ... cry)
(Combo Boxes Select Customer and Employee from list of present ones of each)
SF_Customers SF_Parts
(Both SubForms on the main form)
Now this is an Exerp from my entire Database I like to work on one small problem at a time and I have made this its own little database till I figure out the problem then I will bring the info I learn back into the rest of the database and go from there ...
Hope you can help I have a feeling I will need to make a recordset and go from there but I'm just not able to wrap my head around that for some reason
Thanks in advance for ANY and ALL help that I get from here
I'm having trouble with a new project I'm working on. The application is mainly going to be used to display data, which comes from a linked table. It has to be a linked table (in my opinion) because it's replaced once per week from a fresh data dump. For each of those records, though, there will be notes made in a local table named "Custom-Data". My trouble is displaying a mix of information from the linked table, "Roster", and "Custom-Data" because linked tables can't be assigned a primary key.
Essentially, when a record is pulled up, a bunch of data from "Roster" will be shown in addition to the comments from "Custom-Data".
I have a form that contains the following: Combobox, (Lists BadgeNum from tblPersonnel)
2 Textboxes (LastName, FirstName) populated via code from the combobox using info from the same tblPersonnel. 2 labels (one containing Date, another containing Time) ToggleOnButton (Valueof 1) ToggleOffButton (Value of 0) Savebutton
This form is basically used as a cheap police timeclock. All Im trying to do is when a user chooses their name from the combobox, clicks ON or OFF and then save, is just write the much of the same info to a table. Specifically, BadgeNum, DateIn, TimeIn, DateOut, TimeOut.
I was recently asked to use access to create a data entry system for coders when they are coding videos. I was asked to create forms that only used fileds from one table of a set of linked tables. I need the tables linked with referential integrity so that I can combine all this information in a useful way later, however whenever I try run my forms, except for the first form that connects to my "master table", all of the rest that need to link to it give me an error message about an inability to maintain referential integrity.
Is there any way that I can have access treat my forms to all be a sequence. What I mean is that if I had a single form with all of the fileds from every linked table, there wouldn't be a problem with integrity since all the changes are simultaneous. Is there a way I can have access treat all of my individual forms as one whole so it deals with the data in a similar way? Thank you in advance to anyone who can help me!
I'm creating a form for orders. In this form I use a combo box to select a product from a table called "Products". In this table there is also a second column with the "PricePerUnit" How can I insert the PricePerUnit from the table Products into the table Orders when I select a product with the combo box?
I am trying to build a build calender to display customer orders on given days. I have the calender in place with intentions of having a list box on each day to display the orders.We have a daily report that is an excel file that lists these orders. I have linked this file to an access table in my db.
I am able to use this linked table to run a query and generate a report without any problems.When I try to use the information in this table to populate a list or combo box the only fields that will display are all numbers. If I use a field like "Customer Name" I get no information displayed. The data in excel and access are both set as text.
I have a status form which I use to show users the progress of various routines as they are performed. It's pretty basic; just a textbox and a couple of coloured labels; one for the outline ('things to be done') and one for the progress so far ('things done').
I have a function which I call periodically during the runtime of the routine which passes as arguments the text to display in the textbox (i.e. a description of which 'thing' is being worked on at that time) and two long integers representing what is 'done' and what is 'to be done' (i.e. 3 'things' done out of a total of 7)
So if I can divide a function into 7 distinguishable 'parts', I would call that function 7 times during the life of the overall process to show the updated status each time.
The function redraws the labels (i.e. sets the width of the 'done' label as a proportion of the width of the 'to be done' label, based on the ratio of the two arguments) and repaints the form. So you get a nice animated progress bar which can be easily controlled by calling the same function and just incrementing the 'done' argument each time.
Now - and admittedly this is purely aesthetic and for my own curiosity rather than anything fundamental - I was wondering if it were possible to represent this progress as a 3D pie chart rather than a horizontal bar (label)?
For no other reason than I think it would look really tidy.
I know it's possible to add a chart object to a form but the chart wizard insists I link the chart to a table or query. In this instance, I don't want to do that; I merely want to draw a very basic pie chart based on the two values passed as arguments to the status function.
I have a contributor tracking table that is linked to a form of the same name. I created a make table from a query that calculates the total to date for each contributor (based on their contributor ID in the tracking table). I want to place this sum to date, in read only mode, on each contribution record for each contributor in the tracking table and on each master record in another table with the contact information for each contributor.
The contact table is in the one and the contributor tracking table is the many. If this isn't clear, I can upload the database. I essentially want to link a field from one table to a form with a different table source. The sum to date should only show for the record with a matching contributor ID.
I have a linked table in ms access and it has a column as details. in ms access when i click on this button i will go to another form. i want to assign a picture (for opening a form) to this column but i don't know how i have to do this. my form opens as a datasheet view.
I have a form that is based on a linked table of students eligible to complete a online survey. Within that form, I have a sub form (based on another linked table) of students who have completed the form and at what date and time.
Only about 1 in 10 eligible students complete the form.
I'd like to filter by students who have completed the form, and sort by date submitted.
So I have the main form called "students" and the subform with the date submitted is called "New - BasicInfo subform" and they are linked by student ID. The date submitted field in the subform is formatted like "5/6/2013 3:07:32 PM".
I've tried adding this to me "filter" field in the STudents form properties:
Between [Students]![New - BasicInfo subform]![05/06/2013] AND [Students]![New - BasicInfo subform]![10/01/2013]
In the form is the table tbAssembleias, but I want to put from the other table which is not present in the form:
1. a control that count how many are present (= yes)Ex: Appearances 22. a control that sum the votes of those presentEx: Votes 9I already have a query that count how many are in the meeting, but cant realize how to pass the information to the field in the form..This is the SQL view of the query with the real field names - and working: SELECT Count(tbEntidades.tbAssPresente) AS ContaPresentes, tbEntidades.tbAssPresente FROM tbEntidades GROUP BY tbEntidades.tbAssPresente HAVING (((Count(tbEntidades.tbAssPresente))=True) AND ((tbEntidades.tbAssPresente)=True));
'Check To See If Users Computer Name matches Auto login Criteria. 'rememberme field size is integer & default value is 1 Or -1 2nd If is the issue! In plain English, if the pc being used matches the stored pcID and if user has chosen to autologin then open frmMainMenu else open frmLogin I already have code above this that exits the code if the pc is not the users pc.
Quote:
If DLookup("[pcID]", "tblUserSecurityAutoLogin") <> (Me.txtComputerName1) Then If DLookup("[rememberme]", "tblUserSecurityAutoLogin") = 1 Then 'True DoCmd.OpenForm "frmMainMenu"
I have drop down list linked to table included "agent names" , the names appeared normally in the form but not Alphabetic (A-Z) although the table was alphabetic .
I designed a small desktop database to automatically import some Log files. A sample of a transmit log file (emails sent from our rural email stations) looks like this when imported in access.
Date Time Direction SenderMessageID 03062005 133501To InternetemailX@ab.comBlablabla 03062005 125001To InternetemailQ@ab.comBlablabla 03062005 125001To InternetemailZ@ab.comBlablabla 03062005 125001To InternetemailA@ab.comBlablabla
I would like to be able to query all emails sent between one date and another. However, the date here is recorded has a string or text. I would like to automatically add a field with the date as Date/Time datatype in the Table. I think I should be able to do this with a few SQL statement like ALTER TABLE myTable ADD COLUMN NewDate AS datetime…and then another SQL statement to separate data and put it into this new field.
Then I could query for BETWEEN Date1 and Date 2 easily.
I’m pretty close but been trying for a while now and always error messages as results. I think I really NEED help this time.
I have coded a select statement that uses multiple tables for information used to populate a report. It returns the correct information, sort of, but it doesn't recognize the already existing table relationships so I get dupicate records. Is there a way to run the code so that it recognizes the table relationships?
I am writing some iif conditional statements in one of my tables to assign new values in that table.
Code: FP: IIf([cohort with status].[Intake Date] Between #04/01/2012# And #26/04/2012#,201201) Or IIf([cohort with status].[Intake Date] Between #27/04/2012# And #24/05/2012#,201202)
When I run it, I am getting some -1 values in the new column FP.
but if I get rid of the second IIF, then it works.
how do you combine multiple IIF statements in a query?
I have an Access 2000 database with some linked tables. When upsizing the database I selected 'Save password and user ID with attached tables'. Therefore in the Linked Table manager after each table in brackets I have the name of the database to which the tables are linked.
I am now wondering if I want to link the tables to a different database how do I change the database name, which is in brackets after the table name.
If I select a table and select 'prompt for a new location each time' I am getting prompted to select a different DSN. At the moment I don't have a DSN and I don't want to have to set one up.
I imagine that the database name and the user id and password I entered in the upsizing wizard are stored in some configuration box but I don't know where I can access this.
I've got the forms and queries in one .accdb file and my tables in a separate .accdb file. The forms file links to the tables in the tables file. The tables file resides in a folder called simply enough C:acc_tables and thats where i browsed to (obviously) when i set up the linkage.
One of the users does not wish (for whatever goddamn reason) to create a C:acc_tables file to stick the tables file in , and wants the tables file in some other folder.. Unfortunately this user does not have the skills to delete the existing links and re-link to the tables file after putting it in the folder he wants.
Where in the file that holds the forms and and queries do i find the path setting to the tables linked file? Can it be changed without deleting links and then re-linking?
I have several Suppliers, each of whom holds several SalesEvents. At each SalesEvent I might buy none, one or more Bundles. Each Bundle then contains one or more Items. These relationships are all reflected in my Access 2013 desktop db as one-many relationships with cascaded updates.
My form structure for data entry reflects the Relationships, in that I have a Supplier form with a SalesEvents subform. On that subform I can enter data about each of that Supplier's SalesEvents, and each SalesEvent row has a button to call up a SalesEvent form which has a Bundles subform. Then each row of that subform has a button which calls up a Bundle form containing an Items subform. That Bundle form identifies the Supplier, Sales Event and Bundle number, and within its Items subform I can then enter the data for each Item.
Problem : All used to work fine, but I've clearly changed something because now when I select the Items button on the Items subform in the Bundle form, the system gives me the data for the first record in the SalesEvents table, rather than the one selected. I have checked the raw data and that's as it should be. I have tried to undo all the steps I took since it last worked properly, but to no avail. Restoring the last backup (taken when I'm sure it worked properly) still has the problem.how do I find what data is actually being passed between forms and subforms ?
I have an unbound form on that form I want to put three sub forms one on a products table the other on a course start dates table and the link table that joins the other two together. all three are related to each other with Pk/FK links.
When I try to link them it says you cannot link items on an unbound form.
I have a main form with multiple subforms in tab view, right now the forms only open in edit mode, I would like all forms to open to new record mode. I know I can set the main form with the switchboard manager but what about the subforms?
I am attempting to create a database for my users to input new data via a main form. I have this main form where I use subforms as look up tables/queries to pull my stored data from. My problem is that I want to try and not have the subform on the main form; I want it to be its own window. Bear in mind I am new to using Microsoft access, and trying to learn as I go.
I have created all the forms with queries. I use the open form command to get me to my subform, which is a common findings form. From there I am able to search and filter, and once I find my desired record I want to be able to link certain fields back to the main form. (basically if possible use a command button to select this information and insert it on the main form). Typically, my users will have a generic finding to to record so I have inputted these findings so that they can select them and not have to type them themselves. Is this even possible for me to do this way, with a command button by writing a VBA code and linking criteria? The reason I am creating a separate form is so that the main form is not cluttered and is user friendly.
The fields I want to link are the same, however they are not from the same queries, and essentially the main form has its own since as of right now there is not data because it’s run of user input. The findings form has data. There are relationships established.
Thanks for any help, I feel like this might be confusing since I am unsure of exactly what I am trying to do, but any help would be greatly appreciated.