Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2011, 10:04   #1
ua3pno
 
Регистрация: 20.02.2011
Сообщений: 9
По умолчанию Обновление записей в таблице

Прошу помочь.
Как сделать?
имеется таблица -в ней два текстовых поля с частично заполненными данными в CFM (записи могут повторяться)
пример:
Код:
D_LOC           CFM
KO00AA         KO00
KN99AA         KN00
KK77GG         KK77
LO97DD
KM43HF
KP09AD         KP09
KO00AA        
KN99AA         KN00
KK77GG         
.........    .......
нужно создать макрос "из поля D_LOC записать в поле CFM только первые четыре знака для всех записей таблицы"

И в догонку, как потом добавить в запрос выборку ТОЛЬКО первого уникального значения по полю CFM для последующего подсчета таких уникальных записей?

Последний раз редактировалось ua3pno; 20.02.2011 в 10:10.
ua3pno вне форума Ответить с цитированием
Старый 20.02.2011, 11:47   #2
LittleFatCat
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 68
По умолчанию

Доброго времени суток!

Код:
UPDATE TableName SET Tablename.CFM = Left([TableName].[D_Loc],4);

SELECT First(TableName.CFM) AS [First-CFM]
FROM TableName
;

Это два запроса для двух вопросов :-). Что такое "создать макрос" - непонятно
LittleFatCat вне форума Ответить с цитированием
Старый 20.02.2011, 15:22   #3
ua3pno
 
Регистрация: 20.02.2011
Сообщений: 9
По умолчанию

Цитата:
Сообщение от LittleFatCat Посмотреть сообщение
Код:
UPDATE TableName SET Tablename.CFM = Left([TableName].[D_Loc],4);

SELECT First(TableName.CFM) AS [First-CFM]
FROM TableName
;

Это два запроса для двух вопросов

Прошу прощения за неверно сформулиованную задачу.
Первая строка решила проблему, спасибо.
А вот для решения
Код:
выборку ТОЛЬКО первого уникального значения по полю CFM
имеется в виду для всех уникальных значений в данном поле.
Т.е. чтобы на выходе простого запроса для выбранных записей :
Код:
D_LOC           CFM
KO00AA         KO00
KN99AA         KN00
KK77GG         KK77
KO00FA         KO00
KN99HF         KN99
KP09AD         KP09
KO00AF         KO00
KN99DA         KN99
KN99GG         KN99
получить

Код:
D_LOC           CFM
KO00AA         KO00
KN99AA         KN00
KK77GG         KK77
KO00FA         
KN99HF         KN99
KP09AD         KP09
KO00AF         
KN99DA         
KN99GG

Последний раз редактировалось ua3pno; 20.02.2011 в 15:49. Причина: уточнение
ua3pno вне форума Ответить с цитированием
Старый 20.02.2011, 18:27   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте ua3pno.
"..для последующего подсчета таких уникальных записей? .."
думаю проще сразу сосчитать все уникальные записи :
Код:
SELECT CFM, Count(CFM) AS [Count-CFM]
FROM таблица
GROUP BY CFM
без "предварительной подготовки".

и по поводу применения UPDATE... на "..первые четыре знака..",
большое сомнение в необходимости, данные не изменяются, увеличивается их объем
думаю правильнее добавлять "..первые четыре знака.." только при отображении, т.е. в запросе.

Евгений.

Последний раз редактировалось Teslenko_EA; 20.02.2011 в 18:32.
Teslenko_EA вне форума Ответить с цитированием
Старый 20.02.2011, 19:56   #5
ua3pno
 
Регистрация: 20.02.2011
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
Здравствуйте ua3pno.
"..для последующего подсчета таких уникальных записей? .."
думаю проще сразу сосчитать все уникальные записи :
Код:
SELECT CFM, Count(CFM) AS [Count-CFM]
FROM таблица
GROUP BY CFM
без "предварительной подготовки".

и по поводу применения UPDATE... на "..первые четыре знака..",
большое сомнение в необходимости, данные не изменяются, увеличивается их объем
думаю правильнее добавлять "..первые четыре знака.." только при отображении, т.е. в запросе.

Евгений.
Спасибо Евгений, за терпение. Пробую силы, а куда деваться когда прижмет, в ACCESS , но не всегда успешно.

Стоит задача выбрать записи по маске в поле CALL, подсчитать все оригинальные значения (общая сумма оригинальных и только оригинальных, а не общее количество) в поле CFM таблицы BASE и потом сформировать отчет содержащий все выбранные записи с итоговой суммой first-CFM.
Получить из таблицы
Код:
DATE	             TIME	 CALL	T_LOC	KORR	D_LOC	CFM
04.09.2010	23:20	RK3PWJ	KO93FA	UZ8E	KN68OD	KN68
05.09.2009	15:56	RK3PWJ	KO93FA	UW3E	KN78EP	KN78
04.09.2010	20:12	RK3PWJ	KO93FA	US5EII	KN78JK	KN78
05.09.2009	20:39	RK3PWJ	KO93FA	US5EII	KN78JK	KN78	
06.09.2008	14:52	RK3PWJ	KO93FA	UR0EC	KN78WM	KN78
05.09.2009	15:51	RK3PWJ	KO93FA	UR0EQ	KN78WM	KN78
06.09.2008	20:36	RK3PWJ	KO93FA	UW3E	KN79EA	KN79
04.09.2010	16:54	RK3PWJ	KO93FA	UW3E	KN79EA	KN79
06.09.2008	15:02	RK3PWJ	KO93FA	UT0LWR	KN79MX	KN79
04.09.2010	16:41	RK3PWJ	KO93FA	UR6EC	KN79WA	KN79
04.09.2010	17:06	RK3PWJ	KO93FA	UT8LE	KN79WW	KN79
06.09.2009	01:17	RK3PWJ	KO93FA	US7IA	KN87DG	KN88
05.09.2009	23:22	RK3PWJ	KO93FA	UR3EE	KN88DC	KN88
04.09.2010	14:00	RK3PWJ	KO93FA	UT4LA	KN89AW	KN89
05.09.2009	15:49	RK3PWJ	KO93FA	UT4LA	KN89AW	KN89
06.09.2008	21:43	RK3PWJ	KO93FA	RZ6AZZ	KN95KM	KN95
06.09.2008	18:20	RK3PWJ	KO93FA	RA6DA	KN96SA	KN96
06.09.2008	21:23	RK3PWJ	KO93FA	UX3IV	KN98FF	KN98
05.09.2009	20:45	RK3PWJ	KO93FA	US7IL	KN98GI	KN98
05.09.2009	21:00	RK3PWJ	KO93FA	UW2I	KN98KG	KN98
04.09.2010	20:34	RK3PWJ	KO93FA	UW2I	KN98KG	KN98 
04.09.2010	22:04	RK3PWJ	KO93FA	EW1WA	KO33PU	KO33
05.09.2010	00:40	RK3PWJ	KO93FA	RW3LL	KO54QR	KO54
Отчет вида



Код:
DATE	            TIME	 CALL	T_LOC	KORR	D_LOC	CFM	first-CFM
04.09.2010	23:20	RK3PWJ	KO93FA	UZ8E	KN68OD	KN68	KN68
05.09.2009	15:56	RK3PWJ	KO93FA	UW3E	KN78EP	KN78	KN78
04.09.2010	20:12	RK3PWJ	KO93FA	US5EII	KN78JK	KN78		
05.09.2009	20:39	RK3PWJ	KO93FA	US5EII	KN78JK	KN78	
06.09.2008	14:52	RK3PWJ	KO93FA	UR0EC	KN78WM	KN78
05.09.2009	15:51	RK3PWJ	KO93FA	UR0EQ	KN78WM	KN78
06.09.2008	20:36	RK3PWJ	KO93FA	UW3E	KN79EA	KN79	KN79
04.09.2010	16:54	RK3PWJ	KO93FA	UW3E	KN79EA	KN79
06.09.2008	15:02	RK3PWJ	KO93FA	UT0LWR	KN79MX	KN79
04.09.2010	16:41	RK3PWJ	KO93FA	UR6EC	KN79WA	KN79
04.09.2010	17:06	RK3PWJ	KO93FA	UT8LE	KN79WW	KN79
06.09.2009	01:17	RK3PWJ	KO93FA	US7IA	KN87DG	KN87	KN87
05.09.2009	23:22	RK3PWJ	KO93FA	UR3EE	KN88DC	KN88	KN88
04.09.2010	14:00	RK3PWJ	KO93FA	UT4LA	KN89AW	KN89	KN89
05.09.2009	15:49	RK3PWJ	KO93FA	UT4LA	KN89AW	KN89
06.09.2008	21:43	RK3PWJ	KO93FA	RZ6AZZ	KN95KM	KN95	KN95
06.09.2008	18:20	RK3PWJ	KO93FA	RA6DA	KN96SA	KN96	KN96
06.09.2008	21:23	RK3PWJ	KO93FA	UX3IV	KN98FF	KN98	KN98
05.09.2009	20:45	RK3PWJ	KO93FA	US7IL	KN98GI	KN98
05.09.2009	21:00	RK3PWJ	KO93FA	UW2I	KN98KG	KN98
04.09.2010	20:34	RK3PWJ	KO93FA	UW2I	KN98KG	KN98
04.09.2010	22:04	RK3PWJ	KO93FA	EW1WA	KO33PU	KO33	KO33
05.09.2010	00:40	RK3PWJ	KO93FA	RW3LL	KO54QR	KO54	KO54

____________________________________________________________
                                                  ИТОГО    11 first-CFM
Выбрать из таблицы записи в простом запросе смог, а вот "прикрутить" остальное опыта, а точнее его отсутствие, не хватает.
По поводу применения UPDATE - пожалуй верно, т.к. уже сейчас таблица насчитывает более 50 000 записей. Наверное лучше вписать в запрос. Но опять таки всё упирается в теоретическую базу.
Простые запросы для выбора по маске типа like[select CALL]&"*" идут, а дальше тормоз, в SQL не силен.

Последний раз редактировалось ua3pno; 21.02.2011 в 06:21.
ua3pno вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Количество записей в таблице Марк Охман БД в Delphi 2 27.09.2010 14:07
Firebird. Обновление записей artemavd БД в Delphi 4 16.10.2009 16:16
Фильтрация записей в таблице TaTT DoGG БД в Delphi 49 28.03.2009 19:04
Счетчик записей в таблице John_chek Общие вопросы Delphi 2 01.03.2007 11:36