Visual Basic Formular und Access Datenbank

atlantyz

Erfahrenes Mitglied
Hallo Leute!

Ich erstelle mir seit längerer Zeit in Access eine Filmdatenbank (okay, man kann es eher Tabelle nennen, die Datenbank besteht nur aus einer Tabelle). Dort werden alle Filme drin gespeichert, die ich so habe und dann dazu noch das Genre, wo sie stehen, wer mitspielt usw.

Nun ist das Durchsuchen der Tabelle langsam lästig geworden. Ich hab mir nun überlegt die Datensätze mit VB 2005 Express zu pflegen. Und zwar hätte ich gerne ein formular, wo man sowohl nach den Filmen suchen (einfach über Name oder per genre reicht) als auch sie bearbeiten, löschen oder neu eingeben kann. Als Hintergrund soll VB die Access Datenbank verwenden.

Nun habe ich keine Ahnung wie das geht. Wie verknüpfe ich Vb mit der Datenbank? Wie kann ich z.B. einzelne Felder der Datenbank in VB anzeigen lassen? Und wie sag ich ihm wo er die Daten, die ich eingebe oder barbeite speichern soll?

Ich hoffe ihr könnt mir helfen.

Grüße, Joey
 
So, ich hab jetzt eine Hilfe im Netz gefunden.

Nun möchte ich auch gerne nach Datensätzen in der Tabelle suchen lassen. Wurden sie gefunden, schreibt mir VB die Daten in ein Textfeld, damit man sie bearbeiten kann. Das klappt auch wunderbar, solange alle Felder in der Tabelle ausgefüllt sind. Jetzt habe ich aber einige Felder, die nicht zwingend ausgefüllt werden müssen (z.B. Aufnahmedatum oder Bemerkung).

Sobald VB an diese Felder kommt und das Feld leer ist, bricht er ab und teilt mir mit, das der Typ DBNull nicht in String konvertiert werden kann.

VB soll mir lediglich alle leeren Access-Felder auch nicht im Formular ausfüllen, bzw. einfach nen leeren String rein schreiben. Weiß jemand, wie das geht?

Ich hab hier einen Code, aber der funktioniert nicht. Kann jemand den Fehler entdecken

Code:
 Try
            conn.Open()

            Dim row As DataRow
            Dim i As Integer

            Dim dt As DataTable = ds.Tables("Filme")
            'alle Zeilen des DataTable durchlaufen
            For Each row In dt.Rows
                If txtname.Text = row("Bezeichnung") Then
                    txtname.Text = row("Bezeichnung")
                End If
                If TypeOf row("Aufnahmedatum") Is DBNull Then
                    txtaufnahme.Text = ""
                Else : txtaufnahme.Text = row("Aufnahmedatum")
                End If
                If TypeOf row("Bemerkung") Is DBNull Then
                    txtbemerkung.Text = ""
                Else : txtbemerkung.Text = row("Bemerkung")
                    txtbemerkung.Text = row("Bemerkung")
                    combostandort.Text = row("Standort")
                    txtgenre.Text = row("Genre")
                    i += 1
                End If
            Next
        Finally
            conn.Close()
        End Try
 

Neue Beiträge

Zurück