WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Software (http://www.wcm.at/forum/forumdisplay.php?f=5)
-   -   access (http://www.wcm.at/forum/showthread.php?t=180062)

hoshibrother 06.12.2005 17:18

access
 
hallo leute!

habe im access folgendes problem: ich möchte eine spalte fortlaufend numerieren (jetzt bitte nicht autowert angeben, da dieser beim löschen des datensatzes genauso gelöscht wird).

ich will also eine nummer haben, die sich, wie im excel, automatisch um 1 erhöht, abhängig von der vorigen zeile.

chrisne 07.12.2005 15:14

wenn du nicht die eigenschaft "autowert" haben willst, dann bleibt dir nix anderes über als ein kleines modul dafür zu schreiben:
naschauen welche nummer der letzte eintrag in der tabelle hat und dann plus ein dazu.

wo genau liegt das problem?

gruss

hoshibrother 07.12.2005 16:36

das problem liegt dabei, dass ich für unsere firma eine db aufbaue, in denen zukünftige projekte eingetragen werden sollen. durch eine fortlaufende nummer soll jedem projekt eine nummer zugeteilt werden (ist wichtig für die weiterverarbeitung).

mein problem ist, dass der autowert nur einmal vergeben wird. wird also ein datensatz gelöscht, ist der wert auch weg und damit kann ich nicht mehr genau sagen, wie viel projekte derzeit aktuell sind.

deswegen will ich eine spalte einbauen, die sich pro datensatz um 1 erhöht.

Oli 07.12.2005 18:30

Das würde ich anders lösen.

Mit dem Autowert teilst dem Projekt eine eindeutige (einmalige) Nr. zu. Das ist OK.

Willst jetzt feststellen, welche Projekte aktiv sind, kannst ja das viel besser mit einer Abfrage lösen, die die Datensätze zählt.

Ausserdem würde ich für diese Anwendung das Löschen von Datensätzen nicht physisch erlauben, sondern durch einen Marker. Also ein eigenes Feld (STATUS), wo der Projektstatus vermerkt wird. Z.B.

NEU, ZUGETEILT, IN ARBEIT, GELÖSCHT, etc.

Damit hast in der DB auch die ganze History für spätere Abfragen zur Verfügung.

Ciao Oliver

utakurt 07.12.2005 18:38

...genau so sollte die datenbank designed werden - keinen datensatz löschen, sondern ineiner eignen Spalte auf inaktiv/Stillgelegt etc setzen!

Ist zB sinnvoll, wenn mit Deinen Projekten in der DB Arbeiten / Rechnungen / Kosten /Mitarbeiter verbindest!

Nur weil Du dann das Projekt löscht, sind ja zB die Kosten nicht weg!!!:lol: Leider!

So hast Du immer die Möglichkeit abzufragen, wieviel die stillgelegten projekte gekostet haben, welche Mitarbeiter mitgewirkt usw!

Alles klar?

chrisne 07.12.2005 23:12

manchmal macht es schon sinn daten zu löschen.
warum denkt euch einfach ;)

hoshibrother 08.12.2005 17:37

ich denke mir halt, wenn man daten löschen kann, dann wird das ganze nicht mehr so unübersichtlich.

testi 10.12.2005 13:28

unübersichtlich:confused:

Wenn man eine DB hat, schaut man nicht direkt in die Daten rein, sonder
holt sich mittels Abfragen genau die Daten die man benötigt.
Das ist der Sinn und Zweck einer DB.
Desweiteren kann ich den anderen (ausser chrisne) nur recht geben.
Nie Datensätze aus einer DB löschen, nur als gelöscht markieren (wie damals bei den DBase:-) )
Die DB-Performance beim Gelöschtmarker setzten ist ausserdem bei weiten höher als wirklich einen Datensatz zu löschen.
Denn beim Löschen muss die ganze DB wieder Indiziert werden.


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag