Link to home
Start Free TrialLog in
Avatar of CodedK
CodedKFlag for Greece

asked on

About Locate method - Very Easy. Part II

I am using the following command but the Dbgrid doesn't focus on the cells.

Form2.DataSource1.DataSet.Locate('Number',Form5.Edit2.Text,
[loPartialKey]);

The locate command works fine with string fields. So does locate method works for numbers ?

If not, how can i get the same result ?
Avatar of CodedK
CodedK
Flag of Greece image

ASKER

I guess this happens because i haven't sort the table by the numbers.
Is that the case ?
Avatar of DeerBear
DeerBear

Hi,

Try converting your text into a real number and use Locate on that.

HTH,

Andrew
Avatar of CodedK

ASKER

I tried that. But the result is the same nothing is happening. I also sorted the dbgrid by the numbers but nopthing happened.

This is how i convert the string.

Form2.DataSource1.DataSet.Locate('NUMBER',StrToFloat(Form5.Edit2.Text),
[loPartialKey]);

Result is still the same.

Any ideas ?
ASKER CERTIFIED SOLUTION
Avatar of DeerBear
DeerBear

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of CodedK

ASKER

Ok the code code you gave me works. :)
I will accept your answer but answer this pls.

The result with : Form2.DataSource1.DataSet.Locate('NUMBER',[Num],[loPartialKey]);

is exactly the same with : Form2.Table1.FindKey([Form5.Edit2.Text]);

The problem here is that i want Partial Key to work. It doesnt work. I have to write the whole number to go to the right cell.

Do you know why this happens? Thank you for your previous answer DeerBear. I will get back and accept your answer but pls add a comment to that if you can.
Thanks.
Hi,

My guess is that loPartialKey works only with variable data like strings.
I don't think you can apply it to numbers.

The help about Locate doesn't specify if it's only for strings, but that's what I
have always assumed.

HTH,

Andrew