Access DB - Eingabe erforderlich deaktiveren

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Frostbeule.

    Access DB - Eingabe erforderlich deaktiveren

    Hallo Zusammen,

    ich möchte per VB.Net eine DB erstellen. Beim ersten Programm start soll die Datenbank erstellt werden.
    Nun möchte ich mehrere Spalten hinzufügen und das Attribut "Eingabe erforderlich" auf "False" setzen....

    Hab jetzt schon einige Stunden einiges probiert... weiß leider nicht mehr weiter :S
    Beim Onkel google habe ich auch eines gefunden und probiert.... leider ohne Erfolg ||
    DB erstellen funktioniert, ebenso die Spalten....

    Bitte um eure Hilfe... Danke ^^

    VB.NET-Quellcode

    1. Public Sub DBerstellen()
    2. Dim cat As New ADOX.Catalog()
    3. Dim ApplicatonPath As String = Application.StartupPath
    4. cat.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & ApplicatonPath & "\Data1.mdb")
    5. Dim con As New OleDbConnection
    6. Dim cmd As New OleDbCommand
    7. con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & ApplicatonPath & "\Data1.mdb"
    8. cmd.Connection = con
    9. Dim list As New List(Of String)
    10. list.Add("Tabelle_A")
    11. list.Add("Tabelle_B")
    12. list.Add("Tabelle_C")
    13. list.Add("Tabelle_D")
    14. list.Add("Tabelle_E")
    15. list.Add("Tabelle_F")
    16. list.Add("Tabelle G")
    17. For Each l As String In list
    18. Dim tbl As New ADOX.Table()
    19. tbl.Name = "TB" & l
    20. tbl.ParentCatalog = cat
    21. cat.Tables.Append(tbl)
    22. 'Tabelle zur DB hinzufügen
    23. 'Primäre Spalte anlegen
    24. Dim colID As New ADOX.Column()
    25. colID.Name = "ID"
    26. colID.Type = ADOX.DataTypeEnum.adInteger
    27. colID.ParentCatalog = cat
    28. colID.Properties("AutoIncrement").Value = True
    29. tbl.Columns.Append(colID)
    30. tbl.Columns.Append(l, ADOX.DataTypeEnum.adVarWChar)
    31. tbl.Columns.Append(l & "1", ADOX.DataTypeEnum.adVarWChar)
    32. --> tbl.Columns(l).Attributes = ADOX.ColumnAttributesEnum.adColNullable!!
    33. End Sub


    Sollte es ander Funktionen wie die ADOX geben, mit der eine Erstellung einer Access DB im VB.Net möglich ist, bin ich offen dafür :) ... lerne gern bessere Möglichkeiten...

    Viele Grüße
    Frostbeule

    VB.NET-Quellcode

    1. Dim colID As New ADOX.Column()
    2. colID.Name = "ID"
    3. colID.Attributes = ColumnAttributesEnum.adColNullable


    Sollte doch funktionieren, oder nicht?
    LG
    Das ist meine Signatur und sie wird wunderbar sein!
    Hallo Mono,
    hab den Fehler jetzt gefunden :thumbsup:

    hab die folgende Zeilen ganz nach unten gesetzt....

    VB.NET-Quellcode

    1. tbl.Columns("Spaltenname").Properties("Nullable").Value = True
    2. cat.Tables.Append(tbl)


    also....

    VB.NET-Quellcode

    1. Public Sub DBerstellen()
    2. Dim cat As New ADOX.Catalog()
    3. Dim ApplicatonPath As String = Application.StartupPath
    4. cat.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & ApplicatonPath & "\Data1.mdb")
    5. Dim con As New OleDbConnection
    6. Dim cmd As New OleDbCommand
    7. con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & ApplicatonPath & "\Data1.mdb"
    8. cmd.Connection = con
    9. Dim list As New List(Of String)
    10. list.Add("Tabelle_A")
    11. list.Add("Tabelle_B")
    12. list.Add("Tabelle_C")
    13. list.Add("Tabelle_D")
    14. list.Add("Tabelle_E")
    15. list.Add("Tabelle_F")
    16. list.Add("Tabelle G")
    17. For Each l As String In list
    18. Dim tbl As New ADOX.Table()
    19. tbl.Name = "TB" & l
    20. tbl.ParentCatalog = cat
    21. 'cat.Tables.Append(tbl) <--- falscher Platz
    22. 'Tabelle zur DB hinzufügen
    23. 'Primäre Spalte anlegen
    24. Dim colID As New ADOX.Column()
    25. colID.Name = "ID"
    26. colID.Type = ADOX.DataTypeEnum.adInteger
    27. colID.ParentCatalog = cat
    28. colID.Properties("AutoIncrement").Value = True
    29. tbl.Columns.Append(colID)
    30. tbl.Columns.Append(l, ADOX.DataTypeEnum.adVarWChar)
    31. tbl.Columns(l).Properties("Nullable").Value = True
    32. cat.Tables.Append(tbl)
    33. End Sub


    Viele Grüße

    Frostbeule