Terminkalender mit Datenbank DAO
Hallo,
Hab das jetz mal gemacht. Hoffe das ich bei dem obigen alles
richtig gemacht hab. Bei der Indexierung wähle ich unten DAtum
aus (Denke das war mit Schlüssel zufügen gemeint oder?)
Ja.
und
nen es Primaer. Bei der anderen Tabelle das selbe? Auch den
Namen Primär verwenden oder?
Auch ja. 
Wenn das alles so richtig ist dann hab ichs! 
Gut!
Dann mach ein neues Projekt auf, lege eine Combobox rauf, bei der stellst Du Style auf: 2 - Dorp Down Liste.
In die Eigenschaft Liste schreibst Du ‚Kalender‘ und in die nächste Zeile ‚Tagebuch‘ oder was immer Du willst, die Texte werden nicht benötigt. Den Namen der Combobox kannst Du lassen, wie VB ihn anlegt.
Dann kommt ein DTPicker auf die Form, da mußt Du nichts einstellen.
Dann eine TextBox, den Text entfernst Du, stellst Multiline auf true und Scrollbar auf Vertikal.
Dann kommt das Data-Steuerelement. Lege erst mal nur eins auf die Form.
In der Eigenschaft Databasename klickst Du auf die rechte Spalte, nun kannst Du Deine Datenbank auswählen. Wo Du sie hin geschrieben hast, weißt Du ja, wenn nicht, sieh noch einmal mit dem Assistenten nach.
Nun suchst Du die Eigenschaft ‚Recordsource‘ und stellst da die erste Tabelle ein.
Jetzt ein Rechtsklick auf das Data-Steuerelement und dann auf kopieren. Nun ein Rechtsklick auf die Form und ‚einfügen‘. VB fragt Dich dann, ob Du ein Steuerelementefeld erstellen willst, bestätige mit einem Klick auf ‚Ja‘, das wollen wir. 
In dem zweiten Data-Steuerelement ist schon fast alles richtig, Du mußt nur noch bei Recordsource die andere Tabelle angeben.
Danach stellst Du bei den Data-Steuerelementen die Eigenschaft ‚Visible‘ auf ‚False‘.
Fertig, nur noch den Code einfügen. Der sit so einfach, daß Du ihn sicher verstehen wirst, sonst frag einfach.
Option Explicit
Private Sub Form\_Load()
Me.Show
DTPicker1.Value = Date
End Sub
Private Sub Combo1\_Click()
Lesen
End Sub
Private Sub DTPicker1\_Change()
Lesen
End Sub
Private Sub Combo1\_GotFocus()
If Combo1.ListIndex \>= 0 Then
Schreiben
End If
End Sub
Private Sub DTPicker1\_GotFocus()
Schreiben
End Sub
Private Sub Schreiben()
Dim su As String
su = "Datum = #" + Format(DTPicker1.Value, "m-d-yy") + "#"
Data1(Combo1.ListIndex).Recordset.FindFirst su
If Data1(Combo1.ListIndex).Recordset.NoMatch = True Then
If Text1.Text "" Then
Data1(Combo1.ListIndex).Recordset.AddNew
Else
Exit Sub
End If
Else
If Text1.Text = "" Then
Data1(Combo1.ListIndex).Recordset.Delete
Exit Sub
Else
Data1(Combo1.ListIndex).Recordset.Edit
End If
End If
Data1(Combo1.ListIndex).Recordset("Datum") = DTPicker1.Value
Data1(Combo1.ListIndex).Recordset("Text") = Text1.Text
Data1(Combo1.ListIndex).Recordset.Update
End Sub
Private Sub Lesen()
Dim su As String
su = "Datum = #" + Format(DTPicker1.Value, "m-d-yy") + "#"
Data1(Combo1.ListIndex).Recordset.FindFirst su
If Data1(Combo1.ListIndex).Recordset.NoMatch = True Then
Text1.Text = ""
Else
Text1.Text = Data1(Combo1.ListIndex).Recordset("Text")
End If
End Sub
Das ist alles, mehr brauchst Du nicht.
Du kannst einfach Text in das Textfeld schreiben. Dann kannst Du mit der Combobox die Tabelle wechseln oder ein anderes Datum anwählen.
Wenn Du zur selben Tabelle und dem selben datum zurück gahst ist Dein Text wieder da. Du kannst ändern, löschen und neu eintragen, wie Du willst, das Programm kümmert sich automatisch um alles.
Gruß, Rainer
PS. Wenn Du den Beitrag abspeicherst, ist der Code leichter zu kopieren. 