Date: prev next · Thread: first prev next last
2023 Archives by date, by thread · List index


Nu aan de groep, dat gaat nog al eens verkeerd:

Op vr 31-03-2023 om 10:21 schreef Ivo Raepsaet:
hulp gezocht bij update van veld info door info die in een andere tabel te vinden is.

Dat zijn wel veel vragen tegelijk. Ik heb de eerste vraag eens in ChatGPT gegooid en dit kwam er 
uit. Misschien moet je nog wat meer doorvragen.
ChatGPT is zeker niet foutloos, dus succes is niet verzekerd.

> Hoe kan ik in LibreOffice Base meer dan één telefoonnummer tegelijk toevoegen aan een persoon?

In LibreOffice Base kunt u meer dan één telefoonnummer toevoegen aan een persoon door een relatie 
te leggen tussen twee tabellen: één voor personen en één voor telefoonnummers.

Hier zijn de stappen om dit te doen:

    Maak een tabel voor personen met een unieke id voor elke persoon, bijvoorbeeld 'persoon_id'.
    Maak een tabel voor telefoonnummers met een unieke id voor elk telefoonnummer, bijvoorbeeld 
'telefoon_id', en een veld voor het telefoonnummer zelf, bijvoorbeeld 'telefoonnummer'.
    Maak een derde tabel, bijvoorbeeld 'persoon_telefoon', om de relatie tussen personen en 
telefoonnummers op te slaan. Deze tabel bevat twee velden: 'persoon_id' en 'telefoon_id', die 
beiden verwijzen naar respectievelijk de 'persoon' en 'telefoonnummer' tabellen.
    Voeg records toe aan de 'persoon' tabel voor elke persoon en records aan de 'telefoonnummer' 
tabel voor elke telefoonnummer.
    Voeg records toe aan de 'persoon_telefoon' tabel om de relatie tussen personen en 
telefoonnummers vast te leggen. Dit wordt gedaan door de 'persoon_id' en 'telefoon_id' te koppelen 
aan de juiste records in de respectievelijke tabellen.

Nu kunt u meerdere telefoonnummers toevoegen aan een persoon door simpelweg records toe te voegen 
aan de 'persoon_telefoon' tabel die de 'persoon_id' van de persoon en de 'telefoon_id' van het 
telefoonnummer bevat.

Als u bijvoorbeeld drie telefoonnummers aan een persoon wilt toevoegen met de id '1', voegt u drie 
records toe aan de 'persoon_telefoon' tabel met '1' als 'persoon_id' en de unieke 'telefoon_id's' 
van elk telefoonnummer.

Met deze opzet kunt u ook gemakkelijk een persoon opzoeken en alle bijbehorende telefoonnummers 
weergeven of een telefoonnummer opzoeken en alle personen weergeven die dat nummer hebben.

> Met welke opdrachten doe ik dat?

Om records toe te voegen aan de verschillende tabellen en de koppeling tussen de tabellen te maken, 
kunt u SQL-opdrachten gebruiken in LibreOffice Base. Hier zijn enkele voorbeelden van 
SQL-opdrachten die u kunt gebruiken:

Om een nieuwe persoon toe te voegen aan de 'persoon' tabel:

    INSERT INTO persoon (voornaam, achternaam) VALUES ('Jan', 'Jansen');

Hierbij wordt een nieuwe persoon met de voornaam 'Jan' en de achternaam 'Jansen' toegevoegd aan de 
'persoon' tabel. Het 'persoon_id' wordt automatisch gegenereerd door de database.

Om een nieuw telefoonnummer toe te voegen aan de 'telefoonnummer' tabel:

    INSERT INTO telefoonnummer (telefoonnummer) VALUES ('0123456789');

Hierbij wordt een nieuw telefoonnummer '0123456789' toegevoegd aan de 'telefoonnummer' tabel. Het 
'telefoon_id' wordt automatisch gegenereerd door de database.

Om een relatie tussen een persoon en een telefoonnummer te maken in de 'persoon_telefoon' tabel:

    INSERT INTO persoon_telefoon (persoon_id, telefoon_id) VALUES (1, 1);

Hierbij wordt er een relatie gelegd tussen persoon met 'persoon_id' = 1 en telefoonnummer met 
'telefoon_id' = 1 in de 'persoon_telefoon' tabel. Dit betekent dat het telefoonnummer '0123456789' 
is toegewezen aan de persoon met 'persoon_id' = 1.

Om alle telefoonnummers op te halen voor een persoon met 'persoon_id' = 1:

    SELECT telefoonnummer FROM telefoonnummer
    JOIN persoon_telefoon ON telefoonnummer.telefoon_id = persoon_telefoon.telefoon_id
    WHERE persoon_telefoon.persoon_id = 1;

Hierbij wordt er een join gemaakt tussen de 'telefoonnummer' tabel en de 'persoon_telefoon' tabel 
op basis van 'telefoon_id'. De query filtert de resultaten op basis van de 'persoon_id' = 1 en 
haalt alle bijbehorende telefoonnummers op voor die persoon.

Dit zijn slechts enkele voorbeelden van SQL-opdrachten die u kunt gebruiken om records toe te 
voegen en te wijzigen in de verschillende tabellen en om de koppeling tussen de tabellen te maken. 
U kunt ook andere SQL-opdrachten gebruiken, afhankelijk van uw specifieke behoeften en de structuur 
van uw database.

--
Alex.

--
Unsubscribe instructions: E-mail to users+unsubscribe@nl.libreoffice.org
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/nl/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.