Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
Can any one help me determine why I'm getting a compile error when
using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
You need to prefix it with WorksheetFunction.
WorksheetFunction.DMax(..., ..., ...) You'll note that the function requires 3 arguments, not 2 as you've supplied. For example: pk = WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) Cheers, Rob Little Penny wrote: Can any one help me determine why I'm getting a compile error when using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
Thanks for your reply. I tried the need line of code and now I'm
getting Runtime error 424 Object required Any idea? Little Penny On Tue, 08 Dec 2009 19:37:54 +1300, Rob van Gelder wrote: You need to prefix it with WorksheetFunction. WorksheetFunction.DMax(..., ..., ...) You'll note that the function requires 3 arguments, not 2 as you've supplied. For example: pk = WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) Cheers, Rob Little Penny wrote: Can any one help me determine why I'm getting a compile error when using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? Cheers, Rob Little Penny wrote: Thanks for your reply. I tried the need line of code and now I'm getting Runtime error 424 Object required Any idea? Little Penny On Tue, 08 Dec 2009 19:37:54 +1300, Rob van Gelder wrote: You need to prefix it with WorksheetFunction. WorksheetFunction.DMax(..., ..., ...) You'll note that the function requires 3 arguments, not 2 as you've supplied. For example: pk = WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) Cheers, Rob Little Penny wrote: Can any one help me determine why I'm getting a compile error when using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? tbl_OperatorLogJobData is a table in my access database and OpLogJobDataID is the primary key field. My code Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 17:29:29 +1300, Rob van Gelder wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? Cheers, Rob Little Penny wrote: Thanks for your reply. I tried the need line of code and now I'm getting Runtime error 424 Object required Any idea? Little Penny On Tue, 08 Dec 2009 19:37:54 +1300, Rob van Gelder wrote: You need to prefix it with WorksheetFunction. WorksheetFunction.DMax(..., ..., ...) You'll note that the function requires 3 arguments, not 2 as you've supplied. For example: pk = WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) Cheers, Rob Little Penny wrote: Can any one help me determine why I'm getting a compile error when using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
Sorry typo Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID field in tbl_OperatorLogJobData table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 08:11:35 -0500, Little Penny wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? tbl_OperatorLogJobData is a table in my access database and OpLogJobDataID is the primary key field. My code Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 17:29:29 +1300, Rob van Gelder wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? Cheers, Rob Little Penny wrote: Thanks for your reply. I tried the need line of code and now I'm getting Runtime error 424 Object required Any idea? Little Penny On Tue, 08 Dec 2009 19:37:54 +1300, Rob van Gelder wrote: You need to prefix it with WorksheetFunction. WorksheetFunction.DMax(..., ..., ...) You'll note that the function requires 3 arguments, not 2 as you've supplied. For example: pk = WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) Cheers, Rob Little Penny wrote: Can any one help me determine why I'm getting a compile error when using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
Set rs1 = db.OpenRecordset( _
"select max(OpLogJobDataID) from tbl_OperatorLogJobData") pk = rs1(0).value http://www.databasedev.co.uk/access_max_function.html Tim "Little Penny" wrote in message ... Sorry typo Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID field in tbl_OperatorLogJobData table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 08:11:35 -0500, Little Penny wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? tbl_OperatorLogJobData is a table in my access database and OpLogJobDataID is the primary key field. My code Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 17:29:29 +1300, Rob van Gelder wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? Cheers, Rob Little Penny wrote: Thanks for your reply. I tried the need line of code and now I'm getting Runtime error 424 Object required Any idea? Little Penny On Tue, 08 Dec 2009 19:37:54 +1300, Rob van Gelder wrote: You need to prefix it with WorksheetFunction. WorksheetFunction.DMax(..., ..., ...) You'll note that the function requires 3 arguments, not 2 as you've supplied. For example: pk = WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) Cheers, Rob Little Penny wrote: Can any one help me determine why I'm getting a compile error when using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
#8
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
Thanks Tim that did it.....
On Wed, 9 Dec 2009 19:22:52 -0800, "Tim Williams" wrote: Set rs1 = db.OpenRecordset( _ "select max(OpLogJobDataID) from tbl_OperatorLogJobData") pk = rs1(0).value http://www.databasedev.co.uk/access_max_function.html Tim "Little Penny" wrote in message .. . Sorry typo Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID field in tbl_OperatorLogJobData table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 08:11:35 -0500, Little Penny wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? tbl_OperatorLogJobData is a table in my access database and OpLogJobDataID is the primary key field. My code Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 17:29:29 +1300, Rob van Gelder wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? Cheers, Rob Little Penny wrote: Thanks for your reply. I tried the need line of code and now I'm getting Runtime error 424 Object required Any idea? Little Penny On Tue, 08 Dec 2009 19:37:54 +1300, Rob van Gelder wrote: You need to prefix it with WorksheetFunction. WorksheetFunction.DMax(..., ..., ...) You'll note that the function requires 3 arguments, not 2 as you've supplied. For example: pk = WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) Cheers, Rob Little Penny wrote: Can any one help me determine why I'm getting a compile error when using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
#9
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
No problem, but remember this is *not* a good way to get the key for a
just-inserted record unless there's only ever one user accessing the database at any time.... Tim "Little Penny" wrote in message ... Thanks Tim that did it..... On Wed, 9 Dec 2009 19:22:52 -0800, "Tim Williams" wrote: Set rs1 = db.OpenRecordset( _ "select max(OpLogJobDataID) from tbl_OperatorLogJobData") pk = rs1(0).value http://www.databasedev.co.uk/access_max_function.html Tim "Little Penny" wrote in message . .. Sorry typo Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID field in tbl_OperatorLogJobData table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 08:11:35 -0500, Little Penny wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? tbl_OperatorLogJobData is a table in my access database and OpLogJobDataID is the primary key field. My code Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 17:29:29 +1300, Rob van Gelder wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? Cheers, Rob Little Penny wrote: Thanks for your reply. I tried the need line of code and now I'm getting Runtime error 424 Object required Any idea? Little Penny On Tue, 08 Dec 2009 19:37:54 +1300, Rob van Gelder wrote: You need to prefix it with WorksheetFunction. WorksheetFunction.DMax(..., ..., ...) You'll note that the function requires 3 arguments, not 2 as you've supplied. For example: pk = WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) Cheers, Rob Little Penny wrote: Can any one help me determine why I'm getting a compile error when using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
#10
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
Understood there will only be one. If I want to chanage to handle multi users in the future what should I read up on? On Thu, 10 Dec 2009 20:36:47 -0800, "Tim Williams" wrote: No problem, but remember this is *not* a good way to get the key for a just-inserted record unless there's only ever one user accessing the database at any time.... Tim "Little Penny" wrote in message .. . Thanks Tim that did it..... On Wed, 9 Dec 2009 19:22:52 -0800, "Tim Williams" wrote: Set rs1 = db.OpenRecordset( _ "select max(OpLogJobDataID) from tbl_OperatorLogJobData") pk = rs1(0).value http://www.databasedev.co.uk/access_max_function.html Tim "Little Penny" wrote in message ... Sorry typo Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID field in tbl_OperatorLogJobData table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 08:11:35 -0500, Little Penny wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? tbl_OperatorLogJobData is a table in my access database and OpLogJobDataID is the primary key field. My code Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 17:29:29 +1300, Rob van Gelder wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? Cheers, Rob Little Penny wrote: Thanks for your reply. I tried the need line of code and now I'm getting Runtime error 424 Object required Any idea? Little Penny On Tue, 08 Dec 2009 19:37:54 +1300, Rob van Gelder wrote: You need to prefix it with WorksheetFunction. WorksheetFunction.DMax(..., ..., ...) You'll note that the function requires 3 arguments, not 2 as you've supplied. For example: pk = WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) Cheers, Rob Little Penny wrote: Can any one help me determine why I'm getting a compile error when using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
#11
Posted to microsoft.public.excel.programming
|
|||
|
|||
Compile Error using Dmax funtion
I posted a reply to one of your other posts outlining how you could do this.
Tim '%%%%%%%%%%%%%%%%%%%%%%%%%% I'm not that familiar with DAO (usually use ADO though I know there are some advantages to using DAO with Access). In ADO (same in DAO?) you can get the value of the id field (if it's an autonumber) by reading it back from the recordset after running an insert. So, if you had a table: id (autonumber) otherfield (eg. string) you can do something like: '******************* dim pk Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) rs1.AddNew rs1.Fields("otherfield").value="Blah" rs1.Update pk = rs1.Fields("id").value 'should be populated with the "autonumber" key '******************* "Little Penny" wrote in message ... Understood there will only be one. If I want to chanage to handle multi users in the future what should I read up on? On Thu, 10 Dec 2009 20:36:47 -0800, "Tim Williams" wrote: No problem, but remember this is *not* a good way to get the key for a just-inserted record unless there's only ever one user accessing the database at any time.... Tim "Little Penny" wrote in message . .. Thanks Tim that did it..... On Wed, 9 Dec 2009 19:22:52 -0800, "Tim Williams" wrote: Set rs1 = db.OpenRecordset( _ "select max(OpLogJobDataID) from tbl_OperatorLogJobData") pk = rs1(0).value http://www.databasedev.co.uk/access_max_function.html Tim "Little Penny" wrote in message m... Sorry typo Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID field in tbl_OperatorLogJobData table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 08:11:35 -0500, Little Penny wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? tbl_OperatorLogJobData is a table in my access database and OpLogJobDataID is the primary key field. My code Sub GetMaxKey() Dim db As Database Dim rs1 As Recordset Dim pk As Long Set db = OpenDatabase("C:\AAAOperatorLog\OperatorLog.mdb") Set rs1 = db.OpenRecordset("tbl_OperatorLogJobData", dbOpenTable) 'Get max key in from OpLogJobDataID table pk = Application.WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) rs1.Close Set rs1 = Nothing db.Close Set db = Nothing Range("A1").Value = pk End Sub On Wed, 09 Dec 2009 17:29:29 +1300, Rob van Gelder wrote: Check that you have named ranges called tbl_OperatorLogJobData and OpLogJobDataID? Cheers, Rob Little Penny wrote: Thanks for your reply. I tried the need line of code and now I'm getting Runtime error 424 Object required Any idea? Little Penny On Tue, 08 Dec 2009 19:37:54 +1300, Rob van Gelder wrote: You need to prefix it with WorksheetFunction. WorksheetFunction.DMax(..., ..., ...) You'll note that the function requires 3 arguments, not 2 as you've supplied. For example: pk = WorksheetFunction.DMax([tbl_OperatorLogJobData], "OpLogJobDataID", [OpLogJobDataID]) Cheers, Rob Little Penny wrote: Can any one help me determine why I'm getting a compile error when using the dmax function? Dim pk As Long The line of code pk = DMax("[OpLogJobDataID]", "tbl_OperatorLogJobData") Do I need to install a reference or add a public function? Any help would be appreciated |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Bubble sort Error (Compile Error: Type Mismtach) | Excel Programming | |||
VBAProject name compile error, not defined at compile time | Excel Programming | |||
AutoFill Funtion Error | Excel Programming | |||
Date Value Funtion in Excel 2003 returns an error, but not in Exce | Excel Worksheet Functions |