powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Новое извращение над запросом...
20 сообщений из 20, страница 1 из 1
Новое извращение над запросом...
    #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
Новое извращение над запросом...
    #32261272
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ если нет такой фенечки нету то не подскажите в каком направлении шагать стройными рядами...
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #32261295
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по точнее можно, а то, например, я что-то недогоняю... какие повторные, в первой что-ли таблице? типа там попущена - еще одна qqq 111 rrr, а как тогда ты их объединяешь? по невидимому ключ. полу что-ли

Вообщем, хорошобы для начала увидеть родные таблицы, а потом уже вид после запроса
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #32261298
Roalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все где надо сделать-то, если в отчете то:
Не выводить повторы в полях.
Ежли где еще (в запросе), то надо писать функцию, или, ИМХО, лучше временную таблицу.
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #32261341
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как насчет применения опций
distinct
или
distinctrow?..
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #32261386
Roalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, что эти предикаты здесь не катят, записи то надо возвращать.
Я так понял, исключать надо только отображение повторяющихся полей.
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #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
Новое извращение над запросом...
    #32261535
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roalex писал:Это все где надо сделать-то, если в отчете то:
Не выводить повторы в полях.
не подскажешь что это за фенечка/свойство? а то я мало отчётов делаю не в курсе...
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #32261541
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хе, если в отчете то там есть свойство - не выводить повторы )))
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #32261545
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
свойство контрола в отчете такое есть

HideDuplicates

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

можно использовать функции для вычисления значений в запросе но будет тормозить жутко
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #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
Новое извращение над запросом...
    #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
Новое извращение над запросом...
    #32261633
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а (пере)сортировки?

Ясно, что отображаемое поле должно выводить ф-ю (от записи). В ф-ии, положим, должна быть статическая переменная. Но она, блин, требует и статического набора данных - иначе пересчитывается при всяком скролинге с произвольной записи. Если ф-я не со статической - то обязана проходиться по клону (учитывать фильтры/сортировки). если рекордсет большой - нехорошо. Надоть как-то проходиться только по видимым записям.
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #32261662
Фотография 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
Новое извращение над запросом...
    #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
Новое извращение над запросом...
    #32261962
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у тебя работает, значит нету :)
А про возможные грабли с сортировкой - вторая ссылка.
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #32261997
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пока нету
...
Рейтинг: 0 / 0
Новое извращение над запросом...
    #32262009
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и дай бог тебе здоровья
:)
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Новое извращение над запросом...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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