Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Новое извращение над запросом... / 20 сообщений из 20, страница 1 из 1
10.09.2003, 14:13
    #32261184
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
В MS-DOS FoxPro есть фенечка одна...
при соединении 2х таблиц не показывать повторяющиеся данные из одной из таблиц, т.е. вид должон быть приблезительно следующий
Код: plaintext
1.
2.
3.
4.
5.
____Из 1ой таблицы______Из 2ой таблицы
Поле1	Поле2	Поле3	Поле4
qqq	 111 	rrr	saba
			saba1
www	 111 	rrr	astr
			astr1

Можно ли это как то реализовать в Access'e?
А то мои юзвери насмотрелись этой хрени теперь и от меня того же хочут...
...
Рейтинг: 0 / 0
10.09.2003, 15:00
    #32261272
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
Народ если нет такой фенечки нету то не подскажите в каком направлении шагать стройными рядами...
...
Рейтинг: 0 / 0
10.09.2003, 15:12
    #32261295
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
А по точнее можно, а то, например, я что-то недогоняю... какие повторные, в первой что-ли таблице? типа там попущена - еще одна qqq 111 rrr, а как тогда ты их объединяешь? по невидимому ключ. полу что-ли

Вообщем, хорошобы для начала увидеть родные таблицы, а потом уже вид после запроса
...
Рейтинг: 0 / 0
10.09.2003, 15:12
    #32261298
Roalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
Это все где надо сделать-то, если в отчете то:
Не выводить повторы в полях.
Ежли где еще (в запросе), то надо писать функцию, или, ИМХО, лучше временную таблицу.
...
Рейтинг: 0 / 0
10.09.2003, 15:30
    #32261341
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
А как насчет применения опций
distinct
или
distinctrow?..
...
Рейтинг: 0 / 0
10.09.2003, 15:57
    #32261386
Roalex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
Похоже, что эти предикаты здесь не катят, записи то надо возвращать.
Я так понял, исключать надо только отображение повторяющихся полей.
...
Рейтинг: 0 / 0
10.09.2003, 17:09
    #32261506
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
исхдный вид
Код: plaintext
1.
2.
3.
4.
5.
____Из 1ой таблицы______Из 2ой таблицы
Поле1	Поле2	Поле3	Поле4
qqq	 111 	rrr	saba
qqq	 111 	rrr	saba1
www	 111 	rrr	astr
www	 111 	rrr	astr1


2 Roalex (сегодня, 15:12)
в ленточной форме

2 Alexus12
не катит
...
Рейтинг: 0 / 0
10.09.2003, 17:28
    #32261535
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
Roalex писал:Это все где надо сделать-то, если в отчете то:
Не выводить повторы в полях.
не подскажешь что это за фенечка/свойство? а то я мало отчётов делаю не в курсе...
...
Рейтинг: 0 / 0
10.09.2003, 17:33
    #32261541
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
хе, если в отчете то там есть свойство - не выводить повторы )))
...
Рейтинг: 0 / 0
10.09.2003, 17:37
    #32261545
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
свойство контрола в отчете такое есть

HideDuplicates

но вообще то
>Новое извращение над запросом
почему то вытекло в построение отчета ....
...
Рейтинг: 0 / 0
10.09.2003, 17:44
    #32261554
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
нет не в отчёты, а в форму, ленточную , ну сам подумай нахрена мне такой запрос, шоб ни кому не показывать просто не знал с какого конца подойти поэтому так написал
...
Рейтинг: 0 / 0
10.09.2003, 17:47
    #32261557
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
простого и быстрого способа для ленточной формы нет.

можно использовать функции для вычисления значений в запросе но будет тормозить жутко
...
Рейтинг: 0 / 0
10.09.2003, 17:52
    #32261567
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
Пока я вижу только один способ это сделать добавить ещё одно поле со счётчиком по нужному полю... подскажите как енто можно по проще реализовать?
вот кусок реальных данных:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
MColor	MPr	Number		ThColor	TPr	ThId	Key_pr
					?		 89530 
 1256 		 120  SABAцв	 1659 		 7 	 89531 
 1256 		 120  SABA	 0 		 6 	 89531 
					?		 89533 
 1257 	 0 	 120  SABAцв	 1256 		 7 	 89534 
 1257 	 0 	 120  SABA	 0 		 6 	 89534 
					?		 89536 
 1256 		 120  SABAцв	 1659 		 7 	 89539 
 1256 		 120  SABA	 0 		 6 	 89539 
					?		 89541 
 1257 	 0 	 120  SABAцв	 1256 		 7 	 89542 
 1257 	 0 	 120  SABA	 0 		 6 	 89542 


хочу получиь следуещее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
MColor	MPr	Number		ThColor	TPr	ThId	Key_pr	Count
					?		 89530 	 1 
 1256 		 120  SABAцв	 1659 		 7 	 89531 	 1 
 1256 		 120  SABA	 0 		 6 	 89531 	 2 
					?		 89533 	 1 
 1257 	 0 	 120  SABAцв	 1256 		 7 	 89534 	 1 
 1257 	 0 	 120  SABA	 0 		 6 	 89534 	 2 
					?		 89536 	 1 
 1256 		 120  SABAцв	 1659 		 7 	 89539 	 1 
 1256 		 120  SABA	 0 		 6 	 89539 	 2 
					?		 89541 	 1 
 1257 	 0 	 120  SABAцв	 1256 		 7 	 89542 	 1 
 1257 	 0 	 120  SABA	 0 		 6 	 89542 	 2 
...
Рейтинг: 0 / 0
10.09.2003, 17:57
    #32261577
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
уупс поплыло
повторяю тоже самое в том же порядке считать хочеться по Key_pr
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
MColor	MPr	Number		ThColor	TPr	ThId	Key_pr
					?		 89530 
 1256 		 120  SABAцв	 1659 		 7 	 89531 
 1256 		 120  SABA		 0 		 6 	 89531 
					?		 89533 
 1257 	 0 	 120  SABAцв	 1256 		 7 	 89534 
 1257 	 0 	 120  SABA		 0 		 6 	 89534 
					?		 89536 
 1256 		 120  SABAцв	 1659 		 7 	 89539 
 1256 		 120  SABA		 0 		 6 	 89539 
					?		 89541 
 1257 	 0 	 120  SABAцв	 1256 		 7 	 89542 
 1257 	 0 	 120  SABA		 0 		 6 	 89542 

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
MColor	MPr	Number		ThColor	TPr	ThId	Key_pr	Count
					?		 89530 	 1 
 1256 		 120  SABAцв	 1659 		 7 	 89531 	 1 
 1256 		 120  SABA		 0 		 6 	 89531 	 2 
					?		 89533 	 1 
 1257 	 0 	 120  SABAцв	 1256 		 7 	 89534 	 1 
 1257 	 0 	 120  SABA		 0 		 6 	 89534 	 2 
					?		 89536 	 1 
 1256 		 120  SABAцв	 1659 		 7 	 89539 	 1 
 1256 		 120  SABA		 0 		 6 	 89539 	 2 
					?		 89541 	 1 
 1257 	 0 	 120  SABAцв	 1256 		 7 	 89542 	 1 
 1257 	 0 	 120  SABA		 0 		 6 	 89542 	 2 
...
Рейтинг: 0 / 0
10.09.2003, 18:49
    #32261633
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
а (пере)сортировки?

Ясно, что отображаемое поле должно выводить ф-ю (от записи). В ф-ии, положим, должна быть статическая переменная. Но она, блин, требует и статического набора данных - иначе пересчитывается при всяком скролинге с произвольной записи. Если ф-я не со статической - то обязана проходиться по клону (учитывать фильтры/сортировки). если рекордсет большой - нехорошо. Надоть как-то проходиться только по видимым записям.
...
Рейтинг: 0 / 0
10.09.2003, 19:32
    #32261662
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
По последним здоровым таблицам не понял нифига :(\r
(Устал, наверное)\r
А вот такое уже было пару раз:\r
Из этого\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
____Из 1ой таблицы______Из 2ой таблицы\r
Поле1  Поле2   Поле3    Поле4\r
qqq     111      rrr      saba\r
                        saba1\r
www     111      rrr      astr\r
                        astr1[src]\r
\r
получить\r
\r
[src]____Из 1ой таблицы______Из 2ой таблицы\r
Поле1  Поле2   Поле3    Поле4\r
qqq     111      rrr      saba\r
qqq     111      rrr      saba1\r
www     111      rrr      astr\r
www     111      rrr      astr1
\r
\r
Если "Таблица2" не содержит уникальных полей, её записи надо пронумеровать. Это можно сделать одним из описанных здесь способов:\r
/topic/46229&pg=2\r
(нашел по поиску "признаю себя ослом" - оказывается, в последнее время народ здесь самокритичный стал).\r
\r
А потом задача превратиться в аналог этой:\r
/topic/31358&pg=1\r
только надо будет не отбирать записи с минимальным порядковым номером, а отображать рядом с ними поля таблицы 1, у остальных скрывать.\r
...iif(table2.KeyNumRec = qTable2.MinNumRec,Table1.Field1,Null) as MyField1...\r
\r
Прошу прощения, если нифига непонятно, я сам себя с трудом понимаю.
...
Рейтинг: 0 / 0
11.09.2003, 10:04
    #32261933
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
assa писал:Но она, блин, требует и статического набора данныхне проблема - статистический нужон - сделаем...

assa писал:если рекордсет большой - нехорошо. Надоть как-то проходиться только по видимым записям.Не... строк 50 максимум (+-10), а невидимые это которые?

2 Geo
Я решил переделать переделать ф-ю из перевой ссылки на следующую:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Function GetNextNumber(KeyPr) As Byte
Static t As Byte
Static k As Long
  If KeyPr = k Then
    t = t +  1 
  Else
    k = KeyPr
    t =  1 
  End If
  GetNextNumber = t
End Function

Сделал это в том же запросе где и отсортировал записи, правда не по Key_pr, но таким образом чтобы одинаковые значения Key_pr стояли рядом... т.е. приблизительно так:
Код: plaintext
1.
2.
SELECT dbo_tblAddLine3c.Delivery &  "-"  & dbo_tblAddLine3c.LineNr AS LineNr, dbo_tblAddLine3c.Model_code, CDLGSdf.Key_pr, ..., GetNextNumber(CDLGSdf.Key_pr) AS LnNr
FROM ....
ORDER BY dbo_tblAddLine3c.Delivery &  "-"  & dbo_tblAddLine3c.LineNr, dbo_tblAddLine3c.Model_code;


есть ли тут грабли с сортировкой?
...
Рейтинг: 0 / 0
11.09.2003, 10:17
    #32261962
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
Если у тебя работает, значит нету :)
А про возможные грабли с сортировкой - вторая ссылка.
...
Рейтинг: 0 / 0
11.09.2003, 10:30
    #32261997
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
пока нету
...
Рейтинг: 0 / 0
11.09.2003, 10:36
    #32262009
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое извращение над запросом...
Ну и дай бог тебе здоровья
:)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Новое извращение над запросом... / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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