ich habe eine Userform erstellt, wo zu allererst die Bestelldaten aus einer Access Datenbank eingelesen werden und ich über 2 Option-Buttons auswählen kann, ob ich entweder alle Preise änderen möchte oder nur die einer bestimmten Kategorie (Auswahl der Kategorien über eine Combo-Box). Hierbei wird dann ein Wert in % in ein Textfeld angegeben, in wie weit sich der Preis erhöhen soll.
Die Ausgabe der kompletten, aktualisierten Daten soll dann in Tabelle1 erfolgen.
Bei mir erfolgt aber keine Ausgabe der Daten, wenn ich die Prozedur starte und auf den Command Button klicke, geschieht nichts, es kommt auch keine Fehlermeldung. Die Kategorien werden mir normal beim starten der Userform als Auswahl in der Combo-Box angezeigt.
Was mache ich falsch?
Option Explicit
Private Sub cmdPreis_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim Pfad As String
Pfad = "J:\Bestelldaten"
With Worksheets("Tabelle1")
.Activate
Set db = DAO.OpenDatabase(Pfad)
Set rs = db.OpenRecordset("Artikel", dbOpenDynaset)
If Me.optAlle = True Then
Do Until rs.EOF = True
rs.Edit
rs.Fields("Einzelpreis").Value = rs.Fields("Einzelpreis") * CDbl(Me.txtPreisä _
nderung.Value)
rs.Update
rs.MoveNext
Loop
ElseIf Me.optKategorie = True Then
Do Until rs.EOF = True
rs.Edit
rs.Fields("Einzelpreis").Value = rs.Fields("Einzelpreis") * CDbl(Me.txtPreisä _
nderung.Value)
rs.Update
rs.MoveNext
Loop
End If
.Range("A1").CopyFromRecordset rs
End With
End Sub
Private Sub optAlle_Click()
If Me.optAlle = True Then
Me.cboKategorie.Enabled = False
End If
End Sub
Private Sub optKategorie_Click()
If Me.cboKategorie = True Then
Me.cboKategorie.Enabled = True
End If
End Sub
Private Sub UserForm_Initialize()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim Pfad As String
Pfad = "J:\Bestelldaten"
Set db = DAO.OpenDatabase(Pfad)
Set rs = db.OpenRecordset("Kategorien", dbOpenDynaset)
Me.cboKategorie.ColumnCount = 2
Do Until rs.EOF = True
Me.cboKategorie.AddItem
Me.cboKategorie.List(Me.cboKategorie.ListCount - 1, 0) = rs.Fields("Kategorie-Nr")
Me.cboKategorie.List(Me.cboKategorie.ListCount - 1, 1) = rs.Fields("Kategoriename")
Me.cboKategorie.BoundColumn = 1
Me.cboKategorie.ColumnWidths = "0;3"
rs.MoveNext
Loop
End Sub