Hallo Wb-Soft
Erstmal Danke für Deine Geduld.
Deine Tipps werde ich versuchen zu beherzigen, aber mit Klassen hab ich noch gar keine Erfahrung.
Ich starte jetzt meinen letzten Versuch, da Du sicher besseres zu tun hast, und wenn ich es dann nicht raffe fliegt die Tabelle raus.
Case 5 ' wenn Schaltfläche Bücher gedrückt wird
lblÜberschrift.Caption = "Übersicht Bücher"
Image2.Visible = True
Image2.Picture = LoadPicture("")
txtRichTextBox.Visible = True
' Datenbank öffnen
If dbOpen(App.Path & "\dbCover.mdb") Then
' Recordset-Objekt erstellen
sSQL = "SELECT BuchID, Name, Autor, Verlag, ISBN, Cover FROM Buecher ORDER" & _
"BY Name"
oRs.CursorLocation = adUseClient
oRs.Open sSQL, oConn, adOpenStatic, adLockOptimistic
With Grid1
' autom. Neuzeichnen ausschalten
.LockUpdate True
.Clear True
.Width = 9135
' Recordset-Kopie erstellen
.CreateClone = True
' Recordset zuweisen
Set .Recordset = oRs
' Spaltenbreiten festlegen
.Columns(1).Width = 600
.Columns(2).Width = 2500
.Columns(3).Width = 2500
.Columns(4).Width = 1500
.Columns(5).Width = 1500
' zuletzt gespeicherte Spaltenbreiten wiederherstellen
.ReadColumnWidth "MyApplication", "Grid1", "ColWidths"
' autom. Sortierung aktivieren
.AutoSort = True
' nach Feld "Name" sortieren
.DoSort "name"
' interaktives Hinzufügen, Ändern und Löschen ermöglichen
.AllowEdit = True
.AutoUpdate = True
.AllowDelete = True
' interaktives Ändern der Spaltenbreiten zulassen
.AllowColumnSizing = True
' autom. Neuzeichnen einschalten
.LockUpdate False
.Refresh
' 1. Zeile selektieren
.Row = 1
' usprüngliches Recordset zerstören
oRs.Close
Set oRs = Nothing
End With
End If
With Image2
.Visible = True
.Height = 3375
.left = 10440
.top = 360
.Width = 2535
End With
With txtRichTextBox
' Recordset-Objekt erstellen
sSQL = "SELECT BuchID, Bemerkung FROM Buecher WHERE BuchID"
oRs.CursorLocation = adUseClient
oRs.Open sSQL, oConn, adOpenDynamic, adLockOptimistic
If oRs.RecordCount > 0 Then
While Not oRs.EOF
.TextRTF = oRs.Fields("Bemerkung")
Debug.Print oRs("Bemerkung")
oRs.MoveNext
Wend
End If
' Recordset zerstören
oRs.Close
Set oRs = Nothing
End With
sFile = Grid1.Recordset.Fields(5)
' prüfen ob File existiert und Bild in Image2 anzeigen
If FileExists(Grid1.Recordset.Fields(5)) Then
Image2.Picture = LoadPicture(sFile)
Else
Image2.Picture = LoadPicture(App.Path & "\leer.jpg")
End If
cboSuchen.Clear
If lblÜberschrift.Caption = "Übersicht Bücher" Then
With cboSuchen
.AddItem "Name"
.AddItem "Autor"
.AddItem "Verlag"
.AddItem "ISBN"
.AddItem "Bemerkung"
End With
End If
End Select
End Sub Das ist der komplette Code wenn die Schaltfläche "Bücher" geklickt wurde.
Muß ich vielleicht die Spalte Bemerkung im Grid schon mit einbauen?
Komisch ist: Habe die SQL-Anweisung in der RTF-Box von ORDER BY BuchID in WHERE BuchID geändert. Dadurch werden im Direktbereich die Datensätze durcheinander aufgelistet.
Falls Du einen Fehler entdecken solltest, wär das Super, ansonsten Danke ich Dir für Deine Geduld.
Andreas |