Speichern eines aufgerugenes Formular in einem and

Hallo leute,
ich erstelle eine Datenbank für Patienten und habe folgendes Problem.
wenn der Patient X kommt zum ersten mal erhält er eine ID Nummer und seine Daten sind mit diesen ID im Formular geschreiben und gespeichert.Wenn er zum zweiten mal kommt, suche ich seine ID im Formular und bekomme sein Formular mit ausgefüllte Daten. wenn ich nun einige Daten von diesem Formular ändere z.B das Datum möchte ich aber dass das Formular irgendwo geschrieben wird oder in einem anderen Datensatz damit ich nachvollziehen kann, wie oft der Patient X eine Untersuchung hatte und an welchem Datum.

Jetzt wenn ich das Formular aufrufe und Daten ändere, es überschreibt sich nur im Tabelle . Kann mir jemand helfen?

Mein code für ID suchen ist folgende:

Dim sql As String
Dim rs As DAO.Recordset
Dim ID As Long

Me.TextIdSuchen.SetFocus
ID = Val(Me.TextIdSuchen.Text)

sql = "select ID from tblStatistik where ID = " & ID

Set rs = CurrentDb.OpenRecordset(sql)

If rs.RecordCount > 0 Then
ID = rs.Fields(0)
sql = "select * from tblStatistik where ID = " & ID
Set rs = CurrentDb.OpenRecordset(sql)

'Set rs = CurrentDb.OpenRecordset(sql)
DoCmd.OpenForm „frmStatistik“, , (sql)

Else
MsgBox "Diese ID Nummer existiert nicht. Geben Sie bitte eine vorhandene ein ! ", vbCritical + vbSystemModal

End If

Hi,

ich habe zwar nicht die blasseste Ahnung was du für eine Datenbank hast, und mit deinem Code kann ich auch nicht viel anfangen, aber 1 Frage:
speicherst du alles in einer Tabelle ?
Dann machst du wahrscheinlich immer ein update auf den Datensatz. damit überschreibst du dann immer die alten Einträge

Wenn ja, dann würde ich das trennen, der Patient mit seinen Daten (Adresse, Tel…) kommt in eine Patiententabelle mit seiner ID. Das Untersuchungsdatum und alle Untersuchungsergebnisse die mit gespeichert werden, kommen in eine zweite Tabelle.

Updates werden nur auf die Patiententabelle gemacht (wenn der Patient umzieht, oder heiratet…)
Die restlichen Daten werden per Insert in die Untersuchungstabelle geschrieben, inc. der PatientenID. Dann kannst du nacher auch alle Untersuchungstermine zusammen mit dem Patienten aufrufen.

Sag bescheid wenn ich dich total falsch verstanden habe… :wink:

Grüße

Chris

Moin,

leg eine zusätzliche Tabelle „Untersuchung“ an und eine Beziehung Patient > Untersuchung. Dann bleiben die sogenannten Stammdaten unverändert, und das Datum des jeweiligen Erscheinens in der Praxis legst Du bei der Untersuchung ab.

Dein Code lässt auf MS Access schließen, dafür gibt es ein eigenes Brett. Gar nicht weit weg - in Sicht-, nein, Spuckweite :smile:

Gruß Ralf

Hi!

Da Du hier im SQL-Brett postest, behaupt ich mal, daß Dein Access-Code in keiner SQL-Umgebung läuft. Und da Du keine DB angibst, nehme ich mal an, daß Du Oracle mit dem Access-Zeugs programmierst.
Hier könnte eine Journaltabelle z.b. Abhilfe schaffen, oder aber auch - wie schon von Ralf beschrieben - eine weitere Tabelle bzgl. „Untersuchungen“.
Falls Journal, würde ich dies unter Oracle mittels einem Before-Update-Tabellentrigger bewerkstelligen, um die Journaltabelle zu befüllen …

Grüße,
Tomh

PS: Ralf, bitte ein Taschentuch - „Spuckweite“ stimmt wirklich :wink: