MS Access 2007 Form Logic - forms

This is my first post on Stack. I've been reading for a while and learned a lot. Thanks to all those who share on this site.
My office runs still runs MS Access 2007 and I was tasked with creating a database even though I had no experience doing so. I read "The Missing Manual for Access 2007", another book that I can't remember the name of, multiple posts on this site and Microsoft's and can't find the solution to what I need to do.
Issue: I want to have two fields on a form referring to the same table, each with look ups but want the second field's options to be dependent on the first. For example, I want the first field for "Region" to list options to select 1 2 3 or 4. If someone chooses 1, I want the second field only listed offices that are in Region 1. This doesn't seem like it should wildly complicated but I cannot figure out how to do it.
I have tried using the expression builder to create nested IIf functions, filtering queries, macros and a few other things but don't have the depth of knowledge to make any of them accomplish what I'm looking to do.
Is there a way to accomplish this easily without VBA? Or if VBA is the only way, can someone point me to a good code that I hopefully figure out and edit for this purpose?
Thank you for any help and advice. Please let me know if I left out any useful information
Steve
enter image description here

Related

MS Word - using a date variable without macros

I want to create a Word template which will:
a) prompt user for a date
b) display that date
c) calculate other dates from that date.
I'm using MS Word 2016.
I've never done anything like this in Word but after doing a bit of research I see that there are advanced options in Word which maybe I could use for that. I don't want to use macros for this as I'm thinking that if I can make this work, then I would share this template with the rest of the company and I don't want them to enable macros (we have enough security concerns without that).
I've tried to use a FILLIN field to prompt user for a date. This works, however, I would like this field to be a variable which I can reference later in the document. I haven't found a way to do that with my FILLIN field. Is it possible?
I've seen others mention DocProperties but I'm having a hard time making it work.
For example, if I go to Quick Parts -> Document Property, none of the options are for a custom date. Is there a way to add your own?
And if I go to Quick Parts -> Fields, I see Date, CreateDate, SaveDate which insert "today's date" - not what I want. Again, how do I add my own Field?
I could do this in many ways by using Excel but I wanted to see if I can make it happen with Word. I hope you guys will have an idea.

Access: Forms, Subforms and Queries

According to the searching I've done over the past couple of days, what I'm trying to achieve should be fairly straightforward but nothing that I've found has solved my problems. This is my first time at using Access, or SQL at all. Apologies in advance for the length of the question.
Essentially I need to pick up a value from one table and multiply it by another in the another table, and then store the result in the second table, via forms and subforms.
The Problem:
I'm attempting to create a database of projects, part of which is a quotation tool. The database has several tables covering all the required inputs for our project managers, most of which are linked to the PKs of their parent tables.
My current attempt has a form (frmJobDetails) giving the details of the each project (linked to tblJobs). This form has two subforms:
frmJobRolesSubform details who's working on the project in what role ( and, notably, their sale rate.
frmJobProcessesSubform details the tasks, who's allocated to which task and the estimated number of hours to complete.
Both subforms link to their own tables (tblJobs_Roles and tblJobs_Processes respectively).
frmJobProcessesSubform obtains the people working on the project and their roles from frmJobRolesSubform so the manager can allocate a person to a task on frmJobProcessesSubform. This is done via a combobox: cboRole.
So far, so good.
I'm needing to obtain the sale rate of the person working on the given task so that I can calculate the cost of the task. Specifically, I'd like a field on the subform to calculate the cost of the task and then store it in tblJobs_Processes.
My Attempts
I've attempted to build a query (qryProcessCost) that calls cboRole, either as an expression in the Field cell or in the Criteria cell ([Forms]![frmJobsProcessesSubform]![cboRole]).
I'm aware this can't successfully when the form isn't active, but I'm getting Access' request for input for [Forms]![frmJobsProcessesSubform]![cboRole] when selecting from the subform. The query runs successfully when example values are hardcoded into the query. The query should, obviously, only return a single value.
I've tried setting the ControlSource of a textbox to [qryProcessCost]![dblProcessCost] (where dblProcessCost is the calculated field), but this can't then write to the table (as far as I can deduce). Also, I get a #Name? error in the cell and I can't seem to get to the bottom of that.
I've tried setting the RecordSource property of a combobox to SELECT [qryProcessCost]![dblProcessCost] FROM [qryProcessCost], and the ControlSource to the relevant field of the table. While this would be a clunky solution, it actually doesn't work anyway as it fails to pick up the value of [Forms]![frmJobsProcessesSubform]![cboRole].
I've tried using an intermediate textbox to determine what value cboRole is passing, and I'm happy with that - the primary key of the role assigned in frmJobsRolesSubform.
The Question:
I'm guessing that I'm probably going to have to resort to VBA at this point to get what I want but I'm unfamiliar with the Access VBA structures (though I've used Excel VBA a fair bit).
Anyone got any ideas, hints, suggestions or pointers?
Cheers in advance,
Aaron
In case anyone else has a similar problem, I've posted my complete solution below:
I implemented Gene's correction to my references, which provided something, but the query wouldn't update when the fields on the form were changed. As I noted in the question, I also really wanted it to be a text box rather than a combo box for usability reasons but wasn't sure how to have a Record Source and Control Source for a text box.
I ended up going round in circles, via VBA and macros and several types of error and happened upon a suggestion to use a DLookUp here. I hadn't been able to get them to work for this particular problem before, but I managed to make it work this time. Specifically, I put the DLookUp in the following macro:
SetProperty
Control Name txtBudgetCost
Property Value
Value =DLookUp("[dblCostRate]","[tblJobs_Roles]","[pkJobs_RoleID]="[cboRole])*[txtBudg‌​etHours]
This macro was used for the After Update event of the relevant fields on the subform.
Setting the value property of a field to a DLookUp meant that I could set the Control Source property of a the text box txtBudgetCost to the relevant field in the table, to obtain the desired behaviour.
Both cboRole and txtBudgetHours are fields on the same subform as the field txtBudgetCost.
The only problem with this solution is that, when the subform is viewed in the Datasheet view, a #Name? error is given for the new record row. I probably just need to enter some error handling somewhere, though I haven't given much thought for what it should be just yet.
Cheers,
Aaron

Eclipse Birt Reports, Creating report from SQL database, (user key?)

I'm fairly new to using the Birt Report Designer and need to figure out how to generate a report from a SQLite database. I have suceeded in getting it to connect to the DB but am now unsure how to generate a report and the tutorials that I have found aren't of much help so far.
I have a template that was given to me by my employer that has a few fields, I'm wondering if these fieldnames (in the template) are supposed to match field names in the DB.
Also, when I go to Run->View Report-> As PDF I am unsure what I am supposed to enter for the field "User Key", does this correspond to a table name in the DB or something along these lines?
As of now, I have tried entering a table name but just a blank report is generated.
If anyone can point me to a good resource or help with this I would greatly appreciate it. Thanks
There are two books i could really advice:
BIRT - A Field Guide to Reporting
Integrating and Extending BIRT
and the Eclipse Help containing BIRT documentation.
I suppose the User Key could be report parameter (listed in Data Explorer window), which is passed to Data Set to select appropriate data. If I'm guessing right, check within a Data Set editor ("Parameters" tab and "Query" tab) where the User Key parameter goes in - probably to one of the table field in a WHERE clause. Parameters in a query are represented by question marks: SELECT * FROM fooTable WHERE barColumn = ?. Hope tracking this would lead to find out, what to enter to the parameter.
Additionally, ensure if your Data Set(s) is(are) connected correctly to your SQLite Data Source ("Data Source" tab in a Data Set editor).
Being as new as you are to BIRT, I would suggest building a couple of reports with the sample DB (Classic Models). There are many, many samples out there for you to use as a guide. Additionally, most tutorials will use the Classic Models data so you can follow right along. After you create a couple of practice reports (this should not take more than 30-45 minutes) the template you have been given will likely make A LOT more sense and allow you to make progress almost immediately.
If you are looking for a nice collection of tutorials and samples, be sure to check out Birt Exchange for Dev Share (samples) & tutorials.
As for the "User Key" this is almost certainly a report-level parameter used to filter the data set (as the previous answer points out).
Good Luck!

How do I reference adjacent cells in an Apex tabular form?

Friends,
I'm converting an Oracle Form to Apex and have run into problem(s?) which I hope you can help with. Put simply the problem is how do I reference adjacent cells in an Apex tabular form? Is it possible?
The reason for asking is that I need to create a tabular form with 3 dependent select lists, lets call them:
Divisions
Cost Centres
Accounting codes
What should happen is, if the user chooses "Cost Centres" I need to check both Divisions and Accounting codes to restrict what is shown in the "Cost Centres" select list.
None of the fields are mandatory and the user can enter them in any order, e.g. On a new record the three selects lists have no values, the user selects "Accounting Codes" for which they see all the accounting codes after which if they select "Cost Centres" then they see a list of "Cost Centres" restricted by the "Accounting Code"
My first attempt was to put this in a single entry form where implementing this was a lot easier however this is not a viable solution.
The only example that comes close to what I need to implement is this from Denes Kubicek which blends a lot of technologies to achieve the result. Is this the only solution to this problem?
In case of need I am using Apex 4.0
Thanks for any help you maybe able to provide!
I haven't gone through Denes's example in detail, but yes I'm afraid that even with Apex 4.0 implementing cascading LOVs in a tabular form is going to be a complex task involving Javascript and AJAX. Apex 4.0 doesn't support dynamic actions on tabular forms, and it doesn't have the declarative "parent LOV items" attribute for tabular forms as it does for regular forms. In short, I don't think anything that has been added in Apex 4.0 simplifies this task - except that you can now use jQuery code to manipulate the DOM.

Connecting nodes to multiple dates

I have company website, with many offices around the world (around 50 offices).
The company want to create a gift giveaway with the employees in a specific company each specific day.
For example:
Office 1: will do the giveaway the days: 1/1/2010, 7/1/2010, 15/1/2010, etc...
Office 2: the days: 2/1/2010, 9/1/2010, 19/1/2010, etc...
Office 3: ....
Office 50: ...
(the days are setup manually to specific offices, no need of an algorithm here)
I have a node per Office, it's a CCK content type with details of each office (location, phone, email, etc), now I need to assign those days to the offices.
But my problem here is that I don't need to create events (or at least node events) because I don't need to store any data in the event. Just need to say: Office 1? Yes, days 1/1/2010, 7/1/2010, etc...
Nothing else, just to know the dates.
And, if possible, make them available to display in the calendar module.
What is your suggestion?
Withs CCK and date module you can create date fields, but if you have many fields you want to add, this might not be the best solution.
You have two general ways of solving this issue. Either you need store each date. This could be done with date field, not sure if it can handle multiple values, node reference or similar. This is inefective it some ways, but will make it easy to generate calendar view.
You could also write a string with as the date info and let php convert it to dates. This route will make it easier to create and store the data, but will make it a lot harder to get things integrated with calendar.
The fatest / easiest solution would probably be node reference with a date module, combined with a script to create all the nodes need. Instead of making them inside Drupal.
You could also create a custom module that stores this info for you. It would be a more longterm solution and require more work to integrate it with views and date/calendar modules.
There are many ways to go about this, but it really depends on your need, skill and time
Why not use a plain old CCK text field with a good clear description of what it's for and how to format it with something in the help section to back it up?
Use a text area (multiple rows) and apply the default input format that converts lines line breaks. I like to use the mark down filter too.
You could also use multiple single line fields in place of a text area...
This assumes your users are smart enough to enter the correct info of course but that's what the help and description are for. If your users can't be trusted to enter the content in correctly then yes, go for something that forces them to do so.
Ok I've found the solution myself and I want to share it with you:
Created three content types:
Office: with data of the office
Days: with a node per day (365 * year)
and Giveaway: with two node-reference fields, one for Office and another for Day.
(Days must be populated manually using a script that fills the upcoming 2 years or so).
So I can fill only Giveaway content type, and that's enough.
And then only the views are remaining.