Hallo zusammen,
wir haben eine Access-Datenbank, jedoch nur meinen Arbeitsplatz mit Access. Dazu kommt, dass außer mir niemand Access bedienen kann oder will.
Damit nun jedoch auch andere Datensätze eintragen können UND damit das Handling der Datenpflege bequemer ist habe ich ein kleinen DBEditor in VB.NET programmiert.
Dieser funktioniert soweit auch tadellos, solange ich nicht zwischen NULL, Leerstring und Textboxen, bei denen noch keine Eingabe getätigt wurde unterscheiden muss...
Mein Problem ist, ich habe eine Tabelle mit folgenden relevanten Feldern:
Meine Idee/Wunsch ist nun, wenn eine Eingabe erforderlich ist, dann soll eine leere Textbox in der Datenbank den Leerstring speichern, andernfalls soll NULL reingeschrieben werden (Da ich an anderen Stellen zwischen Null und "" in den Zellen unterscheiden können muss).
Bisher habe ich, was glaub ich, zwischendurch schon sehr nah an meiner Lösung ist, folgenden Post gefunden:
aus Access Datenbank Spaltenüberschriften auslesen
Ich habe die Funktion TabellenStruktur dort Quick-And-Dirty auch in meinem Programm zum laufen gebracht.
Leider wird mir in der Spalte mit dem Namen AllowDBNull in beiden Feldern true angezeigt. Warum weiß ich nicht:-(
Es sollte doch nicht so schwer sein, an diese Feldeigenschaft "Eingabe erforderlich" mit VB.NET raunzukommen sein...
Offensichtlich bin ich jedoch zu doof für
p.s. außerhalb dieser TabellenStruktur Funktion arbeite ich mit ADODB anstelle von System.Data.OleDb.
Gruß DerBrain
wir haben eine Access-Datenbank, jedoch nur meinen Arbeitsplatz mit Access. Dazu kommt, dass außer mir niemand Access bedienen kann oder will.
Damit nun jedoch auch andere Datensätze eintragen können UND damit das Handling der Datenpflege bequemer ist habe ich ein kleinen DBEditor in VB.NET programmiert.
Dieser funktioniert soweit auch tadellos, solange ich nicht zwischen NULL, Leerstring und Textboxen, bei denen noch keine Eingabe getätigt wurde unterscheiden muss...
Mein Problem ist, ich habe eine Tabelle mit folgenden relevanten Feldern:
Name | Eingabe erforderlich |
Typ | Ja |
Nummer | Nein |
Meine Idee/Wunsch ist nun, wenn eine Eingabe erforderlich ist, dann soll eine leere Textbox in der Datenbank den Leerstring speichern, andernfalls soll NULL reingeschrieben werden (Da ich an anderen Stellen zwischen Null und "" in den Zellen unterscheiden können muss).
Bisher habe ich, was glaub ich, zwischendurch schon sehr nah an meiner Lösung ist, folgenden Post gefunden:
aus Access Datenbank Spaltenüberschriften auslesen
Ich habe die Funktion TabellenStruktur dort Quick-And-Dirty auch in meinem Programm zum laufen gebracht.
Quellcode
- Public Function TabellenStruktur(ByVal Tabellenname As String) As DataTable
- Dim DBVerbindung As New OleDbConnection
- Dim cmd As New OleDbCommand
- Dim reader As OleDbDataReader
- Dim DBPfad As String
- DBPfad = TEMP 'Verzeichnis der DB
- DBVerbindung.ConnectionString =
- "Provider=Microsoft.Jet.OLEDB.4.0;" &
- "Data Source=" & DBPfad
- Try
- cmd.Connection = DBVerbindung
- cmd.CommandText = "SELECT * FROM " & Tabellenname
- DBVerbindung.Open()
- Dim LokalTabelle As System.Data.DataTable = DBVerbindung.GetSchema("Tables")
- reader = cmd.ExecuteReader()
- reader.Read()
- LokalTabelle = reader.GetSchemaTable
- DBVerbindung.Close()
- Return LokalTabelle
- Catch ex As Exception
- DBVerbindung.Close()
- MsgBox(ex.Message)
- End Try
- End Function
Leider wird mir in der Spalte mit dem Namen AllowDBNull in beiden Feldern true angezeigt. Warum weiß ich nicht:-(
Es sollte doch nicht so schwer sein, an diese Feldeigenschaft "Eingabe erforderlich" mit VB.NET raunzukommen sein...
Offensichtlich bin ich jedoch zu doof für
p.s. außerhalb dieser TabellenStruktur Funktion arbeite ich mit ADODB anstelle von System.Data.OleDb.
Gruß DerBrain