Сб, 03.12.2016, 02:22
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво
Безлимитный хостинг, бесплатный домен, бесплатный хостинг, Хостинг, dedicated, сервер, хостинг в Европе, хостинг в Германии, выделенный сервер

Сторінка 1 з 212»
Модератор форуму: НІКОЛЯ, Ktara, Bandalak, volevikt 
Форум інформатиків » РОЗДІЛ V: ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ » 5.6 Офісні пакети » СКБД Access (Обговорення різних питань)
СКБД Access
skif Дата: Вт, 16.02.2016, 11:41 | Повідомлення № 1
Прописаний назавжди
Повідомлень: 260
Нагороди: 2
Рейтинг: 21
Проблема така:
Є таблиця тест, у ній три поля: число1, число2, результат. Яким чином при введені у перші два поля даних автоматично запрограмувати сумування у третьому полі? Які будуть ідеї?
Потрібно зробити без створення форми, у таблиці.
В неті знайшов, що з 2010 офісу такі обчислювальні поля можна створити, але цікавить альтернатива.


Відредаговано: skif - Вт, 16.02.2016, 11:46
Пилипчук_О_П Дата: Вт, 16.02.2016, 14:24 | Повідомлення № 2
Ветеран спілкування
Повідомлень: 3052
Нагороди: 18
Рейтинг: 161
Цитата skif ()
Потрібно зробити без створення форми, у таблиці.
В неті знайшов, що з 2010 офісу такі обчислювальні поля можна створити, але цікавить альтернатива.

Якого роду альтернатива? В Access 2003 це можна зробити, створивши запит. Виглядатиме як таблиця.
Bandalak Дата: Вт, 16.02.2016, 15:30 | Повідомлення № 3
Ветеран спілкування
Повідомлень: 4580
Нагороди: 28
Рейтинг: 187
Він хоче не запит, а щоб обчислювалося в таблиці.
Може зробити експорт-імпорт з Ексцель?
TYP Дата: Вт, 16.02.2016, 18:54 | Повідомлення № 4
Прописаний назавжди
Повідомлень: 284
Нагороди: 3
Рейтинг: 28
Стосовна Access також існує декілька запитань! Як краще зберігати дані в таблицях виходячи з такої задачі (Олімпіада з ІКТ міського рівня 2015)
Враховуючи, що товари мають однакову назву, але різний код, фірму постачальника, країну чи потрібно окремо тримати назви товару зі своїм ІД (для економії БД розумію, що потрібно) і якщо потрібно то як створювати зв’язки? Авторський розв’язок вважаю не докінця правильним (у своїй БД він якраз і не виносив товари у окрему таблицю) Цікавлять завдання виділені червоними зірками.
ТАБЛИЦЯ з ДАНИМИ




Магазинкомп’ютерної техніки
Данотаблицю постачання товарів на склад
магазину комп’ютерної техніки.
 (упапці Завдання-5).
  • Нормалізуйте дану таблицю та створіть базу даних в
    середовищі СУБД. Установіть зв’язки
    між таблицями та заповніть їх. Додатково
    створіть таблицю продаж, яка має такі
    поля: номер чека, товар, кількість, дата
    продажу. Встановити її зв
    язок з потрібними таблицями.
  • Створіть форму «Продажі», яка дозволить формувати
    замовлення на купівлю товару. Форма
    має поля
    : Номер чека, Дата продажу, Назва товару, Ціна,
    Кількість, Сума. На формі повинні
    розміщуватися кнопки для переміщення
    по чеках «Попередній чек», «Наступний
    чек» та кнопки «Додати чек», «Знайти
    чек». При розрахунку суми врахувати
    20% націнку.

  • На формі «Продаж» розмістить кнопку «Друк
    чека», попередньо створивши його у
    формі звіту. Чек повинен містити назву
    магазина, поточну дату, список товарів
    з кількістю, ціною, сумою за товар, та
    загальною сумою по чеку.

  • * Створіть перехресний запит, в якому для кожної
    фірми постачальника визначіть загальну
    кількість проданого товару і кількість
    проданих товарів з врахуванням країни
    виробника.
  • * Створіть форму, що дозволяє відслідкувати
    динаміку продажу певного товару за
    певний період часу. Назва товару, а
    також початкова і кінцеві дати вводяться
    на формі. Передбачте введення назви
    товару повністю або лише декількох
    перших літер.

  • Створіть Прайс-лист у вигляді звіту згрупованому
    по постачальниках. Також вкажіть Назву
    товару, Ціну, Країну виробника. Ціну
    товару вкажіть з врахуванням 20% націнки.

  • Створіть кнопкову форму «Виконання завдань»,
    яка дає можливість виконати завдання
    наведені у пунктах 2-6. Ця форма повинна
    бути активна при відкритті БД.
  • Пилипчук_О_П Дата: Вт, 16.02.2016, 21:48 | Повідомлення № 5
    Ветеран спілкування
    Повідомлень: 3052
    Нагороди: 18
    Рейтинг: 161
    Цитата Bandalak ()
    Він хоче не запит, а щоб обчислювалося в таблиці.

    З питання не зрозуміло, в якому середовищі це потрібно зробити. І наскільки жорстка прив'язка саме до таблиці. Був акцент, що без створення форми. Запит, якщо його відкрити, виглядає як таблиця. Фактично результатом виконання запиту і є таблиця, просто дані в ній не зберігаються статично, а формуються при виконанні запиту.

    Цитата Bandalak ()
    Може зробити експорт-імпорт з Ексцель?

    Незрозуміло для чого таке робити. І так робити взагалі не можна: загроза цілісності даних. Справжні обчислювані поля самомодифікуються, а вставлене з Екселя стане звичайним числом. І якщо після цього змінити дані у перших двох стовпчиках - чуда не відбудеться: результат у 3-му стовпчику автоматично не зміниться.
    skif Дата: Вт, 16.02.2016, 21:57 | Повідомлення № 6
    Прописаний назавжди
    Повідомлень: 260
    Нагороди: 2
    Рейтинг: 21
    Цитата Пилипчук_О_П ()
    З питання не зрозуміло, в якому середовищі це потрібно зробити. І наскільки жорстка прив'язка саме до таблиці. Був акцент, що без створення форми. Запит, якщо його відкрити, виглядає як таблиця. Фактично результатом виконання запиту і є таблиця, просто дані в ній не зберігаються статично, а формуються при виконанні запиту.
    тема відкрита Access. В мене там таблиця є, де в одні комірки вноситиму дані, в інших має автоматично відбуватись обчислення. Запит не підійде, бо щоб бачити результат треба його запускати і так результат буде в іншій віртуальній таблиці. Буду пробувати VBA підключати...
    volevikt Дата: Вт, 16.02.2016, 22:06 | Повідомлення № 7
    Перспективна вчителька
    Повідомлень: 1579
    Нагороди: 23
    Рейтинг: 160
    Якщо це олімпіадна задача, то використання VBA заборонено.
    У MS Access 2010 все чудово працює.
    От тільки якщо одне поле (перше число чи друге число) залишити порожнім, то поле суми теж буде порожнім.

    Не знаю, як в інших областях, а в нас вже давно для виконання олімпіадних завдань використовується Офіс не нижче 2010.
    Прикріплення: 0834762.rar(15Kb)
    skif Дата: Вт, 16.02.2016, 22:13 | Повідомлення № 8
    Прописаний назавжди
    Повідомлень: 260
    Нагороди: 2
    Рейтинг: 21
    Цитата volevikt ()
    Якщо це олімпіадна задача, то використання VBA заборонено.У MS Access 2010 все чудово працює.
    Не знаю, як в інших областях, а в нас вже давно для виконання олімпіадних завдань використовується Офіс не нижче 2010.
    ні це мені треба спроектувати БД для практичного подальшого використання. я і написав вверху, що у 10 версії появилась така можливість, але у нижчих версіях ще не має.


    Відредаговано: skif - Вт, 16.02.2016, 22:15
    Пилипчук_О_П Дата: Вт, 16.02.2016, 22:33 | Повідомлення № 9
    Ветеран спілкування
    Повідомлень: 3052
    Нагороди: 18
    Рейтинг: 161
    Цитата skif ()
    ні це мені треба спроектувати БД для практичного подальшого використання.

    Тоді не розумію, в чому проблема. Робимо запит, додаємо обчислюване поле - і готово. Назву запиту можна використовувати скрізь, де допускається назва таблиці. Чи я помиляюсь?
    Коли існують стандартні засоби, не варто винаходити велосипед.


    Відредаговано: Пилипчук_О_П - Вт, 16.02.2016, 22:34
    swetikccc Дата: Вт, 16.02.2016, 23:35 | Повідомлення № 10
    Ветеран спілкування
    Повідомлень: 3279
    Нагороди: 20
    Рейтинг: 241
    Цитата TYP ()
    Враховуючи, що товари мають однакову назву, але різний код, фірму постачальника, країну чи потрібно окремо тримати назви товару зі своїм ІД (для економії БД розумію, що потрібно) і якщо потрібно то як створювати зв’язки?
    Якщо тільки назва, то це звичайна підстановка(таблиця), назва тут властивість сутності поставка наприклад.
    А от коли потрібні характеристики то це вже сутність і тут уже потрібне ключове поле.
    Цитата Пилипчук_О_П ()
    Тоді не розумію, в чому проблема. Робимо запит, додаємо обчислюване поле - і готово. Назву запиту можна використовувати скрізь, де допускається назва таблиці. Чи я помиляюсь?
    Я твкож не розумію, для чого працювати напряму з таблицями БД?
    skif Дата: Ср, 17.02.2016, 00:06 | Повідомлення № 11
    Прописаний назавжди
    Повідомлень: 260
    Нагороди: 2
    Рейтинг: 21
    Цитата swetikccc ()
    Я твкож не розумію, для чого працювати напряму з таблицями БД?
    форми створю згодом,  зараз мені потрібно, щоб обчислення проходили
    Пилипчук_О_П Дата: Ср, 17.02.2016, 00:25 | Повідомлення № 12
    Ветеран спілкування
    Повідомлень: 3052
    Нагороди: 18
    Рейтинг: 161
    Цитата skif ()
    форми створю згодом, зараз мені потрібно, щоб обчислення проходили

    Так ніхто ж про форми й не говорить. Простий запит, в якому з таблиці вибираються 2 потрібні поля, а третє поле в запиті - обчислюється за цими двома.
    fox11 Дата: Ср, 17.02.2016, 18:06 | Повідомлення № 13
    Часто заходить...
    Повідомлень: 60
    Нагороди: 0
    Рейтинг: 8
    Таблицы хранят данные и их свойства (ничего не вычисляя)
    Результат запроса - это таблица. Делайте запрос и пользуйтесь полученной в результате таблицей в которой и будет сумма ваших полей.

    Додано (17.02.2016, 18:06)
    ---------------------------------------------
    Цитата TYP ()
    Враховуючи, що товари мають однакову назву, але різний код, фірму постачальника, країну чи потрібно окремо тримати назви товару зі своїм ІД
    Не понял где код товара? Вижу Номер скорее всего это номер чека?

    Дублировать данные в таблицах не желательно.


    Відредаговано: fox11 - Ср, 17.02.2016, 18:08
    skif Дата: Ср, 17.02.2016, 21:44 | Повідомлення № 14
    Прописаний назавжди
    Повідомлень: 260
    Нагороди: 2
    Рейтинг: 21
    Цитата Пилипчук_О_П ()
    Цитата skif ()форми створю згодом, зараз мені потрібно, щоб обчислення проходили

    Так ніхто ж про форми й не говорить. Простий запит, в якому з таблиці вибираються 2 потрібні поля, а третє поле в запиті - обчислюється за цими двома.
    такий запит:? 
    INSERT INTO Таблиця1 ( число )
    SELECT [Таблиця1]![число1]+[Таблиця1]![число2] AS вираз1
    FROM Таблиця1;
    він додає результут у 3,4 рядки стовбця число. Не зовсім те(
    ще одне питання по ходу. Якщо в мене у таблиці Товар за лютий є поля Сума та Оплата. У березні у полі Сума має бути Сума-Оплата і т.д. Як таке реалізувують? 
    Пилипчук_О_П Дата: Чт, 18.02.2016, 00:27 | Повідомлення № 15
    Ветеран спілкування
    Повідомлень: 3052
    Нагороди: 18
    Рейтинг: 161
    Цитата skif ()
    такий запит:?

    Не такий, а такий:
    SELECT Таблиця1.A, Таблиця1.B, [Таблиця1]![A]+[Таблиця1]![B] AS вираз1
    FROM Таблиця1;
    Форум інформатиків » РОЗДІЛ V: ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ » 5.6 Офісні пакети » СКБД Access (Обговорення різних питань)
    Сторінка 1 з 212»
    Пошук:


    © Форум інформатиків України, 2007-2016.