Results 1 to 6 of 6

Thread: GUI invoeren record, checken voor bestaand record

  1. #1

    GUI invoeren record, checken voor bestaand record

    Hallo hallo

    Wat is een goede manier om de eindgebruiker erop te wijzen dat het record dat ze aan het invoeren zijn, (misschien) al bestaat?

    Bij voorbaat dank!

  2. #2
    Silly member NGLN's Avatar
    Join Date
    Aug 2004
    Location
    Werkendam
    Posts
    5,133
    Het allerbelangrijkste: verwijder de ingevoerde gegevens NIET. Geef de gebruiker minstens de kans zijn invoer te copy-pasten naar een nieuw record, naar het kladblok etc...

    Verder zou ik met een modal dialog de gebruiker erop attenderen dat er al een record met hetzelfde ID is toegevoegd. Modaal omdat het conflict eerst opgelost moet worden voordat er verder gegaan kan worden. Maar geef dan ook een mogelijkheid tot annuleren van dat modal dialog om het conflict later op te lossen, want het conflict oplossen zou meer tijd kunnen vragen dan dat de gebruiker op dit moment heeft. (Hierbij er vanuit gaande dat jouw applicatie meerdere vensters heeft.)

    Geef een overzicht van het reeds ingevoerde record (het andere record) en door wie dat wanneer is toegevoegd, en vervolgens de keuze om de wijzingen te overschrijven, te bewerken, te accepteren of te verwijderen (mits bevoegd).

    Of je de gebruiker daar tijdens het invoeren of achteraf op wilt attenderen maakt eigenlijk niet uit, maar is afhankelijk van of jouw applicatie een dergelijke trigger ondersteunt.

    En als laatste: hoe zou een record al misschien kunnen bestaan?
    (Sender as TNLDUser).Signature := 'Groeten van Albert';

  3. #3
    Marius
    Join Date
    Jul 2013
    Location
    Groningen
    Posts
    178
    Ik gebruik zelf een (generieke) validatie routine waarmee fout of waarschuwingsteksten in een stringlist worden gezet samen met een indicatie of het een fout of waarschuwing was zodat (enkel) het bewaren wordt geblokkeerd. De gebruiker kan de invoer dan controleren/verbeteren en opnieuw een poging doen. Naast de validatie is er ook een indicatie van verplicht in te vullen velden.

    In het kort, je hebt er erg veel werk van als je het invoer gedeelte goed wilt doen

  4. #4
    En als laatste: hoe zou een record al misschien kunnen bestaan?
    Dat is niet helemaal lekker uitgedrukt van mij. Wat ik bedoel is dat je niet zeker weet of bijvoorbeeld een klant al voorkomt in je database.
    Als er bijvoorbeeld iemand belt die een afspraak wil maken, dan wil ik in principe dat de gegevens van die persoon ingevoerd worden door de eindgebruiker alsof het altijd om een nieuwe klant gaat. Als tijdens dit invoer proces blijkt dat de klant waarschijnlijk al bekend is, dan wil ik dat de eindgebruiker deze gegevens ziet en kan verifiëren of het hier daadwerkelijk om de desbetreffende klant gaat. Eigenlijk ben ik op zoek naar een soort suggesties tijdens het typen, vergelijkbaar met dat van de zoekfunctie van Google.

    @Marius2 gebruik je een specifiek component voor die validatie? Ik heb weleens gewerkt met het validator component van JVCL en dat werkte op zich wel fijn. Het werkte alleen niet me data-aware controls omdat ik daar niet bij de properties kwam die ik wilde valideren. In combinatie met livebindings is het wel te gebruiken.

  5. #5
    Marius
    Join Date
    Jul 2013
    Location
    Groningen
    Posts
    178
    Ik heb nog nooit een component gezien die <alles kan> en dat goed kan doen, er zitten namelijk altijd heel specifieke controles en/of combinaties in die je niet kan samenvatten in een validator. Daarom schrijf ik het liever uit in code en dat principe werkt makkelijker dan designtime input en <niet geheel onbelangrijk> uitstekend te volgen en uitbreidbaar door mijn collega's dmv het bekende copy/paste principe

    Ik ken de JVCL validator niet echt (wil het niet gebruiken omdat het <nog?> niet multiplatform is), maar volgens de JVCL sources valideert het via de opgegeven control(s) en moet dat geconfigureerd worden op designtime en dus zou het ook voor dbcontrol(s) moeten werken (maar misschien zie ik iets over het hoofd want die validator is behoorlijk geadvanceerd). Per validator control kun je ook een OnValidate gebruiken dus alles is mogelijk.

  6. #6
    Silly member NGLN's Avatar
    Join Date
    Aug 2004
    Location
    Werkendam
    Posts
    5,133
    Quote Originally Posted by luigi View Post
    ... dan wil ik in principe ... alsof het altijd om een nieuwe klant gaat. Als tijdens dit invoer proces blijkt dat de klant al bekend is...
    Aha, dat is wat anders dan ik had begrepen. De belangrijkste keuze is met welke en hoeveel velden je wilt gaan vaststellen dat het om dezelfde klant gaat. Indien alleen naam, dan lijkt me dat de allereerste functie/verantwoordelijkheid van het formulier is om vast te stellen of het om nieuwe invoer of selecteren gaat. Dat staat dan dus helemaal los van de invoer van de klant. Indien naam, adres, etc..., dan moet je je gaan afvragen hoe jouw programma met adreswijzigingen om moet gaan.

    Wellicht is deze wens voor jouw programma en doelgroep functioneel, maar ik betwijfel of het invoeren "alsof het altijd om een nieuwe klant gaat" uiteindelijk echt duidelijk en gebruiksvriendelijk gaat worden. Volgens mij moet je de gebruikers gewoon trainen om eerst vast te stellen of het een bestaande klant is. Dat kun je simpelweg afdwingen in je formulier door de rest van de controls te disablen zolang er nog geen naam is geselecteerd. Ik noem maar wat.
    Last edited by NGLN; 07-Mar-15 at 23:34.
    (Sender as TNLDUser).Signature := 'Groeten van Albert';

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •