I am just learning how to use Access and have created a basic form. I am stuck though on getting my form to calculate the Age (from Date of Birth) in Years and Months.
The info on this forum I have tried the following Expression:
=DateDiff("yyyy",[DoB],Date()) & " years and " & DateDiff("m",[DoB],Date())-(DateDiff("yyyy",[DoB],Date())+Int(Format(Date(),"mmdd") & lt;Format([DoB],"mmdd")))*12 & " months "
But my problem is that it tells me:
''The expression you entered contains invalid syntax
You omitted an operand or operator, you entered an invalid character or comma, or you entered text without surrounung it in quotation marks''
Can anyone let me know what error I've made and how to fix it?
It would be much appreciated.
Thanks
I am just learning how to use Access and have created a basic form. I am stuck though on getting my form to calculate the Age (from Date of Birth) in Years and Months.
The info on this forum I have tried the following Expression:
=DateDiff("yyyy",[DoB],Date()) & " years and " & DateDiff("m",[DoB],Date())-(DateDiff("yyyy",[DoB],Date())+Int(Format(Date(),"mmdd") & lt;Format([DoB],"mmdd")))*12 & " months "
But my problem is that it tells me:
''The expression you entered contains invalid syntax You omitted an operand or operator, you entered an invalid character or comma, or you entered text without surrounung it in quotation marks''
Can anyone let me know what error I've made and how to fix it? It would be much appreciated. Thanks
Hello all, I'm quite new to Access. I've read many Access tutorials and site but I have yet to found the solution for my problem. So here it is (pardon my english):
Field AmountTotal is =(Nz([AmountSubTotal])+Nz([AmountSH])-Nz([Discounts]))
I manually input AmountSubTotal, AmountSH and Discounts. I expected an automatic calculation for AmountTotal.
In "Form view" I get the result of AmountTotal that I wanted. But the calculation result doesn't get recorded in my field data table AmountTotal. It just shows blank.
How do I record this automated results into my original table?
I'm doing a query for a call centre that is to calculate the number of calls for locations over 100k Square foot. However, I want to normalize the calculation by 100k SF. So the calculation should count the call centre work orders and then multiply it by 100k and divide it by the location Area.
I have no clue where to start, below is where I'm at. the new expression that i've added "wo" is where I want to count the total ([CallID]*100000)/[Area]. this isn't working.
I have a table, at the table I'v got these fields:
ID | num1 | num2 | sum
I want that the user put numbers at 'num1' and 'num2' fields and then the 'sum' field will calculate automatically the operator (sum=num1+num2).
I've tried to put any combination at 'Default value' of the sum field (all the fields are numbers , also tried to change the sum field to text...nothing works).
I'm getting a message that 'num1' field is not recognize at the table
(I tried =[num1]+[num2], without the '=', num1.table+num2.table , ...nothing works)
I also tried to do it with SQL command but it dosn't work.
There is any way to do it, is it possible? Or other way to do it at least at Form or at Report ?
I created a query with one expression field that updates a user inputted date field on a form. The expression adds a certain amount of time to the field (usually six months) so I know when the next inspection should take place. Everything works great except when I put a parameter in the expression field. It will not return the property dates. If I simply remove the expression, and input the date manually, it works just fine. Am I not allowed to use date parameter with an expression? It returns every date within the correct month, but will give me future years as well.
The expression is - NextInspectionDate: DateAdd("m",12/[InspectionFrequency],[LastInspectionDate])
The parameter is - Between [Forms]![Preventative Maintenance Dates]![Sta
On my form I have calculated fields based on information from my sub forms. I have the calculations all working fine however I can seam to figure out how to save them in the table that my form is linked to as my control source is the calculation. Should I be using my calculations in an area other than the control source?
I am thinking, probably not, but always worth "putting it out there"!
Is there a way that I can define a minimum data set (ie fields which ideally should be completed (but I cannot make them compulsory since the information may simply not be available) and then have a sort of bar thingey (like a progress bar but static) that says "Your minimum data set is x% completed".
Simplistic example - if age, gender, hometown and mothers age are the (ideal) minimum data set and three of these fileds are completed then there would be a field (probably doesn't even have to be a graphic - maybe just a label) that says "Your data is 75% complete"
I am trying to build a Fitness tracking database, where i am trying to input a calculated item. there are two inputs and i want an out put, i put in Height and Weight, and then i have a TBL that has Height then the maximum weight that applies to that height...
so TXT BOX 1 = HEIGHT TXT BOX 2 = current Weight TXT box 3 = MAX Weight
my tbl looks like this
58" 131lbs 59" 136lbs 60" 141lbs 61" 145lbs
What im trying to do is have the form read automaticaly what i put in TXT BOX 1 and enter in automatically the MAX weight for that height.
I generally use Cognos for my queries, so the overly user friendlyness of access is confusing me and im not proficient enough in sql to just go in and edit the code...
How do i generate a query that groups data in unique ways in the result, but does not change the data in the originating table.
For example:
I have the column tbemployment.dept . In a crosstab query i want everybody that isnt tbvoter.dept='BELLS' to be counted as 'other'.
In Cognos i would do this in the 'data definition' window for that field and use 'if (tbvoter.dept<> 'BELLS') then ('other') else (tbvoter.dept)'
I am very inexperinced with Access, please be kind. My problem is that from the form view the simple division of 2 #'s are placed in the correct text box I selected, but I am unable to get the value to enter into the data table. Please help.
I'm facing an issue when I'm creating a Data Macro After Insert in Access 2010. In the value for the SetField, I use the expression builder. I wanted to use the DateAdd function but it not showing, also I cannot see my user define function (Module).
This behaviour seem to occur only in the instance of Expression Builder while in the Data Macro, everything is fine anywhere else including macro.
I am currently working o a Library Management System. most of the work is done but there remains two major problems.
I want to calculate the fines that a member will have automatically on a form. i have a basic pseudocose which is
IF Loan.returned=0 AND ReturnDate<Today{note- i.e. date()Today(), etc.} THEN Loan.fine_BDT=20*(Today-Loan.ReturnDate) Note2- The form has the following fields from a query which is connected to table loan- LoanID LoanDate ItemID MemberID ReturnDate DateReturned Returned(Yes/no)
2. The other one is with the Mail merge. i Want to use a query to supply the data for a mail merge. However, since the database id encrypted with a password it cannot be reached.
can someone tell me why I getting this error when I try and run this query:
select distinct case_id from NOLDBA_RPT_CASE_CHG_IND G
where sys_curr_date between '01/01/2005' and '12/31/2005' and aft_case_status = 'O'
and not exists ( select 1 from NOLDBA_RPT_CASE_CHG_IND X where X.case_id = G.case_id and X.aft_case_status = 'C' and X.sys_curr_date = G.sys_curr_date )
I would be much obliged if someone would help me here.
I have the following code which takes a value from a combobox and uses it in an sql statment to find a certain record and then it populates the GUI with that recordset , however I get the following error "Data type mismatch in criteria expression"
Please help
CODE:
Private Sub cmdSearch_Click()
Dim sql As String Dim rsUpdate As New ADODB.Recordset
On Error GoTo DbError
sql = "SELECT * FROM ServiceReport WHERE CallReferenceNo= " & Me.cboSearchRef.Value
hi guys, here is my problem.the error in the title appears when i try to update a record.the field MODON in the table is defined as a short date and an input date 00/00/0000.Here is the code where i insert and update the records: Option Compare DatabaseOption ExplicitPrivate Sub Command4_Click()On Error GoTo Err_Command4_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "frmCalendar" DoCmd.OpenForm "frmCalendar", , , , , acDialog, Me.name & ";modon"Exit_Command4_Click: Exit SubErr_Command4_Click: MsgBox Err.description Resume Exit_Command4_Click End SubPrivate Sub Command15_Click()Dim str1 As DateOn Error GoTo Err_Command15_Click 'DoCmd.SetWarnings False If DCount("[comment]", "comments", "[change_id]=" & Me.Task_Num & "") = 0 Then MsgBox "insert" DoCmd.RunSQL "insert into [comments] (change_id,modon,comment,modby,modif) values (" & Me.Task_Num.Value & ",'" & Me.modon.Value & "','" & Me.Text10.Value & "','" & Forms!Login!username1 & "','" & Now() & "');" DoCmd.SetWarnings True Else MsgBox "update" MsgBox DLookup("[comment]", "comments", "[modon]='" & CStr(Me.modon.Value) & "'") DoCmd.RunSQL "update [comments] set comment='" & Me.Text10.Value & "' where change_id=" & Me.Task_Num & " and [modon]='" & Format(str1, "dd/mm/yyyy") & "';" DoCmd.RunSQL "update [comments] set modby='" & Forms!Login!username1 & "' where change_id=" & Me.Task_Num & " and [modon]='" & Me.modon.Value & "';" DoCmd.RunSQL "update [comments] set modif='" & Now() & "' where change_id=" & Me.Task_Num & " and [modon]='" & Me.modon.Value & "';" End If DoCmd.SetWarnings True Exit_Command15_Click: Exit SubErr_Command15_Click: MsgBox Err.description Resume Exit_Command15_Click End SubPrivate Sub Command16_Click()On Error GoTo Err_Command16_Click DoCmd.CloseExit_Command16_Click: Exit SubErr_Command16_Click: MsgBox Err.description Resume Exit_Command16_Click End SubPrivate Sub Command4_Exit(Cancel As Integer) If IsEmpty(Me.modon) Then MsgBox "Please, select a date for the minute" Me.modon.SetFocus Else Me.Task_Num.Visible = True End IfEnd SubPrivate Sub Form_Load() Me.Text13.Visible = False Me.Text10.Visible = False Me.Label12.Visible = False Me.Label9.Visible = False Me.Task_Num.Visible = FalseEnd SubPrivate Sub task_num_AfterUpdate() If IsEmpty(Me.Task_Num) Then MsgBox "Please, select a task Number" Me.Task_Num.SetFocus Else Me.Text13.Visible = True Me.Text10.Visible = True Me.Label12.Visible = True Me.Label9.Visible = True Me.Text13 = DLookup("[description]", "newchange", "[change_id]=" & Me.Task_Num & "") Me.text10 = DLookup("[comment]", "comments", "[change_id]=" & Task_Num & " and [modon]='" & Me.modon.value & "'") End IfEnd Subthx in advance....
I am trying to set a recordset, and I keep getting this data type mismatch error, but I cannot see what the problem is. Here's my code:
Set rstAccounts = dtbCurrent.CreateQueryDef("", "SELECT [Account ID], [Balance] FROM tblAccounts WHERE [Account ID]='" & txtAccountID.Value & "';").OpenRecordset
txt.AccountID.Value is 1, and when I hard code the value as 1 it works, so I'm not sure what the problem is. I've tried using CStr() to convert it to a string, CInt() to convert it to a integer (even though it already is one), with using both quotes, with only double quotes, and with only single quotes. It's driving me crazy, because i'm sure it's something really simple, but I'm not sure what else to try.
I've got a Table with a string of data delimited by an "*". The first part of the string before the "*" can be variable in length, so if I use a LEFT expression to break apart the 2 parts of the string on each side of the "*", my results are incorrect. In MS Excel, I can use the following formula to solve the problem:
=LEFT(B6,(FIND("*",B6)))
You are just substituting the number of positions with a Find command that looks for the "*", and returns anything left of the "*". Unfortunately, the brilliant programmers at Microsoft, once again, don't have an Excel function in Access. how to recreate that functionality in a table in Access?
The error I'm getting is "data type mismatch in criteria expression".
Private Sub BtnAddBooking_Click() Dim CustomerID As String Dim StaffID As String Dim intPos As Integer Dim strSQL As String Dim strSQL2 As String Dim BathValue As Integer Dim rst As DAO.Recordset Dim RemainingBookingExists As String Dim RemainingBaths As Integer Dim RemainingBathsExists As String
Code: SELECT prevwd([practice_bacs_submission_date])<Date() AS chase_it, practice_bacs.practice_bacs_submission_date FROM practice_bacs WHERE (((practice_bacs.practice_bacs_submission_date)>#1/31/2013#));
and in the query results I see 0 and -1 as expected for the 'chase_it' expression BUT When I add True (or -1, or 0) as a criteria for 'chase_it', I get the "Data type mismatch in criteria expression" error.So the sql that fails is
Code: SELECT prevwd([practice_bacs_submission_date])<Date() AS chase_it, practice_bacs.practice_bacs_submission_date FROM practice_bacs WHERE (((prevwd([practice_bacs_submission_date])<Date())=True) AND ((practice_bacs.practice_bacs_submission_date)>#1/31/2013#));
In case it's relevant, my function prevwd is:
Code: Function prevwd(dt As Date) As Date 10 On Error GoTo prevwd_Error 20 dt = dt - 1 30 While Weekday([dt]) = 1 Or Weekday([dt]) = 7 Or IsBankHoliday(dt)
[code]...
and this function is used extensively and always works perfectly. I have tried using DateAdd instead of dt = dt - 1, but that made no difference.