set order to in "Do While" Schleife [erledigt]
Moderator: Moderatoren
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
set order to in "Do While" Schleife [erledigt]
Folgendes Problem.
ich habe 2 Tabellen geöffnet
use DDB1
index 1,2,3,4
use DB2
index 1,2,3
DO WHILE !EOF()
Hier werden Daten aus DB1 und DB2 verarbeitet
zur Prüfung eine Feldes muss ich auf einen Index z.B. DB1 index 3 zugreifen
Wie ist denn hier der Syntax für "SET ORDER TO .... " ?
DBSKIP()
ENDDO
Man könnte das bestimmt über SELECT() realisieren. Aber das geht doch bestimmt eleganter?
ich habe 2 Tabellen geöffnet
use DDB1
index 1,2,3,4
use DB2
index 1,2,3
DO WHILE !EOF()
Hier werden Daten aus DB1 und DB2 verarbeitet
zur Prüfung eine Feldes muss ich auf einen Index z.B. DB1 index 3 zugreifen
Wie ist denn hier der Syntax für "SET ORDER TO .... " ?
DBSKIP()
ENDDO
Man könnte das bestimmt über SELECT() realisieren. Aber das geht doch bestimmt eleganter?
Zuletzt geändert von Wolfgang_B am Do, 19. Jul 2018 23:08, insgesamt 1-mal geändert.
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2945
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: set order to in "Do While" Schleife
Den Index solltest du schon vor der Schleife setzen.
Oder du suchst mit bei dbseek mit indexnummer
Code: Alles auswählen
db1->(DbSetOrder(1))
do while !db2->(eof())
if db1->(dbseek(wasauchimmer))
....
endif
db2->(dbskip())
enddo
Code: Alles auswählen
db1->(dbseek(wasauchimmer,.F.,1))
Viele Grüße
Wolfgang
Wolfgang
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Re: set order to in "Do While" Schleife
Danke!
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: set order to in "Do While" Schleife [erledigt]
Ich habe mir vor einiger Zeit schon angewöhnt, bei einem DbSeek() grundsätzlich den dazugehörigen Index anzugeben. Dann muß ich mich nicht darüm kümmern, ob ich weiter oben irgendwann man den führenden Index ändere, womit das spätere Seek nicht mehr klappen würde. Und außerdem spare ich mit ein ständiges OrdSetFocus() hin-und-her, nur weil ich zwischendurch mal was auf einem anderen Index suchen will.
Jan
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Re: set order to in "Do While" Schleife [erledigt]
hast recht. Gute Methode -> btw. wer die Hilfe lesen kann ist durchaus im Vorteil
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
- brandelh
- Foren-Moderator
- Beiträge: 15706
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: set order to in "Do While" Schleife [erledigt]
Kann aber gefährlich werden, wenn man das vergisst und danach mit do while ! eof() ... durch die Datei skipped und die Reihenfolge nicht wie erwartet ausfällt
Gruß
Hubert
Hubert
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: set order to in "Do While" Schleife [erledigt]
Hubert,
Stimmt. In die Falle bin ichauch schon getappt. Da muß man natürlich aufpassen. Aber wenn man sich daran gewöhnt, den Index immer im DbSeek() einzubauen, dann ist auch ganz schnell die Gewohnheit da darauf zu achten, das man auch mal wirklich ein OrdSetFocus() machen muß. Das geht inzwischen schon ganz automatisch.
Jan
Stimmt. In die Falle bin ichauch schon getappt. Da muß man natürlich aufpassen. Aber wenn man sich daran gewöhnt, den Index immer im DbSeek() einzubauen, dann ist auch ganz schnell die Gewohnheit da darauf zu achten, das man auch mal wirklich ein OrdSetFocus() machen muß. Das geht inzwischen schon ganz automatisch.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.