Entwickler-Ecke
Datenbanken - Table1.RecNo
qball - Mi 18.02.04 17:19
Titel: Table1.RecNo
ich will in einem editfeld anzeigen, der wievielte datensatz gerade angezeigt wird. ich habe das folgendermaßen gelöst:
Quelltext
1:
| edit2.text:=inttostr(table1.RecNo); |
nun habe ich festgestellt, dass ehemalige, mittlerweile wieder gelöschte datensätze aber auch mitgezählt werden. wie krieg ich nun hin, dass es mir wirklich nur die aktuelle datensatz-position angibt?
(das problem ist mir zumindest am ende der tabelle aufgefallen. ich hatte 195 datensätze, habe einen hinzugefügt -> 196, den dann wieder gelöscht und wieder einen hinzugefügt, auf einmal warens 197 usw.)
Anfänger - Mi 18.02.04 21:35
Titel: Re: Table1.RecNo
Ja, habe ich gehört..
Soweit ich weiß ist das nur bei DBase- Datenbanken so.
Aber bei paradox sollte das soweit ich weiß nicht sein.
Ich bin kein Benutzer von DBase also habe ich auch nicht viel Ahnung...
Ich würde eine Voraussetzung eingeben, dass der Inhalt nicht leer sein darf (<>'').
Habs allerdings nicht ausprobiert.
Solltest vielleicht eine kleine Schleife bauen, in der er mit dem beschriebenen Befehl die Datensätze mit Inhalt sucht und auszählt.
qball - Mi 18.02.04 23:50
kann ich eventuell die dbase-tabelle ins paradox-format konvertieren?
edit: habe versucht, die leeren datensätze zu löschen. die sind aber nicht anwählbar. es werden lediglich die positionsnummern sozusagen "reserviert". was tun???
jjturbo - Do 19.02.04 09:34
Es ist in der Tat so, daß bei DBase gelöschte Datensätze weiterhin eine RecNo belegen. Irgendwo meine ich mal gesehen zu haben, daß es eine Möglichkeit gibt (Komprimieren? glaube ich), diese Datensätze zu eliminieren. Ich bin irgendwann auf Paradox umgestiegen, da gibt es dieses Problem nicht. Außerdem hat man auch noch ein paar andere Möglichkeiten, z.B. funktioniert INSERT auch wie erwartet...
Ich habe ein kleines Tool geschrieben, welches DBase-Dateien als Paradox speichern kann.
Wird bei Interesse veröffentlicht.
Gruß, jjturbo
qball - Do 19.02.04 14:08
oh ja, so ein tool wäre super! ich habe nämlich versucht, die table zu packen, will aber nicht so recht...
also wenn du mir das geben könntest, wäre ich dir echt dankbar
grayfox - Do 19.02.04 17:08
hallo qball!
Zitat: |
will aber nicht so recht |
und wie äussert sich das nicht so recht wollen? :?
glaubst nicht, dass du deine 196 datensätze selbst in eine paradox-tabelle schaufeln kannst?
schliesslich ist das hier ein programmiererforum *g*
ich würde folgendermassen vorgehen
- mit hilfe der DBO eine paradox-tabelle anlegen
- 2 tables auf meine form ziehen
- einen tbl_dbase und en anderen tbl_paradox nennen
- beide tables öffnen
- solange dbase.eof nicht falsch ist...
- beim paradoxtable ein append machen
- die feldinhalte aus dem dbase-table in den paradox-table schaufeln
- paradox.post und dbase.next nicht vergessen! :twisted:
- tables schliessen
- meldung 'fertig' anzeigen lassen
hoffentlich sind danach alle datensätze gut angekommen
fürs nächste mal kannst dir
batchmove ansehen, damit funktioniert das datenschaufeln mit weniger aufwand...
mfg, stefan
jjturbo - Mo 23.02.04 09:13
Grayfox hat natürlich recht: Zwei Tables erstellen, eine zeigt auf die DBase, die andere auf die Paradox, dann alle Daten sätze mit TBatchmove kopieren und feddich...
grayfox - Mo 23.02.04 12:11
Zitat: |
Grayfox hat natürlich recht |
§1 ich hab immer recht
§2 hab ich einmal nicht recht, siehe §1 :twisted:
oft verliert man durch suchen einer passenden komponente, die das gewünschte kann, den blick fürs wesentliche.
wenn ich schnell tabelleninhalte invertieren will/muss, dann nehm ich das auf die oben beschriebene art und weise in angriff
mfg, stefan
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!