Modules & VBA :: Getting Code For Conditional Default Field Value?
Jan 17, 2014
convert the following into VBA code for an Access 2007 field on a form. It is needed to create a conditional default value based on another field's category: (Note: TransType, MembershipYear and Dues are field names and are all on the form). Based on the TransType (which is really a category of membership) I want the Dues field to have the applicable default value automatically entered.
For MembershipYear > 2008
If TransType="Individual" or TransType="I" Dues=35.00
If TransType="Family" or TransType="F" Dues=50.00
If TransType="Founder" Dues=100.00
If TransType="Student" Dues=10.00
If TransType="Lifetime" Dues="" or is Null
If (TransType is Null or TransType="") and TotalPaid >0, Dues=35.00
I created a form that applies conditional formats depending on a field. It works fine, until you enter data into one of the conditionally formatted fields, then all hell breaks loose. Conditional formats totally go away and the cells go to #error.
Private Sub ChargeReport_Click() On Error GoTo Err_ChargeReport_Click Dim stDocName As String stDocName = "Charges_Report" DoCmd.SendObject acReport, stDocName, acFormatPDF, , , , "Charge Sheet"
[Code] ....
Currently, this code opens an input box that accepts the ID number for a particular record. Then it attaches a specific report for the selected record to an email. It works fine for this purpose.
I want to modify it so that it attaches one of several different reports depending upon the value of a [Staff_ID] field in the selected record.
I've tried a number of different solutions using an InputBox to get the record ID along with an If/ElseIf/Else construct that evaluates the [Staff_ID] field in order to determine which report to attach to the email, but I cannot find my error.
I am trying create some code that checks if the contents of the status field in a table is "Authorised" where the ID = something specific for multiple records. If all records witht the specific ID are "Authorised" Then generate a new record in another table. Where to start, perhaps a Dlookup?
I am now using Access 2000+ to create new applications. I find myself limited in what conditional formatting can do. For example, I want to use a conditional format to change the text color to a certain shade of blue (12554099). Conditional formatting only gives me the choices of basic colors.
Can Conditional formatting be set through code? Does anyone have any code examples?
In a form (bounded to this table) I have, of course, 2 controls bounded to this fields:
txtD1 and txtD2
If the user change the value in txtD1 (using the Date picker) I like to change the DefaultValue for txtD1 to the new date and the DefaultValue for txtD2 to the new date + 1 day. Something like this:
Code: Private Sub txtD1_AfterUpdate() Me.txtD1.DefaultValue = Me.txtD1 Me.txtD2.DefaultValue = Me.txtD1 + 1 day End Sub
I tried whatever crossed my mind... with the same "result" : #Name?
My Regional settings:
Short date format: dd.MM.yyyy Date separator: Dot Simple: 05.12.2013
I have a code that finds the first, second, and third minimum value in a row across the fields. Now, I am trying to find a code to look at these values, find the field it is located, and return the field name. I tried several variations of my code to return the field name rather than the value, but have been unsuccessful to this point.
Function NthMinimum(intPosition As Integer, ParamArray FieldArray() As Variant) As Variant Dim varTempArray() As Variant, varTempValue As Variant, intArrayValues As Integer Dim I As Integer, J As Integer ReDim varTempArray(UBound(FieldArray)) intArrayValues = 0
[Code] ....
As you can see, this works to find these values while ignoring NULLS. How to return the field name?
I have a field within a form that needs to be modified based off of someone's access level and I have written that part but not sure how to keep others from modifying the field.
Code: Private Sub Qty_Rcvd_Click() If ap_GetUserName() = "Danny_Davis" Or ap_GetUserName() = "christopher_ayers" Or ap_GetUserName() = "Tena_McCrackin" Then GoTo 10 Else MsgBox "You are not authorized to view this form" End If 10 End Sub
Right now this code will bring up the msgbox for someone not authorized but once they hit "ok" the msgbox goes away and they can still change the field. What can I type in here to lock down the field for someone not authorized?
I am using MS Access 2010 and I am struggling to write some vba in my database. On my form, I have a Payment Type dropdown field.When someone selects a payment type I want the code to calculate the end date. Then populate the End Date field with the answer.I will be having a few payment types too, but for now on the dropdown I have two.2/Month and 24/Annum.
I have created code to import and excel file and create a table from that info. Now I need to confirm that the import has the correct Datatype of Number and Fieldsize of Double for one of the columns.
I am trying to set the default sort code to something other than the primary key. Example- Book Code is Primary Key but I want the table to be sorted by Title. I have went into properties and used the Order By property and typed 'Book.Title' however when I view the datasheet, Book Code is still the 1st column??? Is it still being sorted by Title??
I am using the function below to calculate a field that excludes weekends and holidays. The weekends are excluded as it is now, but when I try to add in code to exclude holidays I am getting errors. The code for the holidays is in bold and a couple of the errors are Loop without Do so I remove the Loop then I get a Else without If.
Code: Option Compare Database
Public Function WorkingDays(Due_Date As Date, Result_Date As Date) As Integer '-- Return the number of WorkingDays between Due_Date and Result_Date On Error GoTo err_workingDays
Need to confirm whether the Default formatting option in the Conditional formatting Dialog won't work in datasheet view of a form. Please note that all conditional criteria are working fine but not the Default Formatting option - only in the Datasheet view (In Single Form view the default formatting is working fine)
Have a continuous form with 2 date fields in each record .
If dateField1 is empty ,Then I want a way to make DateField2 Take its Place .
I know how to make things happen with conditional formatting on one field by UsingIsNull ,I have tried sending datefield2 to back.But cant work out how to bring it to front If DateField1 IsNull.
Is it possible to do conditional formating after a page break?
I have been given someone elses mess to clean up. It is a massive procedure which runs dozens of queries, then formats the results and pastes them into a word file at given bookmarks
For most tables there is one record for each lake. However there are several where many entries per lake. The logic being applied is that the font colour for the column is made white, then for each first instance of a lake name the font colour for that cell is made black again.
The problem is there are many times were the first row of data on a new page is not the first record for a particular lake making the reader have to flip back to the previous page to double check which lake they are looking at data for.
So what I want to do is leave the existing logic, and just add turning additional cell's (Column 1, after a page break) font colour back to black.
So i want to be able to make the whole syntax available for user to edit without actually doing it in vba. is this possible in vba? i have attached an image
I have a query that is based on orders table and contains "Qty", 'UnitCost', and "ctualUnitCost", in addition to yes/no control to indicate if "SalesTax" is applicable.
I want an expression in the query to calculate total cost in one of 2 conditions: if no sales tax then TotalCost = Qty*UnitCost if sales tax is applicable then Total cost = Qty*UnitCost*1.1
I am developing a simple database in Access 97, where users have to enter values manually into a form. There is one field called product. Depending on that entry, either field language or country would have to be blocked to avoid invalid entries. Do you have any ideas on how to approach that problem?
Is there a way to apply conditional formatting on a field based on the contents of another field?
For example, lets say I have the following fields
START_DATE APPROVED_DATE CAT# DAYS_OPEN
The DAYS_OPEN field is automatically calculated in the query and is not a stored date.
My criteria is that if CAT# is 3, my days open should not exceed 30 but if my CAT# is 1 or 2, my days open should not exceed 60. I want to apply conditional formatting so that it turns yellow at approximately 80% of the date limit and red at approximately 90% of the date limit, otherwise the conditional formatting is green.
I know how to do conditional formatting, but no sure if it can be modified based on the content of another field.
I have a calculated field on the detail level of a report which is calculated as follows:
=Iif([BREAK]>1200 AND [LUNCH]<>0),1800-[BREAK],IIF([BREAK]<>0,900-[BREAK],0))
This calculates correctly, however when I put the following calculated field in the Group footer section of the report, I receive a "statement too complex" error message:
=1800-Avg(Iif([BREAK]>1200 AND [LUNCH]<>0),1800-[BREAK],IIF([BREAK]<>0,900-[BREAK],0))
The calculation for the Group footer works in Access 97 so I know that syntactically the statement is correct.
Can anyone tell me why this will not work in Access 2003 and provide a work around so I can get the Average of the calculated Detail section field.
I have a form that pulls in open project information that has a datetime field called "Duetime". What I'm attempting to do is that when this datetime field is less than 1 hour away, to turn the field background orange. Also, if less than 30 minutes to actually being past due, then it would be red.
What I am trying to do is create conditional formatting to colour fields within a form.
The conditional formatting option built in allows me to colour based on set values i.e. Value=Design turns green. I need to somehow say if Value contains the word Design turn green. This is because in addition to the word Design there will be a variable description. I tried editing the conditional format created by the wizard to Value="*Design*" but that didn't work.
Now I'm trying to write it in VBA code but am still struggling. Here's what I tried but it doesn't like it:
If InStr([Forms]![Query2]![Activity] Like "*Design")>0 Then [Forms]![Query2]![Activity].BackColor = vbGreen End If