Hallo,
wir sitzen an einer Hausarbeit und erstellen eine Software für eine Seminarverwaltung in VBA unter Excel 2007.
Nun möchten wir gerne durch das Drücken eines Buttons "Seminar ändern", dass das Seminar abgeändert wird. Dafür soll der User in eine Textbox den Seminartitel für das zu ändernde Seminar eingeben.
Darunter gibt es mehrere Textboxen, um auch die anderen Spalten in der Tabelle ändern zu können.
Nun passiert es, dass immer nur der Titel geändert wird, nicht aber die anderen Eingaben aus den Textfeldern. Woran kann dies liegen? Muss man jeweils con.open, con.close zwischen die einzelnen Variablen bauen?
Hier unser Code:
Private Sub cmdaendern_Click()
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As String
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\Seminarverwaltung.accdb"
cmd = "update Seminare set sem_beginn = '" & txtbeginn1.Value & "' where sem_titel= '" & txtaendern.Value & "'"
cmd = "update Seminare set sem_ende = '" & txtende1.Value & "' where sem_titel= '" & txtaendern.Value & "'"
cmd = "update Seminare set sem_thema = '" & txtthema1.Value & "' where sem_titel= '" & txtaendern.Value & "'"
cmd = "update Seminare set sem_max = '" & txtmax1.Value & "' where sem_titel= '" & txtaendern.Value & "'"
cmd = "update Seminare set sem_min = '" & txtmin1.Value & "' where sem_titel= '" & txtaendern.Value & "'"
cmd = "update Seminare Set sem_titel = '" & txttitel1.Value & "' where sem_titel= '" & txtaendern.Value & "'"
On Error GoTo Fehler
con.Open
Set rs = con.Execute(cmd)
rs.Close
con.Close
Exit Sub
Fehler:
MsgBox (Err.Description)
End Sub
Außerdem benötigen wir noch den richtigen Code für die LIKE-Funktion und eine Textbox. Es soll ein Seminartitel gesucht werden, aber auch die ungefähre Suche soll zu einer Auswertung führen.
Wie kann man dies formulieren?
cmd = "select from Seminarverwaltung (sem_titel, sem_dozent, sem_beginn, sem_ende, sem_thema, sem_max, sem_min) where sem_titel LIKE '*" & txtsuche.Value & "*'"
Außerdem würden wir noch gerne wissen, wie man Textfelder "clearen" kann, wenn man z.B. auf einen Zurück-Button klickt.
Worksheets("Sucherergebnisse").txtsuche = ""
Worksheets("Sucherergebnisse").txtname = ""
Worksheets("Sucherergebnisse").txtvorname = ""
Es wäre super, wenn uns jemand helfen kann! |