mibuso.com

Microsoft Business Solutions online community
It is currently Thu Oct 23, 2014 2:37 am

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Matrix Form met header gevuld met gegevens uit andere tabel
PostPosted: Wed May 25, 2011 1:56 pm 
Offline

Joined: Mon Dec 19, 2005 6:25 pm
Posts: 42
Location: Obdam
Een matrix formulier maken dat lukt mij maar de volgende lukt mij niet.

Ik probeer de volgende matrix formulier te maken maar weet niet hoe ik moet beginnen:

Ik wil vanuit tabel "document" de velden Docnr. | nr. | wijzigingsdatum en vanuit tabel "Document Link" (gekoppeld middels docnr.) het veld projectnr. aan de linkerkant van de Matrix plaatsen.(tijdelijke tabel?)

vanuit tabel vendor wil ik alle leveranciersnamen in de header plaatsen

Nu wil ik doormiddel van aankruisvelden aangeven dat een document gekoppeld is aan een leverancier en deze opslaan in een derde tabel.

elke keer als ik de matrix weer open dienen dan uiteraard de vinkjes op de juiste plek te staan.

is dit mogelijk?


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Fri May 27, 2011 10:19 am 
Offline

Joined: Sat Sep 25, 2004 2:04 am
Posts: 399
Location: Netherlands
Country: Netherlands (nl)
Ja, dat is te doen. Het uitleggen is een beetje lastig, vandaar heb ik een simpel voorbeeld in elkaar gezet waarmee je een relatie tussen een klant en een leverancier kunt aangeven, die wordt opgeslagen in een derde tabel.

Code: Select all
OBJECT Table 50000 Customer-Vendor relation
{
  OBJECT-PROPERTIES
  {
    Date=27-05-11;
    Time=10:04:01;
    Modified=Yes;
    Version List=;
  }
  PROPERTIES
  {
  }
  FIELDS
  {
    { 1   ;   ;Customer No.        ;Code20         }
    { 2   ;   ;Vendor No.          ;Code20         }
  }
  KEYS
  {
    {    ;Customer No.,Vendor No.                 ;Clustered=Yes }
  }
  CODE
  {

    BEGIN
    END.
  }
}

OBJECT Form 50000 Customer-Vendor relation
{
  OBJECT-PROPERTIES
  {
    Date=27-05-11;
    Time=10:13:17;
    Modified=Yes;
    Version List=;
  }
  PROPERTIES
  {
    Width=20790;
    Height=13860;
    SourceTable=Table18;
  }
  CONTROLS
  {
    { 1100481000;MatrixBox;220;440  ;20350;13200;Name=Matrix;
                                                 HorzGlue=Both;
                                                 VertGlue=Both;
                                                 MatrixColumnWidth=1980;
                                                 MatrixSourceTable=Table23;
                                                 OnAfterGetRecord=BEGIN
                                                                    HasRelation := Relations.GET(Rec."No.",CurrForm.Matrix.MatrixRec."No.") ;
                                                                  END;
                                                                   }
    { 1100481001;TextBox;318  ;4510 ;1700 ;440  ;ParentControl=1100481000;
                                                 InColumn=Yes;
                                                 SourceExpr="No." }
    { 1100481002;Label  ;0    ;0    ;0    ;0    ;ParentControl=1100481001;
                                                 InColumnHeading=Yes }
    { 1100481003;TextBox;2018 ;4510 ;4400 ;440  ;ParentControl=1100481000;
                                                 InColumn=Yes;
                                                 SourceExpr=Name }
    { 1100481004;Label  ;0    ;0    ;0    ;0    ;ParentControl=1100481003;
                                                 InColumnHeading=Yes }
    { 1100481005;CheckBox;13675;5170;13090;440  ;ParentControl=1100481000;
                                                 InMatrix=Yes;
                                                 ShowCaption=No;
                                                 SourceExpr=HasRelation;
                                                 OnAfterValidate=BEGIN
                                                                   IF HasRelation THEN
                                                                     BEGIN
                                                                       Relations.INIT ;
                                                                       Relations."Customer No." := Rec."No." ;
                                                                       Relations."Vendor No." := CurrForm.Matrix.MatrixRec."No." ;
                                                                       Relations.INSERT(TRUE) ;
                                                                     END
                                                                   ELSE
                                                                     BEGIN
                                                                       Relations.GET(Rec."No.",CurrForm.Matrix.MatrixRec."No.") ;
                                                                       Relations.DELETE ;
                                                                     END ;
                                                                 END;
                                                                  }
    { 1100481007;TextBox;13970;330  ;1700 ;440  ;ParentControl=1100481005;
                                                 InMatrixHeading=Yes;
                                                 SourceExpr=CurrForm.Matrix.MatrixRec."No." }
  }
  CODE
  {
    VAR
      HasRelation@1100481000 : Boolean;
      Relations@1100481001 : Record 50000;

    BEGIN
    END.
  }
}




Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 06, 2011 8:56 am 
Offline

Joined: Mon Dec 19, 2005 6:25 pm
Posts: 42
Location: Obdam
Bedankt voor je reactie.

Nog een aanpassing. De gegevens van de header dienen uit nog een andere tabel vandaan te komen en gefilterd te worden is dit mogelijk?


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 06, 2011 9:53 am 
Offline

Joined: Sat Sep 25, 2004 2:04 am
Posts: 399
Location: Netherlands
Country: Netherlands (nl)
rtames wrote:
Bedankt voor je reactie.

Nog een aanpassing. De gegevens van de header dienen uit nog een andere tabel vandaan te komen en gefilterd te worden is dit mogelijk?


Ik snap zo niet 1..2..3 wat je bedoeld, dus als je iets meer uitleg kunt geven dan kan ik misschien helpen.


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 06, 2011 9:59 am 
Offline

Joined: Mon Dec 19, 2005 6:25 pm
Posts: 42
Location: Obdam
Ik zou graag willen dat de header gegevens uit een tabel komen waar de leveranciers meerdere malen in voor kunnen komen. Echter wil ik de leverancier maar één keer in de header laten voorkomen.
het lukt mij niet om een filter plaatsen welke deze gegevens zo neerzet zoals ik dat wil.


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 06, 2011 10:53 am 
Offline

Joined: Sat Sep 25, 2004 2:04 am
Posts: 399
Location: Netherlands
Country: Netherlands (nl)
Waarom dan niet gewoon de leverancierstabel gebruiken ? en anders voeg een tijdelijke tabel toe aan de database, vul deze met alle leveranciers die je tegenkomt in je filtering en gebruik die als de header tabel.


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 06, 2011 10:57 am 
Offline

Joined: Mon Dec 19, 2005 6:25 pm
Posts: 42
Location: Obdam
het gaat er om dat er een selectie van leveranciers komt aangezien de lijst anders veel te groot is. aangezien ik nog niet zo'n zeer kundige programmeur ben lukt het mij niet om een tijdelijke tabel te vullen met het filter en deze te tonen in de header. kun je hier een begin voor geven?


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 06, 2011 1:45 pm 
Offline

Joined: Sat Sep 25, 2004 2:04 am
Posts: 399
Location: Netherlands
Country: Netherlands (nl)
Ik kan het niet helemaal voor je uitwerken ( geen tijd, en het is beter als je zelf experimenteert ), maar wat ik zou doen is een tabel aanmaken met een veld voor leveranciersnummer en aan gebruikers-ID ( voor het geval dat meerdere gebruikers hetzeflde form tegelijkertijd gebruiken.

Dan in je form deze tabel vullen met de unieke leveranciers uit je originele tabel, en dan deze gebruiken als headertabel.


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 06, 2011 4:27 pm 
Offline

Joined: Mon Dec 19, 2005 6:25 pm
Posts: 42
Location: Obdam
ik ben aardig onderweg echter lukt het mij niet om als de de leverancier reeds in de tijdelijke tabel staat deze niet opnieuw te kopieeren. heb je hier een tip voor?


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 06, 2011 4:47 pm 
Offline

Joined: Thu Oct 30, 2008 10:38 am
Posts: 1005
Location: Earth
Country: Netherlands (nl)
if not temptable.get(Vendorrec.No) then
begin
temptable.init;
temptable.copy(vendorrec);
temptable.insert;
end;

Ik hoop dat dit een goede hint is.

_________________
|Pressing F1 is so much faster than opening your browser|
|MCBMSS: 5.0 intro|MCTS:NAV09 839..841|JetReports© Certified Specialist|
|Dynamics Anywhere: Mobile Business Solutions|


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Wed Jun 08, 2011 12:34 pm 
Offline

Joined: Mon Dec 19, 2005 6:25 pm
Posts: 42
Location: Obdam
Als er nu 2 personen inloggen dan gaat het niet goed. Met één gebruiker werkt het perfect. Hij zou dus moeten ook moeten kijken in de tijdelijke tabel naar het veld gebruikersID. dus filterzetten op levno. en userid en als die al bestaat dan niet kopieeren.


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 20, 2011 4:45 pm 
Offline

Joined: Mon Dec 19, 2005 6:25 pm
Posts: 42
Location: Obdam
Dit is mij gelukt, bij het openen van het formulier wordt de tabel gevuld en in de matrixheader komen de juiste gegevens in beeld Dank hiervoor.

Echter wordt de matrixheader niet goed geupdate. Bij het openen van het form moet ik eerst een stuk naar rechts scrollen en hierna weer naar links om ervoor te zorgen dat de gegevens kloppen. wat doe ik fout?


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Tue Jun 21, 2011 10:34 am 
Offline

Joined: Thu Oct 30, 2008 10:38 am
Posts: 1005
Location: Earth
Country: Netherlands (nl)
Probeer dit eens even te verplaatsen naar onaftergetcurrrec
OnAfterGetRecord=BEGIN
HasRelation := Relations.GET(Rec."No.",CurrForm.Matrix.MatrixRec."No.") ;
END;

_________________
|Pressing F1 is so much faster than opening your browser|
|MCBMSS: 5.0 intro|MCTS:NAV09 839..841|JetReports© Certified Specialist|
|Dynamics Anywhere: Mobile Business Solutions|


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 27, 2011 12:38 pm 
Offline

Joined: Mon Dec 19, 2005 6:25 pm
Posts: 42
Location: Obdam
Helaas kent het form geen Hasrelation.

is er nog een andere manier om dit op te lossen?


Top
 Profile  
 
 Post subject: Re: Matrix Form met header gevuld met gegevens uit andere ta
PostPosted: Mon Jun 27, 2011 1:56 pm 
Offline

Joined: Thu Oct 30, 2008 10:38 am
Posts: 1005
Location: Earth
Country: Netherlands (nl)
Die hasrelation is gekopieerd van uw code.
wat er allemaal veranderd is sindsdien weet ik niet, maar ik zou alle code van matrixbox vanuit de onaftergetrec trigger naar de onaftergetcurrrec trigger zetten.

_________________
|Pressing F1 is so much faster than opening your browser|
|MCBMSS: 5.0 intro|MCTS:NAV09 839..841|JetReports© Certified Specialist|
|Dynamics Anywhere: Mobile Business Solutions|


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum


Search for:
Jump to: