powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Select
8 сообщений из 8, страница 1 из 1
Select
    #32765525
Alex Sheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А отв еще небольшая проблемка:
Из 2-х таблиц (1-список товара 2-его поступления) делается по запросу SELECT с сортировкой по датах 2-й таблицы.
Но почему-то нарушается порядок строк.. пользователь делает сверку - а записи не в той последовательности что он вводил.
Я так думаю что записи выбираются в том порядке в каком они записаны в 1-й таблице, а вот как сделать что в порядке 2-й таблици.
...
Рейтинг: 0 / 0
Select
    #32765540
kdanylo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT table1.Product, table2.DateIn
FROM table1, table2
where table1.ProuctId = table2.ProductId
ORDER BY 1, 2 DESCENDING
...
Рейтинг: 0 / 0
Select
    #32765549
Alex Sheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ORDER BY 1, 2 DESCENDING - 1,2 так и писать или это должны быть имена первой и второй таблиц?
...
Рейтинг: 0 / 0
Select
    #32765558
kdanylo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
ORDER BY 1, 2 DESCENDING - 1,2 так и писать или это должны быть имена первой и второй таблиц?


1 И 2 - порядковые номера полей результирующего набора, которые задают порядок сортировки. Можно и так:

ORDER BY Product, DateIn DESCENDING
...
Рейтинг: 0 / 0
Select
    #32765980
Alex Sheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все оказалось очень просто (к вечеру додумался)
Код: plaintext
1.
select table1.nameproduct, table2.date, table2.qntt, recno() as rec_tmp from table1,table2 ORDER by date,rec_tmp ASD into cursor
Тогда записи идут в той последовательности в какой они физически записаны в table2

всем спасибо
...
Рейтинг: 0 / 0
Select
    #32766068
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот этого делать в принципе нельзя!

Если в качестве источников запроса используются более 1 таблицы, то функции вроде Recno(), Deleted() будут возвращать непонятно что, поскольку неясно из какой собственно рабочей области они берут значения.

То, что у тебя Recno() вернул номер записи из таблицы table2 - это просто стечение обстоятельств. В общем случае, что именно будет возвращать эта функция заранее неизвестно!

Если тебе нужно "зафиксировать" физический порядок следования записей, то у тебя несколько варианта:

1) Если у тебя в качестве ID используется автоинкрементное поле, то можно использовать его для определния порядка создания записей. Ясно, что запись с большим значением ID была создана позднее, чем запись с меньшим значением ID

2) Создать дополнительное поле, которое заполнять в момент создания записи. Лучше всего также автоинкрементное, хотя можно и DateTime. Но это сложнее, поскольку надо брать дату-время сервера, а не клиентской машины.

3) Отказаться от Select-SQL и сканировать таблицу через SCAN...ENSCAN. В этом случае записи будут следовать в порядке их физического создания.
...
Рейтинг: 0 / 0
Select
    #32766469
Alex Sheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Владимир
Видимо я действительно везучий раз так сразу все заработало.
В принципе RECNO() (я так понимаю) ненатворит ничего критического в селекте... ну разве что записи юзер будет видить не в том порядке (опять) что вводил. Задача однопользовательская, и он сразу мне даст знать.
Да и сам я буду присматривать, если что - буду переписывать под Scan
Спасибо.
...
Рейтинг: 0 / 0
Select
    #32766535
_!___Max__!__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй поменять таблицы местами:
Код: plaintext
select table1.nameproduct, table2.date, table2.qntt from table2, table1 into cursor 

Тока не понятно где у тебя WHERE
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Select
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]