Більше

Об'єкт відображення полів не працює з Merge_management

Об'єкт відображення полів не працює з Merge_management


Я намагаюся обмежити кількість полів, коли виконую злиття до двох. Нижче наведено сценарій, який я створив для цього. Однак об'єднаний клас функцій переносить усі поля, незважаючи на те, що я використовував aпольові картиоб'єкт.

ді- це словник із типом фігури ("полілінія", "багатокутник" тощо) як ключовим ключем, а пітон - список класів об’єктів як його значення. Будь-які ідеї?

відповідний код:

fms = FieldMappings () jnFm = FieldMap () sourceFm = FieldMap () jnFm.addInputField (fc, jobField) sourceFm.addInputField (outFcFullPath, "FC_SOURCE") fms.addFieldMap (jnFm) fms.addFFM) print " для shapeType в di: featureClasses = di [shapeType] mergeFC = os.path.join (outGDB, "All_" + shapeType) Merge_management (featureClasses, mergeFC, fms) print "Створено: All_" + shapeType

Я з’ясував, що для кожного класу об’єктів, який я об’єдную, мені потрібно додати поля до об’єктів карти полів.

Код функціонування:

fms = FieldMappings () jnFm = FieldMap () sourceFm = FieldMap () jnFm.addInputField (fc, jobField) jnFm.addInputField (outFcFullPath, jobField) # Новий код sourceFm.addInputField (fc, "FC_SODCEFput" FC_SODCEF (outFcFullPath, "FC_SOURCE") fms.addFieldMap (jnFm) fms.addFieldMap (sourceFm) print " nЗлиття" для shapeType в di: featureClasses = di [shapeType] mergeFC = os.path.join (outGDB, "All_" + shapeType ) Merge_management (featureClasses, mergeFC, fms) print "Created: All_" + shapeType

Помилка розгортання стандартних полів у великому об’єкті

Я намагаюся розгорнути великий об'єкт у Salesforce, але в полях об'єкта є деякі помилки. Великий об'єкт базується на стандартному об'єкті, який вже існує в Salesforce і має деякі стандартні поля, що належать до вихідного об'єкта. Коли я видаляю ці стандартні поля з об'єктного файлу, пакет успішно розгортається, але коли я включаю стандартні поля, для кожного поля відображається така помилка: & ltfield name & gt повинно закінчуватися на: __c або __kav або __x або __b або __xo або __e або __p або __mdt

Файл об'єкта:

Розглянуті тут поля - Ім'я, Власник та LastModifiedBy. З якоїсь причини поле CreatedBy успішно розгортається, хоча це стандартне поле. Що може спричинити помилки в останніх трьох полях?


Синтаксис

Атрибути цільових об’єктів та атрибути об’єднаних об’єктів передаються у вихідний клас об’єктів. Однак підмножину атрибутів можна визначити в параметрі карти полів.

Атрибути об’єднаних об’єднань об’єднуються з атрибутами цільових об’єктів. Дивіться пояснення параметра join_operation, щоб отримати докладні відомості про те, як на агрегування об’єднаних атрибутів впливає тип операції об’єднання.

Новий клас об’єктів, що містить атрибути цільових об’єктів та об’єднаних об’єктів. За замовчуванням усі атрибути цільових об’єктів та атрибути об’єднаних об’єктів записуються у вихідні дані. Однак набором атрибутів, що передаються, можна керувати параметром карти полів.

Визначає, як оброблятиметься об’єднання між цільовими об’єктами та об’єднаними об’єктами у вихідному класі об’єктів, якщо знайдено кілька об’єднаних об’єктів, які мають однакові просторові зв’язки з однією цільовою функцією.

  • JOIN_ONE_TO_ONE —Якщо знайдено кілька об’єднаних об’єктів, що мають однакові просторові зв’язки з однією цільовою об’єктом, атрибути з об’єктів об’єднаних об’єднань будуть об’єднані за допомогою правила об’єднання карти полів. Наприклад, якщо точковий цільовий об’єкт знайдено в двох окремих об’єктах об’єднання багатокутників, атрибути з двох полігонів будуть об’єднані перед перенесенням у клас вихідних точкових об’єктів. Якщо один багатокутник має значення атрибута 3, а інший - значення 7, і вказано правило злиття сум, загальне значення у вихідному класі ознак буде 10. Це за замовчуванням.
  • JOIN_ONE_TO_MANY —Якщо знайдено кілька об’єднаних об’єктів, які мають однакові просторові зв’язки з однією цільовою функцією, вихідний клас об’єктів буде містити кілька копій (записів) цільової функції. Наприклад, якщо в двох окремих об’єктах об’єднання багатокутників знайдено цільову об’єктну точку, клас вихідних об’єктів буде містити дві копії цільової ознаки: один запис з атрибутами одного багатокутника, а інший запис з атрибутами іншого багатокутника .

Визначає, чи всі цільові функції будуть підтримуватися у вихідному класі об’єктів (відомий як зовнішнє об’єднання), або лише ті, які мають вказаний просторовий зв’язок із об’єднаними об’єктами (внутрішнє об’єднання).

  • KEEP_ALL - Усі цільові функції зберігатимуться на виході (зовнішнє з'єднання). Це за замовчуванням.
  • KEEP_COMMON - Тільки ті цільові об’єкти, які мають зазначений просторовий зв’язок із об’єднаними елементами, зберігатимуться у вихідному класі об’єктів (внутрішнє об’єднання). Наприклад, якщо для цільових об’єктів вказаний точковий клас об’єктних елементів, а для об’єднаних об’єктів - клас об’єктів багатокутника, з match_option = „ВНУТРІШНІЙ”, вихідний клас об’єктних функцій буде містити лише ті цільові об’єкти, які знаходяться в об’єднанні багатокутників будь-які цільові функції, що не є об'єктом об'єднання, будуть виключені з результату.

Контролює, які поля атрибутів будуть у вихідному класі функцій. Початковий список містить усі поля як цільових, так і об’єднаних об’єктів. Поля можна додавати, видаляти, перейменовувати або змінювати їх властивості. Вибрані поля з цільових об’єктів передаються як є, але вибрані поля з об’єднаних об’єктів можна об’єднати за правилом об’єднання. Детальніше про відображення полів див. У розділі Використання контролю відображення полів і відображення полів вводу в поля виводу. Можна вказати декілька полів та комбінацію статистичних даних.

Визначає критерії, що використовуються для узгодження рядків. Варіанти матчів:

  • INTERSECT — Функції об’єднаних об’єктів будуть збігатися, якщо вони перетинають цільову функцію. Це за замовчуванням. Вкажіть відстань у параметрі search_radius.
  • INTERSECT_3D - Функції об’єднаних об’єктів збігатимуться, якщо вони перетинають цільовий об’єкт у тривимірному просторі (x, y та z). Вкажіть відстань у параметрі search_radius.
  • WITHIN_A_DISTANCE —Функції об’єднаних об’єктів збігатимуться, якщо вони перебувають у межах вказаної відстані від цільової функції. Вкажіть відстань у параметрі search_radius.
  • WITHIN_A_DISTANCE_GEODESIC - Те саме, що WITHIN_A_DISTANCE, за винятком того, що використовується геодезична відстань, а не плоска відстань. Виберіть це, якщо ваші дані охоплюють великий географічний ступінь або система координат входів непридатна для розрахунків відстані.
  • WITHIN_A_DISTANCE_3D —Функції об’єднаних об’єктів збігатимуться, якщо вони перебувають у межах заданої відстані від цільової об’єкти в тривимірному просторі. Вкажіть відстань у параметрі search_radius.
  • CONTAINS — Функції об’єднаних функцій будуть збігатися, якщо цільова функція їх містить. Цільовими ознаками повинні бути багатокутники або полілінії. Для цього параметра цільові об’єкти не можуть бути точками, а об’єднані об’єкти можуть бути лише багатокутниками, коли цільові об’єкти також є полігонами.
  • COMPLETELY_CONTAINS — Функції об’єднаних об’єктів будуть збігатися, якщо цільова функція повністю їх містить. Багатокутник може повністю містити будь-яку функцію. Точка не може повністю містити жодної ознаки, навіть точки. Полілінія може повністю містити лише полілінію і точку.
  • CONTAINS_CLEMENTINI - Цей просторовий зв'язок дає ті самі результати, що і COMPLETELY_CONTAINS, за винятком того, що якщо об'єднання повністю знаходиться на межі цільового об'єкта (жодна частина не знаходиться належним чином всередині або зовні), функція не буде збігатися. Клементіні визначає граничний багатокутник як лінію, що розділяє всередині і зовні, межу лінії визначають як її кінцеві точки, а межа точки завжди порожня.
  • ВНУТРІ —Функції об’єднаних об’єктів збігатимуться, якщо цільовий об’єкт знаходиться всередині них. Він протилежний місткості. Для цього параметра цільовими об’єктами можуть бути лише багатокутники, коли об’єднані об’єкти також є полігонами. Точка може бути об’єднана, лише якщо точка є ціллю.
  • COMPLETELY_WITHIN — Функції об’єднаних функцій будуть збігатися, якщо цільова функція повністю знаходиться в них. Це протилежне COMPLETELY_CONTAINS.
  • WITHIN_CLEMENTINI —Результат буде ідентичним WITHIN, крім випадків, коли вся функція в об’єднаних об’єктах знаходиться на межі цільової функції, ця функція не буде збігатися. Клементіні визначає граничний багатокутник як лінію, що розділяє всередині і зовні, межу лінії визначають як її кінцеві точки, а межа точки завжди порожня.
  • ARE_IDENTICAL_TO - Функції об’єднаних об’єктів будуть збігатися, якщо вони ідентичні цільовій. І об’єднання, і цільовий об’єкт повинні мати однаковий тип фігури - точка-точка, лінія-лінія та багатокутник.
  • BOUNDARY_TOUCHES - Функції об’єднаних об’єктів будуть збігатися, якщо вони мають межу, яка стосується цільової функції. Коли об’єктом об’єкта та об’єднання є лінії або багатокутники, межа об’єднання об’єкта може торкатися лише межі цільового об’єкта, і жодна частина об’єднання об’єкта не може перетинати межу цільового об’єкта.
  • SHARE_A_LINE_SEGMENT_WITH - Функції об’єднаних об’єктів будуть збігатися, якщо вони поділяють сегмент рядка з цільовим об’єктом. Функції об’єднання та цілі повинні бути лініями або багатокутниками.
  • CROSSED_BY_THE_OUTLINE_OF —Функції об’єднаних об’єктів збігатимуться, якщо цільовий об’єкт перекреслений їх контурами. Функції об’єднання та цілі повинні бути лініями або багатокутниками. Якщо для об’єднання або цільових об’єктів використовуються багатокутники, буде використана межа (лінія) багатокутника. Будуть співставлені лінії, які перетинаються в точці, а не лінії, що розділяють відрізок.
  • HAVE_THEIR_CENTER_IN — Функції об’єднаних об’єктів будуть збігатися, якщо центр цільової функції потрапляє до них. Центр ознаки обчислюється наступним чином: для багатокутника та багатоточок використовується центроїд геометрії, а для введення лінії - середня точка геометрії. Вкажіть відстань у параметрі search_radius.
  • НАЙБІЛЬШЕ - збігається функція в об’єднаних об’єктах, яка є найближчою до цільової. Для отримання додаткової інформації див. Підказку щодо використання. Вкажіть відстань у параметрі search_radius.
  • CLOSEST_GEODESIC - Те саме, що CLOSEST, за винятком того, що використовується геодезична відстань, а не плоска відстань. Виберіть це, якщо ваші дані охоплюють великий географічний ступінь або система координат входів непридатна для розрахунків відстані

Елементи об’єднання, що знаходяться на відстані від цільового об’єкта, будуть розглядатися як просторове об’єднання. Радіус пошуку є дійсним лише тоді, коли вказано просторове відношення (варіант збігу) INTERSECT, WITHIN_A_DISTANCE, WITHIN_A_DISTANCE_GEODESIC, HAVE_THEIR_CENTER_IN, CLOSEST або CLOSEST_GEODESIC. Використання радіуса пошуку 100 метрів із просторовим співвідношенням WITHIN_A_DISTANCE приєднається до об’єкта в межах 100 метрів від цільового об’єкта. Для трьох відносин WITHIN_A_DISTANCE, якщо для радіуса пошуку не вказано значення, використовується відстань 0.

Ім'я поля, яке потрібно додати до класу вихідних ознак, що містить відстань між цільовим об’єктом та найближчим об’єктом об’єднання. Цей параметр дійсний лише тоді, коли вказано просторовий зв'язок (Опція відповідності) CLOSEST або CLOSEST_GEODESIC. Значення цього поля дорівнює -1, якщо жодна функція не відповідає радіусу пошуку. Якщо не вказано жодної назви поля, поле не буде додано до класу вихідних ознак.


Методологія та основи

Відповідна література систематично та організовано переглядається у 5 етапів. По-перше, обсяг огляду визначається як вилучення та виявлення знань на основі BIM. Отже, пошук у існуючій літературі в науковій базі даних здійснюється шляхом поєднання ключових слів як TITLE-ABS-KEY ((“будівельна галузь”) АБО (“BIM”) АБО (“AEC”) АБО (“управління будівництвом”)) І TITLE-ABS-KEY ((“онтологія *”) АБО (“семантична мережа”) АБО (“знання”) АБО (“пов’язані дані”)). З огляду на необроблену базу даних, менш релевантні дослідження відфільтровуються шляхом вивчення заголовка та реферату вручну. Потім підсумуйте високо цитованих авторів, журнали та ключові слова, а потім поглиблене вивчення основних літературних потоків, щоб підсумувати сучасні теми досліджень та майбутні напрямки.

Сфера досліджень

Для того, щоб зосередитись на видобуванні та відкритті знань на основі BIM, цей огляд в основному охоплює дослідження у тісному взаємозв'язку з BIM, семантичною мережею, онтологією, системою опису ресурсів, мовою веб-онтології, управління знаннями тощо. Зокрема, поєднання область знань та BIM внесли значні зміни в галузі AEC [13]. На початку двадцять першого століття семантичні технології, засновані на знаннях доменів, були впроваджені в галузі АЕС [14]. Наприклад, Pan et al. [15] та Елгамраві та Букамп [16] обговорили додаткові цінності, які семантична павутина принесе користь будівельним проектам. У той же час у деяких нещодавніх оглядах обговорювалось знання BIM [17] та його застосування до проектування архітектури, моделювання енергії, інтелектуальна оптимізація, управління безпекою [18], проектування та аналіз міських просторів, інтеграція BIM та геоінформаційної системи, відповідність дизайнерським кодексам [19], управління об’єктами [20] тощо. Ці теми були узагальнені відповідно до Латентного семантичного аналізу (LSA) тем. Оскільки BIM сам підкреслює інформацію в цифровій моделі, оглянуті дослідження здебільшого зосереджувались на тому, як надати важливу інформацію для задоволення вимог конкретних доменів або програм. Для того, щоб бути організованими, дослідження поділяються на 5 основних тем, тобто опис знань, виявлення знань, зберігання та управління знаннями, висновок про знання та застосування знань, як зазначено в таблиці 1.

Кожна перелічена вище тема дослідження спирається на інформацію про будівлю в певній формі, а деякі з них навіть покладаються на інформацію з різних джерел даних. Технологія BIM здатна забезпечити інформаційну структуру, включаючи стандарт даних, управління даними та платформу даних для інтеграції цих важливих даних. Тим часом семантична мережа забезпечує технічну основу для опису знань, мови запитів та механізму виведення для вилучення та виявлення знань із платформи даних на базі BIM. Отже, інтеграція цих двох технологій має значний потенціал, як узагальнено на рис. 1 для інженерії знань у галузях AEC.

Основи вилучення та відкриття знань щодо побудови інформаційного моделювання

Статистика літератури

Це дослідження в основному вивчає літературу, опубліковану з 2009 по 2019 рік у базі даних Web of Science (WoS) [21] та Scopus [22]. Кількість рецензованих робіт наведено на рис. 2. Як правило, кількість робіт у галузі зростає з кожним роком, особливо після 2014 року, що означає, що управління знаннями на основі BIM стає важливою тенденцією, яка залучає науковців з питань інформаційних технологій в галузях AEC. .

Номери літератури з бази даних WoS та Scopus з 2009 по 2019 рік

Згідно з відфільтрованою літературою, процитовані, а отже, і найвпливовіші вчені, такі як К.Істман, Дж.Біц та П.Пауелс, та міжнародні академічні журнали, такі як Automation in Construction та Advanced Engineering Informatics, зведені на рис. 3. Рис. 4 показані найбільш активні ключові слова: BIM, онтологія, семантична мережа тощо.

а Топ10 авторів та b Видавці Топ-10, пов’язані з вилученням знань та відкриттям моделювання інформаційної побудови

Ключові слова, пов’язані з вилученням знань та відкриттям при побудові інформаційного моделювання


Посилання в коментарях - це відповідь, але оскільки я зробив фотографію, чому б його все-таки не опублікувати:

Замість того, щоб деформувати об’єкт безпосередньо, деформуйте стопку трису. Потім поставте для цільового об'єкта (циліндр у цьому прикладі) деформований об'єкт і увімкніть двосторонні інтерфейси для трису у Властивості >> Об'єкт >> Дублювання.

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


Об'єкт групової політики не застосовується до клієнтського комп'ютера

Я беру на себе все наше управління на базі Microsoft, це включає наші сервери AD, об'єкти групової політики тощо.

Отже, з урахуванням сказаного, я не знаю всього про те, як налаштовано це налаштування. Однак я помітив, що, схоже, у нас є багато проблем, пов’язаних із дозволами, із об’єктами групової політики або з користувачами, які не можуть змінити власні атрибути у своєму обліковому записі. Я вважаю, що проблема пов’язана з тим, що SYSVOL недоступний згідно інструменту управління груповою політикою, але не впевнений. Сам SYSVOL доступний відповідно до "чистої частки".

Я не знаю надійного способу проходження і автоматичної перевірки "основних" дозволів для облікових записів, щоб перевірити, чи мають вони доступ, однак я ще раз перевірив, що група "Аутентифіковані користувачі" має принаймні дозволи на читання для всіх об'єктів групової політики. . Я запустив dcdiag і repadmin. Результати dcdiag, які можна знайти тут:

результати repadmin показують, що все виконано успішно. На жодному із серверів немає помилок.


Щоб переконатися, що це завжди працює, слід додати обмеження до методу:

Це гарантує, що TInput є еталонним типом.

Немає сенсу називати це за структурами. Для них вам потрібно ще одне перевантаження з різними обмеженнями, а деякі? знаки запитання:

Хтось може запитати на цьому етапі: але навіщо нам два розширення, якщо теоретично одне теж робить свою роботу?

З одним розширенням потрібно використовувати властивість .Value для типів, що дозволяють обнуляти. За допомогою двох розширень ви отримуєте чисте значення, тож просто робите

Але хіба це не просто зручність? Звичайно. Хіба ми не пишемо розширення саме з цієї причини?

Насправді я сам використовую подібний код:

але ви можете створити спрощену версію свого методу та поєднати його з IIf


7 відповідей 7

NullReferenceException в основному говорить вам: ви робите це неправильно. Нічого більше, нічого менше. Це не повноцінний інструмент налагодження, навпаки. У цьому випадку я б сказав, що ви робите це неправильно, оскільки

  • існує NullReferenceException
  • Ви не запобігли цьому, знаючи, чому / де це сталося
  • а також можливо: метод, що вимагає 20 об’єктів, здається дещо відхиленим

Я великий шанувальник перевірки всього перед тим, як щось почне піти не так, і надання хорошої інформації розробнику. Коротше: напишіть чеки, використовуючи ArgumentNullException та лайки, і напишіть ім’я самостійно. Ось зразок:

Ви також можете вивчити кодові контракти, у нього є примхи, але він працює досить добре і економить вам набір тексту.

Це дійсно повинно показувати саме те, що ви намагаєтесь зателефонувати. Це все одно, що сказати "Існує проблема. Вам потрібно її виправити. Я знаю, що це. Я не збираюся вам говорити. Ви підете розбиратися" Трохи, як половина відповідей на це переповнення стеку, за іронією долі.

Тож як корисно було б, наприклад, якби ви це отримали.

. Потрібно заглибитися в код, перейти через нього і зрозуміти, що річ, яку ви намагаєтесь зателефонувати, є нульовою - це нормально, але чому б нам просто не трохи допомогти?

Я згоден, що це так зазвичай корисно пройти через код, щоб дійти до відповіді (адже ви, мабуть, дізнаєтесь більше), але часто було б заощаджено багато часу та розчарувань, якби текст NullReferenceException був більше схожий на приклад вище.

Ваш журнал повинен містити трасування стека - це зазвичай дає вам підказку щодо того, який рядок у методі має проблему. Можливо, вам доведеться зробити так, щоб у вашій версії випуску були символи PDB, щоб ви мали уявлення, в якому рядку вказана помилка.

Звичайно, це не допоможе вам у цьому випадку:

Принцип Tell Don't Ask може допомогти уникнути такого коду.

Щодо того, чому інформація не включена, я не впевнений - я підозрюю, що принаймні в налагоджувальній збірці, якщо вони дійсно цього хочуть, вони можуть це зрозуміти. Вирішення збою та відкриття в WinDBG може допомогти.

Винятки були створені як інструмент для сигналізації виняткових ситуацій не фатальний умови вищого ланцюга дзвінків. Тобто вони не розроблені як інструмент налагодження.

Якби виняток нульового вказівника був інструментом налагодження, він би перервав виконання програми прямо на місці, дозволяючи налагоджувачу підключатися, направляючи його прямо на викривальну лінію. Це дасть програмісту всі доступна контекстна інформація. (Що майже те саме, що робить Segfault через доступ до нульового покажчика в C, хоча і трохи грубо.)

Однак виняток з нульовим покажчиком розроблений як допустима умова виконання, яка може бути викинута і зафіксована у звичайному потоці програми. Отже, слід враховувати міркування щодо продуктивності. І будь-яка настройка повідомлення про виняток вимагає створення рядкових об’єктів, об’єднання та знищення під час виконання. Таким чином, статичне повідомлення, безперечно, швидше.

Однак я не кажу про те, що час виконання не може бути запрограмований таким чином, щоб отримати назву викривального посилання. Це можна зробити. Це просто зробило б винятки ще повільнішими, ніж вони є. Якби хтось дбав про таку можливість, таку функцію можна було б навіть перемкнути, щоб вона не сповільнювала виробничий код, а дозволяла полегшити налагодження, але з якихось причин, здається, ніхто не дбав про це.


Я не впевнений, у чому саме проблема, але це моє припущення. Вам потрібно зменшити масу прапора. За замовчуванням він досить важкий.

Я виявив, що тканина, здається, повинна повністю "впасти", перш ніж на неї вплине вітер. Я спробував літак, що звисав з верхнього краю, і оскільки він вже був у "впавшому" положенні, він відразу ж анімував силою вітру від 2000 до 9000, він гарно замахнувся, 10000 змусило його з'їхати. Я спробував наступний плащ, набагато складніший, і після його закріплення знадобилося 100 кадрів, перш ніж я отримав деякі брижі із силою вітру 9000

У мене була подібна проблема, і мій прапор почав реагувати на силу вітру, коли я збільшив його 10 разів.

Чим більшим був прапор (у одиницях змішування), тим більше він реагував на силу вітру.

Також перевірте Падіння потужності
(моя проблема була: занадто низька міцність і занадто велика потужність падіння).

Розмір сцени має значення. Якщо ваш одяг не реагує на сили: перейдіть на вкладку властивостей сцени та масштабуйте одиниці. Після того, як ви це зробите, перейдіть до властивостей фізики вашого полотна, і ви помітите, що маса вершин змінилася. Визначає масу вершини і починає моделювання


Отримайте ідентифікатор SharePoint ListItem зі списку, де поле & # 39Title & # 39 є певним значенням у JavaScript

Я намагаюся витягти ідентифікатор ListItem списку, який я зараз НЕ знаходжу, на основі значення поля в цьому списку. Я не можу знайти нічого, що пояснює, як це зробити.

Отже, пояснити. У мене називається Спеціальний список 'Кафедра'. У мене є інший спеціальний список "Стаття". У мене є поле в "Стаття" Список, який є підстановкою до 'Назва' поле в 'Кафедра' Список

У мене є JavaScript, який читає DispForm "Статті" у "Списку статей" і витягує Департамент як текстовий рядок. Тепер, використовуючи цей текстовий рядок, я хочу за допомогою JavaScript шукати у списку «Відділ», знайти значення поля «Заголовок», яке відповідає текстовому рядку (наприклад, Фінанси), і повернути ідентифікатор елемента цього елемента списку.

Всі рішення, які я можу знайти в Інтернеті, підключаються до Списку за допомогою методу 'getItemById', але я не знаю ідентифікатора, оскільки саме це я намагаюся повернути (наприклад, нижче)

Хто-небудь може вказати мені в правильному напрямку, як я хотів би це робити?


Перегляньте відео: Інформатика 9 клас 32 урок. Поняття бази даних і систем керування базами даних, їх призначення