deutschsprachige FoxPro User Group
Forum View
Home
  
  Set Relation- #24367 in section [744037]
Sec: (1) Allgemeines
Von: Bernhard Sander
An: Harro Schippan
Am/Um: 12.07.2024 17:49:54 gelesen

Hallo Harro,


 

Brauche mal bitte einen Anschub.
Habe mir mit SET RRELATION eine Struktur aufgebaut.

Jetzt möchte ich durch die per Programm durch die Struktur durcharbeiten,
Mit SCAN ENDSCAN geht das wohl nicht. Sie Muster unten.

Der SCAN ENDSCAN im ersten SCAN läuft durch ALLE Datensätze.

Wie mache ich das richtig???

Danke für Hilfe

Gruß Harro

*****************************************************************************
SELECT CurSuchBelege
SET RELATION TO SerienNr                            INTO CurSelMaschinen  ADDITIVE 
SET RELATION TO STR(LfdNummer,7,0)+ALLTRIM(BelegNr) INTO CurZW            ADDITIVE 


SELECT CurSelMaschinen 
SET RELATION TO MaschrecNr                          INTO CurEKKopPreise   ADDITIVE 
SET RELATION TO MaschRecNr                          INTO CurSelVtrPos     ADDITIVE 

SELECT CurSuchBelege
SCAN FOR BelegNr = "0608628282"
    ? "Such", Maschrecnr
    SELECT CurSelVtrPos     
    SCAN  
        ? "vtr",MaschRecNr
    ENDSCAN 
ENDSCAN 

? "fertig"
*****************************************************************************




Warum der äußere SCAN durch alle Datensätze läuft ist mir schleierhaft.

Zum inneren SCAN ein paar Anmerkungen:
Der läuft durch alle Datensätze "seiner" Tabelle. Ich nehme an, Du willst nur die wissen, die in Relation zur Elterntabelle stehen.
Da bietet sich an, zumal diese Tabelle einen aktiven Index nach dem relationsfeld haben muss und beim Wechsel in diesen Arbeitsbereich bereits der erste passende Satz aktiv ist:
 
SCAN REST WHILE CurSuchBelege.MaschRechnr=CurSelVtrPos.
ENDSCAN

lt. Doku schaltet die Zeile ENDSCAN immer automatisch in den Arbeitsbereich der zugehörigen SCAN-Anweisung.

Alternativ statt "REST WHILE" kann man auch mit SET KEY arbeiten:
 
SCAN (aussen)
SELECT CurSelVtrPos
SET KEY TO CurSuchBelege.SerienNr
SCAN
ENDSCAN
ENDSCAN


Viele Grüße
Bernhard Sander



Harro Schippan   10.07.2024 14:41
Cyprian Kuschka  11.07.2024 15:03
Harro Schippan  11.07.2024 15:11
Bernhard Sander  12.07.2024 17:49
  
zurück zum Forum