Meerdere invoergegevens tegelijkertijd wijzigen

Marco_88Marco_88 Member Posts: 9
edited 2009-04-17 in NAV Dutch speaking only
Beste mensen,

Voor een projectopdracht zouden wij graag willen weten of er een mogelijkheid bestaat om meerdere records te gelijkertijd aan te passen?

Momenteel gebeurt dit record voor record, wat veel tijd kost.

Voorbeeld:

Stel dat er bepaalde records ingevoerd zijn, dan kunnen deze op een ander tijdstip niet tegelijkertijd aangepast worden. Alle wijzigingen worden dan 1 voor 1 aangepast. Wat veel tijd kost.

bij voorbaat dank

mvg

marco

Comments

  • krikikriki Member, Moderator Posts: 9,112
    Met wat code is dat op the lossen: in de OnModify van de tabel kun je controlleren of een bepaald veld veranderd is met IF xrec."Veld A" <> "Veld A".

    Iets in deze aard:
    IF xrec."Veld A" <> "Veld A" THEN BEGIN
      recTable.RESET;
      recTable.SETCURRENTKEY(....);
      recTable.SETRANGE(....) // of SETFILTER. Hier moet je de filters ingeven om de records te selecteren waarin je dat veld wil aanpassen aan de nieuwe waarde
      IF recTable.FINDSET(TRUE,TRUE) THEN
        REPEAT
          IF (recTable."PK 1" <> "PK 1") OR (recTable."PK 2" <> "PK 2") OR ... THEN BEGIN
               // je mag het huidige record NIET aanpassen. Als je dat doet, krijg je een fout dat een andere gebruiker het record heeft aangepast nadat je uit deze loop bent.
            recTable2 := recTable;
            recTable2.VALIDATE("Veld A","Veld A);
            recTable2.MODIFY(FALSE);
          END;
        UNTIL recTable.NEXT = 0;
    END;
    
    Regards,Alain Krikilion
    No PM,please use the forum. || May the <SOLVED>-attribute be in your title!


  • Marco_88Marco_88 Member Posts: 9
    Alvast bedankt voor je reactie kriki,

    Wij zijn behoorlijke beginnens in het gebruik van navision. In welke modes kunnen wij deze aanpassingen doorvoeren? Object Designer, Designer of Navigation Pane Designer? En moeten wij deze aanpassingen invoeren voor beide tabellen?

    mvg Marco
  • krikikriki Member, Moderator Posts: 9,112
    Open object designer en dan zoek je de tabel en moet je in design gaan (PS:lees ook w1w1adg.pdf. Die vind je op de installatie-CD).

    Ik veronderstelde dat je records moest aanpassen in dezelfde tabel, vandaar de test op de primary key.

    Of je het in beide tabellen moet zetten, hangt af of je het automatisch aanpassen vanaf beide tabellen wilt laten vertrekken of niet.
    Dus als je altijd in tabel A werkt, dan moet je daarin de code zetten om tabel B aan te passen.
    Als je ook in tabel B werkt en dan tabel A wilt laten aanpassen, moet je ook daarin code zetten.
    Regards,Alain Krikilion
    No PM,please use the forum. || May the <SOLVED>-attribute be in your title!


  • Marco_88Marco_88 Member Posts: 9
    Bedankt voor je reactie Kriki,

    we gaan vandaag een aantal dingen testen. heb zelf nog een vraag?
    hoe kan ik het snelst zien of er bepaalde tabellen dezelfde informatie bevatten (database)?

    nogmaals bedankt
  • krikikriki Member, Moderator Posts: 9,112
    What bedoel je met "bepaalde tabellen dezelfde informatie bevatten"?
    Regards,Alain Krikilion
    No PM,please use the forum. || May the <SOLVED>-attribute be in your title!


  • Marco_88Marco_88 Member Posts: 9
    Bij deze organisatie waarvoor wij dit project uitvoeren, komt het voor dat er dubbele tabellen voorkomen in de database. Wij willen deze dezelfde tabellen analyseren. Hoe kunnen wij dit het beste aanpakken?

    MVG

    Marco
  • krikikriki Member, Moderator Posts: 9,112
    Dat hangt af van heel wat factoren.
    BVB:Als je weet welke tabellen gelijk zijn, dan zou ik die met een dataport exporteren en alle velden in een bepaalde volgorde zetten. Of als er velden zijn die in 1 tabel voorkomen en de andere niet, dan zou ik die weglaten.
    Daarna zou ik beide text-files analyseren op verschillen. (er zijn heel wat programma's op de markt voor dit.: beyond compare, PSPad,...)
    Regards,Alain Krikilion
    No PM,please use the forum. || May the <SOLVED>-attribute be in your title!


  • DenSterDenSter Member Posts: 8,307
    Marco 88 wrote:
    Bij deze organisatie waarvoor wij dit project uitvoeren, komt het voor dat er dubbele tabellen voorkomen in de database. Wij willen deze dezelfde tabellen analyseren. Hoe kunnen wij dit het beste aanpakken?
    Dat is een zeer algemene vraag, die veel verschillende antwoorden heeft. Het hangt helemaal af van wat je precies wil analyseren.
  • Marco_88Marco_88 Member Posts: 9
    Bij deze organisatie zijn de tabellen verdeelt onder de verschillende afdeling. Sommige tabellen worden door meerdere afdelingen gebruikt. Wij willen analyseren welke tabellen door welke afdelingen gebruikt worden en welke tabellen overtollig zijn.

    mvg Marco
  • Marco_88Marco_88 Member Posts: 9
    Voor een onderzoek van school hebben wij de volgende onderzoeksvraag meegekregen.

    Bestaat er binnen navision een mogelijkheid om van een bepaald object / artikel / toesteltype, dezelfde typen gegevens aan te passen?

    Voorbeeld:

    Stel dat een x aantal klanten dezelfde tv toestellen hebben, hiervan worden allerlei gegevens van bijgehouden. Denk hierbij aan garantieperiode (handmatige invoer), Aanschaf datum, Artikelnummer.

    Stel dat de garantieperiode gewijzigd dient te worden, dan dienen wij deze garantieperiode voor al deze type toestellen handmatig 1 op 1 te wijzigen. Bestaat er een mogelijkheid om eenmalig een actie uit te voeren waardoor alle garantieperiodes van het type toestel verandert?

    Alvast bedankt we zitten zeer in de maag met deze probleemstelling.

    Met vriendelijke groet,


    marco
  • MaximusMaximus Member Posts: 105
    Hoi Marco,

    die bestaat er zeker. Je gaat naar de tabel waar in staat welke klant welke TV heeft via de Object Designer (Shift + F12). Run de tabel (Ctrl + R). Vervolgens filter je daar op het juiste toestel. Vervolgens ga je op het veld Garantieperiode staan. Druk op Ctrl + H (Zoeken en Vervangen) en pas de Garantieperiode aan. Bv. zoeken naar 1J, vervangen door 2J. Klik op Alle vervangen. Navision past nu alle waarden voor je aan. Let op: je moet dit wel meerdere keren doen. Ondanks dat Navision zegt dat ie alle waarden 1J vervangen heeft door 2J is dit niet zo. Dit is iets sufs en heeft te maken met de sortering geloof ik. Wat je kan doen is een filter plaatsen op het veld Garantieperiode <>1J. Op een gegeven moment hou je geen records meer over op je scherm en weet je zeker dat alles vervangen is. Ik ga er trouwens voor het gemak even van uit dat het veld Garantieperiode van het Datatype DateFormula is. Succes!

    Gr. Max
  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
    He Maxxie, ken jij deze database toevallig ofzo. :mrgreen:

    Kom je nog eens in Apeldoorn een bakkie doen...
  • MaximusMaximus Member Posts: 105
    Hoi Mark,

    nee, database ken ik niet. Ik wil trouwens wel graag weten voor welke opleiding ik nu geslaagd ben :wink:

    Kom niet zo vaak in de buurt van Apeldoorn tegenwoordig. Zal aan je denken als ik weer eens die kant op ga.
    Ben je al zenuwachtig voor de komst van de Koningin? :D

    Groeten (ook aan Martijn), Max
  • Marije_BrummelMarije_Brummel Member, Moderators Design Patterns Posts: 4,262
    Nee, gewoon omdat je zo zeker van je zaak lijkt. Er kan natuurlijk god weet wat aan dat veld gekoppeld zijn. Geeft niks.

    Als de kunnigin hier is vlucht ik. Ben even kort op vakantie met d'n sleurhut.

    Amai, we hebben de thread gehijacked...
Sign In or Register to comment.