Hallo Stefan, hier ein paar grunds�tzliche Gedanken zu deiner Zimmerverwaltung:
Durch ein st�ndiges Update deiner Zimmerliste mit neuen Bewohnern vergibst du viele Chancen, die M�glichkeiten einer Datenbank zu nutzen. Was h�lst du von streng getrennten Tabellen, etwa so:? 1.) TabZimmer ZimmerID ZimmerNummer ZimmerMerkmal01 ZimmerMerkmal02 ZimmerMerkmal... 2.) TabBewohner BewohnerID BewohnerName BewohnerVorname BewohnerMerkmal01... 3.) - Verbindungstabelle - TabZimmerBewohner ZimmerBewohnerID ZimmerID BewohnerID DatumEinzug DatumAuszug TabZimmerBewohnerMerkmal01... [ 4.a) w�re noch elegeanter] TabStudium StudiumID StudiumFach [ 4.b) - Verbindungstabelle - ] TabStudiumBewohner StudiumBewohnerID StudiumID BewohnerID Erfassungsdatum Wichtig: Es werden keine Tabelleneintr�ge gel�scht, sondern immer neu drangeh�ngt ----------------------------------------- Mit so einer Aufteilung kann man eine Menge anfangen, z.B.: Wie h�ufig wird innerhalb des Wohnheims umgezogen? Wie lange wohnen die Leute dort? Wie hie� denn noch mal der Bewohner, der vorletzten Sommer da und da gewohnt hat? Bewohner welchen Zimmers wechseln am h�ufigsten das Studienfach ? ;-) Das sch�ne mit solchen Tabellen-Aufteilungen ist, dass man auch viel sp�ter noch Aufgaben, die einem momentan noch gar nicht in den Sinn kommen, ganz simpel l�sen kann. Ich hoffe, das klang jetzt nicht besserwisserisch Gru� J�rgen ----------------------------------- J�rgen Pekruhl [EMAIL PROTECTED] +49 521 92 57 622 TNS EMNID Bielefeld Stieghorster Str. 90 D - 33605 Bielefeld > -----Urspr�ngliche Nachricht----- > Von: Stefan H�sler [mailto:[EMAIL PROTECTED]] > Gesendet: Samstag, 13. Oktober 2001 12:12 > An: ASP Datenbankprogrammierung > Betreff: [aspdedatabase] Update von Prim�rschl�ssel > > > Hallo! > > Ich habe eine Datenbank mit einer Zimmerliste (Zimmerverwaltung eines > Studentenheimes). Die besteht aus Vorname, Nachname, Zimmernummer und > Studium. Die Zimmernummer ist der Prim�rschl�ssel. > Wenn ich versuche, einen Bewohner in ein neues Zimmer einzuquartieren, > bekomme ich folgende Fehlermeldung: > > --- > > Microsoft OLE DB Provider for ODBC Drivers-Fehler '80040e2f' > > [Microsoft][ODBC Microsoft Access Driver] Die von Ihnen vorgenommenen > �nderungen an der Tabelle konnten nicht vorgenommen werden, da der Index, > Prim�rschl�ssel oder die Beziehung mehrfach vorkommende Werte enthalten > w�rde. �ndern Sie die Daten in den Feldern, die gleiche Daten enthalten, > entfernen Sie den Index, oder definieren Sie den Index neu, damit doppelte > Eintr�ge m�glich sind, und versuchen Sie es erneut. > > /heim/db/zimmeradmin/change.asp, Zeile 33 > > --- > > Hier der Code mit dem ich die �nderung durchf�hren will: > > --- > Set conn = CreateObject("ADODB.Connection") > conn.Open strConnection > Set rs = CreateObject ("ADODB.Recordset") > Set rs.ActiveConnection = conn > rs.Cursortype = 1 > rs.Locktype = 3 > rs.Source = "SELECT * FROM zimmer WHERE Zimmernummer =" & > Request.Form("Zimmer") > > rs.Open > rs.fields("nachname") = Request.Form ("nachname") > rs.fields("vorname") = Request.Form ("vorname") > rs.fields("Zimmernummer") = Request.Form ("Zimmernummer") > rs.fields("Studium") = Request.Form ("Studium") > rs.Update > > --- > > Was ist hier falsch und wie mache ich es richtig? > > Danke > > Stefan > > > | [aspdedatabase] als [EMAIL PROTECTED] subscribed > | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv > | Sie k�nnen sich unter folgender URL an- und abmelden: > | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp > | [aspdedatabase] als [email protected] subscribed | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
