m_strSort, m_strFilter
От: gerleman  
Дата: 05.11.01 06:25
Оценка:
Уважаемые коллеги, ДРУЗЬЯ.
У меня возникла проблема с сабжем. Может у кого есть примеры и желательно описание на русском языке, а то в МСДНе очень скупо сказано по данному вопросу.

Заранее благодарен всем откликнувшимся.
Евгений.
Re: m_strSort, m_strFilter
От: VfFtp Беларусь w3.vitebsk.by
Дата: 05.11.01 08:24
Оценка:
m_strSort — задаваемое значение является выражением типа String,
содержащим предложение ORDER BY инструкции SQL без зарезервированных
слов ORDER BY.
поле_1 [ASC | DESC ][, поле_2 [ASC | DESC ]
m_strFilter — значение данного свойства имеет тип String и
содержит предложение WHERE инструкции SQL без
зарезервированного слова WHERE.
example:
m_strFilter="((index1>90)AND(index2<90))AND(Name='name')"
в результат запроса попадают только те записи у которых
index1>90
index2<90
Name='name'
Re[2]: m_strSort, m_strFilter
От: gerleman  
Дата: 06.11.01 07:21
Оценка:
Здравствуйте VfFtp, Вы писали:

VF>m_strSort — задаваемое значение является выражением типа String,

VF>содержащим предложение ORDER BY инструкции SQL без зарезервированных
VF>слов ORDER BY.
VF>поле_1 [ASC | DESC ][, поле_2 [ASC | DESC ]
VF>m_strFilter — значение данного свойства имеет тип String и
VF>содержит предложение WHERE инструкции SQL без
VF>зарезервированного слова WHERE.
VF>example:
m_strFilter="((index1>>90)AND(index2<90))AND(Name='name')"
VF>в результат запроса попадают только те записи у которых
index1>>90
VF>index2<90
VF>Name='name'

Спасибо.
А могу я использовать это при подготовки предварительного просмотра, т.е. я хотел бы создать отчет. отсортировать записи и подсчитать количество строк отсортироанных в Recordset. Или только при инициавлизации списка это возможно?
Re[3]: m_strSort, m_strFilter
От: VfFtp Беларусь w3.vitebsk.by
Дата: 06.11.01 07:51
Оценка:
G>А могу я использовать это при подготовки предварительного просмотра, т.е. я хотел бы создать отчет. отсортировать записи и подсчитать количество строк отсортироанных в Recordset. Или только при инициавлизации списка это возможно?
Не совсем понял вопрос. Но для создания отчета можно так же использовать SQL запрос при открытии, вот на пример:
[vc]
strUID.Format("%s%d",strUID,UID);
strSubDir.Format("%s%d",strSubDir,SubDirID);
strSQL="SELECT Index_dirs,DIRNAME FROM Dirs WHERE (((UID_dirs="+strUID+")AND(SUBDIR_ID="+strSubDir+")))";
TRY
{
recset.Open(CRecordset::forwardOnly,strSQL,CRecordset::readOnly);
while( !recset.IsEOF() )
{
recset.MoveNext();
size_++;
}
recset.Requery();
}
CATCH (CDBException, e)
{
AfxMessageBox("Database error: "+e->m_strError);
return DIR_MAN_ERROR;
}
END_CATCH;
[/vc]
причем хочу заметить,что тут есть одни "грабли", recset.GetRecordCount() работала у меня не так как хотелось... Возвращала 0 — если нет записей, и 1 — если они есть, и не важно сколько их. Поэтому количество записей я счетал while-ом.
Re[4]: m_strSort, m_strFilter
От: gerleman  
Дата: 08.11.01 06:59
Оценка:
Здравствуйте VfFtp, Вы писали:


G>>А могу я использовать это при подготовки предварительного просмотра, т.е. я хотел бы создать отчет. отсортировать записи и подсчитать количество строк отсортироанных в Recordset. Или только при инициавлизации списка это возможно?

VF>Не совсем понял вопрос. Но для создания отчета можно так же использовать SQL запрос при открытии, вот на пример:
VF>[vc]
VF> strUID.Format("%s%d",strUID,UID);
VF> strSubDir.Format("%s%d",strSubDir,SubDirID);
VF> strSQL="SELECT Index_dirs,DIRNAME FROM Dirs WHERE (((UID_dirs="+strUID+")AND(SUBDIR_ID="+strSubDir+")))";
VF> TRY
VF> {
VF> recset.Open(CRecordset::forwardOnly,strSQL,CRecordset::readOnly);
VF> while( !recset.IsEOF() )
VF> {
VF> recset.MoveNext();
VF> size_++;
VF> }
VF> recset.Requery();
VF> }
VF> CATCH (CDBException, e)
VF> {
VF> AfxMessageBox("Database error: "+e->m_strError);
VF> return DIR_MAN_ERROR;
VF> }
VF> END_CATCH;
VF>[/vc]
VF>причем хочу заметить,что тут есть одни "грабли", recset.GetRecordCount() работала у меня не так как хотелось... Возвращала 0 — если нет записей, и 1 — если они есть, и не важно сколько их. Поэтому количество записей я счетал while-ом.


Вопрос сотоял в том, что я могу в функции OnPrint выполнить эти действия? Уже проект запущен, набор записей уже сформирован.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.