Case of : (Form event=On Load) DEFAULT TABLE([Personen]) DO (18)  `die arrays für popups füllen - nix in der db ! vAPPtalk:="Willkommen zu PIOS." vF1text:="Link Ort" vF2text:="Kick Ort" vF3text:="Link Komm." vF4text:="Kick Komm." vF5text:="Find Name" vF6text:="Find ID#" vF7text:="---" vF8text:="NEUER Satz" vF9text:="Adr. to Clip" vF10text:="ALL to Clip" vF11text:="Brief" vF12text:="Fax" vOlink:=False vKlink:=False ALL RECORDS([Personen]) FIRST RECORD([Personen]) RELATE ONE([Personen]) DO (14)  `subrecs select & zählen und vars kopiern (auch 8/9 für k und o) DO (10)  `person vars kopieren DO (16)  `radios off vR_D1:=1 DO (17)  `radios kopieren PLAY("FEHLT") : (Form event=(On Clicked)) Case of : (bAdd=1)  `DAS IST SAVE !!! bAdd:=0 vDataOK:=True If (Record number([Personen])=-3)  `dann ist es new ! $neupos:=True Else $neupos:=False End if DO (13)  `personen arrays in record DO (12)  `orte arrays in record DO (11)  `kontakte arrays in record If (vDataOK=True) DO (7) End if vDataOK:=False If ($neupos=True) ALL RECORDS([Personen]) FIRST RECORD([Personen]) RELATE ONE([Personen]) End if DO (16)  `radios off vR_D1:=1 DO (17)  `radios kopiere DO (14)  `select, count, copy in var K&O DO (10)  `p copy arrays in var End if   `von append save : (bF01=1) bF01:=0 PLAY("GUT") : (bF02=1) bF02:=0 PLAY("GUT") : (bF03=1) bF03:=0 PLAY("GUT") : (bF04=1) bF04:=0 PLAY("GUT") : (bF05=1) bF05:=0 PLAY("lesen") : (bF06=1) bF06:=0 PLAY("lesen") : (bF07=1) bF07:=0 PLAY("lesen") : (bF08=1) bF08:=0 CREATE RECORD([Personen]) CREATE RECORD([Orte]) CREATE SUBRECORD([Orte]Data) CREATE RECORD([Kontakte]) CREATE SUBRECORD([Kontakte]Data) DO (10)  `person in vars DO (14)  `o und k in vars [Personen]ID:=Sequence number([Personen]) [Orte]ID:=Sequence number([Orte]) [Kontakte]ID:=Sequence number([Kontakte]) [Personen]Ort:=[Orte]ID  `sonst wärs weg :-) [Personen]Kontakt:=[Kontakte]ID [Kontakte]Log:="KONTAKT NEU "+Char(13)+String(Current date)+" / "+String(Current time)+Char(13)+"Station :"+Current machine+" # Owner:"+Current machine owner+Char(13)+"USER :"+Current user+Char(13) [Orte]Log:="ORT NEU "+Char(13)+String(Current date)+" / "+String(Current time)+Char(13)+"Station :"+Current machine+" # Owner:"+Current machine owner+Char(13)+"USER :"+Current user+Char(13) [Personen]Log:="PERSON NEU "+Char(13)+String(Current date)+" / "+String(Current time)+Char(13)+"Station :"+Current machine+" # Owner:"+Current machine owner+Char(13)+"USER :"+Current user+Char(13) arrPre:=1 arrSuf:=1 arrP_Typ:=1 arrO_Typ:=1 arr_Land:=1 arrK_Typ:=1 arr_k1:=2 arr_k2:=3 arr_k3:=4 DO (15)  `buttons : (bF09=1) bF09:=0 PLAY("fehlt") : (bF10=1) bF10:=0 PLAY("fehlt") : (bF11=1) bF11:=0 PLAY("fehlt") : (bF12=1) bF12:=0 PLAY("fehlt") : (bNext=1) bNext:=0 DO (4) NEXT RECORD([Personen]) If (End selection([Personen]) FIRST RECORD([Personen]) End if RELATE ONE([Personen]) DO (14)  `beide subrecs auf first und copys arrays (auto 8/9) DO (10)  `personen arrays DO (16)  `radios off vR_D1:=1  `und auch anzeigen DO (17)  `copy on selected radio : (bPrevious=1) bPrevious:=0 DO (4) PREVIOUS RECORD([Personen]) If (Before selection([Personen]) LAST RECORD([Personen]) End if RELATE ONE([Personen]) DO (14)  `beide subrecs auf first und copys arrays (auto 8/9) DO (10)  `personen arrays DO (16)  `radios off vR_D1:=1  `und auch anzeigen DO (17)  `copy on selected radio : (bFirst=1) bFirst:=0 DO (4) ALL RECORDS([Personen]) FIRST RECORD([Personen]) RELATE ONE([Personen]) DO (14)  `beide subrecs auf first und copys arrays (auto 8/9) DO (10)  `personen arrays DO (16)  `radios off vR_D1:=1  `und auch anzeigen DO (17)  `copy on selected radio : (bLast=1) bLast:=0 DO (4) ALL RECORDS([Personen]) LAST RECORD([Personen]) RELATE ONE([Personen]) DO (14)  `beide subrecs auf first und copys arrays (auto 8/9) DO (10)  `personen arrays DO (16)  `radios off vR_D1:=1  `und auch anzeigen DO (17)  `copy on selected radio : (bOPrevPage=1) bOPrevPage:=0 DO (5) PREVIOUS SUBRECORD([Orte]Data) If (before subselction([Orte]Data)) LAST SUBRECORD([Orte]Data) End if DO (8)  `copy record in var : (bONextPage=1) bONextPage:=0 DO (5) NEXT SUBRECORD([Orte]Data) If (End subselection([Orte]Data)) FIRST SUBRECORD([Orte]Data) End if DO (8)  `copy record in var : (bKPrevPage=1) bKPrevPage:=0 DO (6) PREVIOUS SUBRECORD([Kontakte]Data) If (Before subselection([Kontakte]Data)) LAST SUBRECORD([Kontakte]Data) End if DO (9)  `copy record in var : (bKNextPage=1) bKNextPage:=0 DO (6) NEXT SUBRECORD([Kontakte]Data) If (End subselection([Kontakte]Data)) FIRST SUBRECORD([Kontakte]Data) End if DO (9)  `copy record in var : (vR_D1=1) DO (16) vR_D1:=1 DO (17)  `hier erstmal enterable, dann copy zurück : (vR_D2=1) DO (16) vR_D2:=1 DO (17) : (vR_D3=1) DO (16) vR_D3:=1 DO (17) : (vR_D4=1) DO (16) vR_D4:=1 DO (17) : (vR_D5=1) DO (16) vR_D5:=1 DO (17) : (vR_D6=1) DO (16) vR_D6:=1 DO (17) End case   `of clicked DO (15)  `besser ist das nach einem click vOPOS:=Record number([Orte]Data) vKPOS:=Record number([Kontakte]Data) : (Form event=On Unload) CLEAR VARIABLE(arrP_Typ) CLEAR VARIABLE(arrO_Typ) CLEAR VARIABLE(arrK_Typ) CLEAR VARIABLE(arrSuf) CLEAR VARIABLE(arrPre) CLEAR VARIABLE(arr_Land) CLEAR VARIABLE(arr_k1) CLEAR VARIABLE(arr_k2) CLEAR VARIABLE(arr_k3) End case