Форум: "Базы";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];
ВнизПроблема с 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c