UtterAccess.com
X   Site Message
(Message will auto close in 2 seconds)

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Having problems with my lookup expressions    
 
   
jeanmiaw
post Jan 25 2006, 11:37 AM
Post #1

New Member
Posts: 8



Hey,

So I'm kind of new to access and am having trouble getting my dlookup and dsum expressions to work properly in the database although i am typing it in in exactly the same way that the internet help menu tells me to.

my expression is as follows:

DLookUp("[Live]","[Contracted Producer Delivery]","[Tattoo]= " & [Queries]![Contract Query]![TattooNumber])

This is what happens when i try to change it from design to table view, 3 different things pop up

it asks for parameter value

Syntax error (missing operator) in query expression “[Tattoo]= “

The expression is typed incorrectly, or it is too complex to be evaluated…


I suspect the first one may be due to my criteria being defined by a query field that i defined myself and wrote an expression into so I think it may not be reading it. It was necessary to create this row in order to match it (it is basically an ID number type of thing) because in the tables that the query is based on it is listed out with letters in front of it as well.

if that is an issue then does anyone know how i am supposed to type in the criteria as well in order to base it on a query field on the same query that I added in with an expression?
Go to the top of the page
 
+
Jerry Dennison
post Jan 25 2006, 11:57 AM
Post #2

Head Wizard
Posts: 14,857
From: South Carolina, USA



Welcome to UtterAccess!

You should not use domain aggregate functions in queries (they shouldn't be used against full recordsets). You can still get the information you need by simply including the subquery ([Contract Query]) in this query and link them together using the appropriate field(s).

Now, to answer why the DLookUp() isn't working. It is probalby because [Tattoo] is a text field and you have not delimited the criteria with single or double quotes.

DLookUp("[Live]","[Contracted Producer Delivery]","[Tattoo]= '" & [Queries]![Contract Query]![TattooNumber] & "'")
Go to the top of the page
 
+
jeanmiaw
post Jan 25 2006, 04:56 PM
Post #3

New Member
Posts: 8



thanks jerry,

Does a lookup function always have to be in number format? because the tattoo field has numbers as well as letters so that is why i entered it as text.

i am trying to create a database that does a lot of dsum and dlookups. we were using excel before but we need something that stores data better
Go to the top of the page
 
+
jeanmiaw
post Jan 25 2006, 05:36 PM
Post #4

New Member
Posts: 8



Oh, nevermind my last comment, I found something online that answers it. the microsoft help menu isn't very helpful
Go to the top of the page
 
+
Jerry Dennison
post Jan 25 2006, 10:11 PM
Post #5

Head Wizard
Posts: 14,857
From: South Carolina, USA



DLookUp() will work with text, numeric, and date values. It is important that you format the query properly to insure correct results are returned as I described earlier. You should also avoid using domain aggregate function (DSum, DLookUp, Dcount, etc....), especially in queries or the detail section of reports. They are notoriously slow to execute and there are much better methods available.
Go to the top of the page
 
+
Banaticus
post Feb 15 2006, 05:47 PM
Post #6

UtterAccess Addict
Posts: 149



What are some faster methods?
Go to the top of the page
 
+
Jerry Dennison
post Feb 15 2006, 07:53 PM
Post #7

Head Wizard
Posts: 14,857
From: South Carolina, USA



Use a subquery.
Go to the top of the page
 
+
Banaticus
post Mar 20 2006, 11:54 AM
Post #8

UtterAccess Addict
Posts: 149



How does that work? For instance, how could the following (source for a textbox on a form) be rewritten to be faster?
=DLookUp("[EndDate]","[Class Info]","[Soc Sec] = Forms![Apprentice Information]![Soc Sec #] AND [Type] <> 'NC/Flunk' AND [Class Name] = 'Supplementary Math'")
Go to the top of the page
 
+
Jerry Dennison
post Mar 20 2006, 01:30 PM
Post #9

Head Wizard
Posts: 14,857
From: South Carolina, USA



It depends on the nature of the form. If it is a form that will be used to enter or edit records then a subquery is not a recommended solution (it will render the recordset non updatable). In this case, a Domain aggregate function is probably the best solution. PROVIDED the form is NOT continuous or datasheet.
Go to the top of the page
 
+

Thank you for your support! Reply to this topicStart new topic

Jump To Forum:
 



RSS Go to Top  ·  Lo-Fi Version Time is now: 25th May 2013 - 09:49 PM