Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.23;
Скачать: CL | DM;

Вниз

Проблема с Locate с поиском поля типа date   Найти похожие ветки 

 
Юлия   (2003-10-04 20:22) [0]

var
Arr : Variant;

Arr := VarArrayCreate([0,k-1], varVariant);
arr[0]:=DateTimePicker1.Date;
table1.Locate("data_ot",arr,[]);


Появляется ошибка: could not convert variant of type (array variant) into type (date)
Что делать? Он не может перевести неопределенный тип данных в дату. Как это обойти?


 
me   (2003-10-04 21:50) [1]

Лучше подставить дату в текстовом виде, предварительно сформатировав в понятное для Paradox представление


 
Юлия   (2003-10-05 10:43) [2]

Пробовала. не получается. Он определяет, что ему нужно значение типа дата, а получить этот тип данных из неопределенного не может.


 
MsGuns ©   (2003-10-05 13:47) [3]

table1.Locate("data_ot",DateTimePicker1.Date,[]);


 
Юлия   (2003-10-05 14:00) [4]

а если надо сделать поиск по нескольким полям? Приходится использовать массив.


 
Term   (2003-10-05 14:20) [5]

table1.Locate + F1
и все проблемы решаться, там не надо так делать

> var
> Arr : Variant;
>
> Arr := VarArrayCreate([0,k-1], varVariant);
> arr[0]:=DateTimePicker1.Date;
> table1.Locate("data_ot",arr,[]);


 
Юлия   (2003-10-05 14:33) [6]

2Term: Как делать не надо? Вы имеете в виду, что можно без массива?
Поиск осуществляется по нескольким полям.

В таком варианте:
Arr := VarArrayCreate([0,1], varVariant);
arr[0]:=DateTimePicker1.Date;
arr[1]:="Иванов";
table1.Locate("data_ot;fam",arr,[]);


Без массива не обойтись.


 
Term   (2003-10-05 14:53) [7]

примерно так:
var name:string;
Data_Roj:TDateTime;
begin
Table1.Locate("field1;field2", VarArrayOff[name,Data_Roj],[]);
end;


вот примерно так должно быть, я же говорю посмотри в хелпе, я мог допустить неточность, но думаю понятно


 
Юлия   (2003-10-05 14:58) [8]

Нет, та же ошибка.


 
Term   (2003-10-05 15:03) [9]


> VarArrayOff[name,Data_Roj],[]);

я щас не за своим рабочим компом поэтому выдержку из дельфового хелпа привести не могу, выдели в программе Locate и нажми F1, там есть пример. У меня это работало причом условия поиска могло формироваться динамически, и условия было намного более сложные, это всё работает,
Table1.Locate("field1;field2", VarArrayOff[name,Data_Roj],[]);
попробуй так я мог по запарке ошибиться, но еще раз говорю хелп там всё есть


 
Term   (2003-10-05 15:04) [10]

Table1.Locate("field1;field2", VarArrayOf[name,Data_Roj],[]);
т.е. вот так


 
Юлия   (2003-10-05 15:42) [11]

Я лазила в хелп. Проверяла. Пробовала. Не получается. Когда у вас будет возможность, попробуйте подставить значение типа дата. У меня не получается. Появляется ошибка. С другими типами данных все в порядке.


 
Term   (2003-10-06 09:49) [12]

Ну я же говорил что всё работает
If Form1.Table1.Locate("Name;Data",VarArrayOf([Form1.Edit1.Text,StrToDate(Form1.MaskEdit1.Text)]),[])
then ShowMessage("Нашёл !!!");

вот попробуй так это работает 100% сам попробывал(да что это я всю жизнь так делал, а тут вдруг сомневаться начал, эх женщины женщины, чтоб бес вас делали бы то аааа....)



Страницы: 1 вся ветка

Текущий архив: 2003.10.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
1-74126
new
2003-10-11 11:46
2003.10.23
В Help e для пятого Дельфи в папке ...Demos FastNet Smtp есть при


3-74048
rosl
2003-10-02 06:51
2003.10.23
sql


1-74266
dream
2003-10-13 10:14
2003.10.23
Много ли занимают памяти дополнительные формы ?


1-74220
Abikos
2003-10-09 17:22
2003.10.23
Ищу бесплатные компоненты для отображения animated gifs


6-74352
Aleksey_pv
2003-08-26 10:37
2003.10.23
Thebat&Delphi