1

Тема: Microsoft Access поле (значення поля + значення поля іншої таблиці)

Вибачаюсь, якщо тут не обговорюють MS Access, але вирішив написати тут оскільки тема про Бази даних.
База даних складається з трьох таблиць. В таблиці ТС субабонентів задається тип трансформатора струму (поле ТС), конкретніше про даний трансформатор в таблиці ТС. Також в таблиці ТС субабонентів задається рік проведення держповірки трансформатора (рік ДП). І ось в полі наступна ДП має вираховуватися термін наступної держповірки, що дорівнює значення (ТС субабонентів.рік ДП)+ значення (ТС.Термін держповірки) //а термін держповірки залежить від типу трансформатора (ТС субабонентів.ТС).
Підкажіть будь-ласка, чи можна, а якщо можна то як зробити таке поле в даній таблиці.

Post's attachments

Безымянный.jpg 70.51 kb, 257 downloads since 2014-05-13 

2

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

Тут обговорюють все, що пов'язано з БД. Зокрема, і Access.
Одна з базових ідей БД - будь-яка інформація має бути представлена в базі один раз. Якщо щось представлене двічі, то може виникнути ситуація, коли зі значення розійдуться, а це створить суперечність в даних і призведе рано чи пізно до падіння бази. Тому не треба створювати таке поле, його треба додавати під час запитів, наприклад, якщо є SQL-запит виду

SELECT * FROM 'ТС Субабонентів' INNER JOIN 'ТС' ON 'ТС Субабонентів'.ТС='ТС'.'Код'

то можна його виправити на

SELECT *, 'ТС Субабонентів'.'рік ДП'+'ТС'.'Термін держповірки' AS 'рік ДП' FROM 'ТС Субабонентів' INNER JOIN 'ТС' ON 'ТС Субабонентів'.ТС='ТС'.'Код'

В Access є візуальні засоби для такого редагування.

3

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

Вдячний за відповідь, але нажаль мені вона мало, що сказала. В базах даних, я новачок, а з Access взагалі тільки сьогодні спробував працювати.
Мені потрібне дане поле оскільки буде багато трансформаторів і потрібно, що в даних полях була дата наступної держповірки даних трансформаторів. А далі, наприклад, потрібно вибрати, які трансформатори мають пройти держповірку в 2016, а які в 2014.

4

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

Ну вже вибачте, я не буду заради вас одного собі встановлювати Access. Покажіть, як ви загальну вибірку робите - я підкажу, як обмежити вивід потрібним вам.

5

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

koala написав:

Ну вже вибачте, я не буду заради вас одного собі встановлювати Access.

Та я і не прошу :)

koala написав:

Покажіть, як ви загальну вибірку робите - я підкажу, як обмежити вивід потрібним вам.

Тут то і проблема я в Access власноруч не пишу запит на SQL, а за допомогою: СОЗДАНИЕ-МАСТЕР ЗАПРОСОВ-ПРОСТОЙ ЗАПРОС-далі вибираються потрібні поля  і все.

6

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

А ви пишіть власноруч, така можливість присутня в Access

7

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

Після створення запиту його можна редагувати, і там є поле "умова" - от туди і пишіть свою умову.

8

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

Наразі всім дякую! Буду пробувати.

9 Востаннє редагувалося fed_lviv (15.05.2014 12:17:44)

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

koala спробував Ваш запит:

SELECT *, [ТС Субабонентів].[рік ДП]+[ТС].[Термін держповірки] AS [рік ДП] 
FROM [ТС Субабонентів] 
INNER JOIN [ТС] ON [ТС Субабонентів].[ТС]=[ТС].[Код];

Але поле рік ДП пусте!!! Підкажіть будь-ласка, що тут не так.

10 Востаннє редагувалося fed_lviv (15.05.2014 12:35:16)

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

Пардон. Вирішив дану проблему сам. Звернув увагу, що є два поля з однією назвою: рік ДП. Тому поле яке створюю називаю: наступна ДП. Після цього все рахується.

11

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

А які типи полів [ТС Субабонентів].[рік ДП] та [ТС].[Термін держповірки]?

12

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

З'явилася інша проблема, які поля виводити на екран, які ні. ЗАПРОС-РЕЖИМ-КОНСТРУКТОР. І в даному режимі зазвичай можна обирати поля, які будуть виводитися на екран, але на разі вибране тільке поле наступна ДП, а виводяться всі поля!

13

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

koala написав:

А які типи полів [ТС Субабонентів].[рік ДП] та [ТС].[Термін держповірки]?

Там відразу все було добре: [Числовой-Длинное целое]+[Числовой-Длинное целое]

14 Востаннє редагувалося fed_lviv (15.05.2014 13:34:47)

Re: Microsoft Access поле (значення поля + значення поля іншої таблиці)

Всім дякую за "співпрацю", все зробив. Ось фінальний варіант запиту:

SELECT [Субабоненти].[Назва], [Об'єкти].[Тип], [Об'єкти].[Адреса], [ТС Субабонентів].[рік ДП]+[ТС].[Термін держповірки] AS [наступна ДП]
FROM (([ТС Субабонентів] 
INNER JOIN [ТС] ON [ТС Субабонентів].[ТС] = [ТС].[Код]) 
INNER JOIN [Субабоненти] ON [ТС Субабонентів].[Субабонент] = [Субабоненти].[Код]) 
INNER JOIN [Об'єкти] ON [ТС Субабонентів].[Об'єкт] = [Об'єкти].[Код]
WHERE [ТС Субабонентів].[рік ДП]+[ТС].[Термін держповірки]<2020;

Тобто вибираємо субабонентів (Субабоненти.Назва), де вони знаходяться (Об'єкти.Тип, Об'єкти.Адреса), в яких не раніше 2020 року мають пройти повірку трансформатори.

Post's attachments

Безымянный.jpg 57.97 kb, 252 downloads since 2014-05-15 

Подякували: 0xDADA11C7, koala2