AronMcD
asked on
MS Access SQL Max Spit text value
Hello,
I have table with a field named "QuoteNumber" set as text to account for values such 128-1.
When adding a new record, I need to get the max QuoteNumber. I'm using the following query but I'm getting a "Type mismatch" error. I'm assuming it's because I'm attempting to get the Max value of a text variable. Here is the query string I'm using. How do I get around this?
"SELECT Max(Split(QuoteNumber, " - ")(0)) FROM MFGMain"
I also tried:
strQuery = "SELECT Max(CInt((Split(QuoteNumbe r, " - ")(0)))) FROM MFGMain"
I get the same error for both.
Thanks!
I have table with a field named "QuoteNumber" set as text to account for values such 128-1.
When adding a new record, I need to get the max QuoteNumber. I'm using the following query but I'm getting a "Type mismatch" error. I'm assuming it's because I'm attempting to get the Max value of a text variable. Here is the query string I'm using. How do I get around this?
"SELECT Max(Split(QuoteNumber, " - ")(0)) FROM MFGMain"
I also tried:
strQuery = "SELECT Max(CInt((Split(QuoteNumbe
I get the same error for both.
Thanks!
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Correction on the above. I forgot the FROM MFGMain. Still getting the same error.
"SELECT Max(CInt(iif(InStr(1, QuoteNumber, " - ")>0, Left(QuoteNumber, InStr(1, QuoteNumber, " - ")-1), QuoteNumber))) FROM MFGMain"
"SELECT Max(CInt(iif(InStr(1, QuoteNumber, " - ")>0, Left(QuoteNumber, InStr(1, QuoteNumber, " - ")-1), QuoteNumber))) FROM MFGMain"
ASKER
I took the Max(CInt) part out and I'm still getting the "Type mismatch" error.
"SELECT iif(InStr(1, QuoteNumber, " - ")>0, Left(QuoteNumber, InStr(1, QuoteNumber, " - ")-1), QuoteNumber) FROM MFGMain"
"SELECT iif(InStr(1, QuoteNumber, " - ")>0, Left(QuoteNumber, InStr(1, QuoteNumber, " - ")-1), QuoteNumber) FROM MFGMain"
ASKER
Ok. It's working now. I changed the double quotes to single quotes.
Here is what I used.
Set rs = CurrentDb.OpenRecordset("S ELECT Max(CInt(iif(InStr(1, QuoteNumber, '-')>0, Left(QuoteNumber, InStr(1, QuoteNumber, '-')-1), QuoteNumber))) AS QuoteNum FROM MFGMain_Orig")
Thanks sshah!
Here is what I used.
Set rs = CurrentDb.OpenRecordset("S
Thanks sshah!
ASKER
"SELECT Max(Cint(iif(instr(1, QuoteNumber, " - ")>0, Left(QuoteNumber, InStr(1, QuoteNumber, " - ")-1), QuoteNumber)))"