Announcement

Collapse
No announcement yet.

Access Datei erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Access Datei erstellen

    Hallo
    bin Neuling in VB.net V2002 und habe ein kleines Problem vor dem ich schon eine weile sitze. Wie kann man eine Access Datei erstellen beim Starten eines Programms, das heißt es soll geprüft werden ob diese Datei extistiert, wenn nicht dann soll diese Datei mit einer Tabelle und einer Anzahl von Felder erstellt werden. Wer kann mir helfen.
    Vielen Dank im vorraus.

  • #2
    Hallo,

    für diese Aufgabe muss man auf die ADOX-Objekte (<i>Microsoft ADO Ext. 2.7 for DLL and Security</i>) zurückgreifen. Dazu werden diese Objekte dem eigenen Projekt als Verweis hinzugefügt. Ein Beispiel für das Anlegen einer neuen ACCESS-Datenbank ist hier zu finden: <i><a href="/webx?13@@.2cb7e02f/0">Andreas Kosch "Mit Adox eine Access-Tabelle erstellen und ein Memofeld deklarieren" 23.02.2004 07:28</a></i&gt

    Comment


    • #3
      Hallo Andreas

      Vielen Dank für den Hinweis

      Comment


      • #4
        Hallo Andreas,

        nachfolgend ein kurzes Beispiel

        Gruß Jürgen

        Private Const ACC_PROVIDER As String = "Provider=Microsoft.Jet.OLEDB.4.0;"

        Public Function ACC_DataDBErstellen(ByVal DatenbankName as string)
        Dim adoxCatalog As New ADOX.Catalog
        Dim adoxTabelle As New ADOX.TableClass
        Dim adoxTabelle2 As New ADOX.TableClass

        Dim booStatus as Boolean

        '// Achtung gültigen Dateinamen übergeben wird hier nicht geprüft

        Try
        Dim strSaveDBName As String

        '// Neue Access DB erstellen

        adoxCatalog.Create(ACC_PROVIDER & "Data Source=" & DatenbankName .ToString)

        adoxTabelle.ParentCatalog = adoxCatalog
        adoxTabelle.Name = "Tabelle_1"
        adoxCatalog.Tables.Append(adoxTabelle)
        adoxTabelle.Columns.Append("Datum", DataTypeEnum.adDate)
        adoxTabelle.Columns.Append("Zeit", DataTypeEnum.adDate)
        adoxTabelle.Columns.Append("Nummer", DataTypeEnum.adInteger)
        adoxTabelle.Columns.Append("Text", DataTypeEnum.adWChar, 2)

        adoxTabelle2.ParentCatalog = adoxTabelle.ParentCatalog
        adoxTabelle2.Name = "Tabelle_2"
        adoxCatalog.Tables.Append(adoxTabelle2)
        adoxTabelle2.Columns.Append("Datum", DataTypeEnum.adDate)
        adoxTabelle2.Columns.Append("ZeitVon", DataTypeEnum.adDate)
        adoxTabelle2.Columns.Append("ZeitBis", DataTypeEnum.adDate)

        MessageBox.Show("Datenbank wurde erstellt.", "Message", _
        MessageBoxButtons.OK, MessageBoxIcon.Information)
        booStatus = TRUE

        Catch Ex As System.Runtime.InteropServices.COMException
        '// Ab hier Fehlerbehandlung einbauen

        booStatus = False
        Finally
        adoxCatalog = Nothing
        adoxTabelle = Nothing
        End Try

        '// Status zurückgeben
        Return booStatus

        End Functio

        Comment


        • #5
          Ups

          hier kommen die Formatierungen nicht mit. Sorry ich hoffe jetzt klappts

          Gruß Jürgen

          Imports ADOX

          Module Module1
          Private Const ACC_PROVIDER As String = "Provider=Microsoft.Jet.OLEDB.4.0;"

          Public Function ACC_DataDBErstellen(ByVal DatenbankName As String)
          Dim adoxCatalog As New ADOX.Catalog
          Dim adoxTabelle As New ADOX.TableClass
          Dim adoxTabelle2 As New ADOX.TableClass

          Dim booStatus As Boolean

          '// Achtung gültigen Dateinamen übergeben wird hier nicht geprüft

          Try
          Dim strSaveDBName As String

          '// Neue Access DB erstellen

          adoxCatalog.Create(ACC_PROVIDER & "Data Source=" & DatenbankName .ToString)

          adoxTabelle.ParentCatalog = adoxCatalog
          adoxTabelle.Name = "Tabelle_1"
          adoxCatalog.Tables.Append(adoxTabelle)
          adoxTabelle.Columns.Append("Datum", DataTypeEnum.adDate)
          adoxTabelle.Columns.Append("Zeit", DataTypeEnum.adDate)
          adoxTabelle.Columns.Append("Nummer", DataTypeEnum.adInteger)
          adoxTabelle.Columns.Append("Text", DataTypeEnum.adWChar, 2)

          adoxTabelle2.ParentCatalog = adoxTabelle.ParentCatalog
          adoxTabelle2.Name = "Tabelle_2"
          adoxCatalog.Tables.Append(adoxTabelle2)
          adoxTabelle2.Columns.Append("Datum", DataTypeEnum.adDate)
          adoxTabelle2.Columns.Append("ZeitVon", DataTypeEnum.adDate)
          adoxTabelle2.Columns.Append("ZeitBis", DataTypeEnum.adDate)

          MessageBox.Show("Datenbank wurde erstellt.", "Message", _
          MessageBoxButtons.OK, MessageBoxIcon.Information)
          booStatus = True

          Catch Ex As System.Runtime.InteropServices.COMException
          '// Ab hier Fehlerbehandlung einbauen

          booStatus = False
          Finally
          adoxCatalog = Nothing
          adoxTabelle = Nothing
          End Try

          '// Status zurückgeben
          Return booStatus

          End Function
          End Modul

          Comment


          • #6
            Hallo Andreas,

            anbei ein kurzes Beispiel. Erstellt in VB.Net 2003

            Gruß Jürgen

            ______________________

            Imports ADOX

            Module Module1

            Private Const ACC_PROVIDER As String = "Provider=Microsoft.Jet.OLEDB.4.0;"

            Public Function ACC_DataDBErstellen(ByVal DatenbankName As String)

            Dim adoxCatalog As New ADOX.Catalog

            Dim adoxTabelle As New ADOX.TableClass

            Dim adoxTabelle2 As New ADOX.TableClass

            Dim booStatus As Boolean

            '// Achtung gültigen Dateinamen übergeben wird hier nicht geprüft

            Try
            Dim strSaveDBName As String

            '// Neue Access DB erstellen

            adoxCatalog.Create(ACC_PROVIDER & "Data Source=" & DatenbankName .ToString)

            adoxTabelle.ParentCatalog = adoxCatalog

            adoxTabelle.Name = "Tabelle_1"

            adoxCatalog.Tables.Append(adoxTabelle)

            adoxTabelle.Columns.Append("Datum", DataTypeEnum.adDate)

            adoxTabelle.Columns.Append("Zeit", DataTypeEnum.adDate)

            adoxTabelle.Columns.Append("Nummer", DataTypeEnum.adInteger)

            adoxTabelle.Columns.Append("Text", DataTypeEnum.adWChar, 2)

            adoxTabelle2.ParentCatalog = adoxTabelle.ParentCatalog

            adoxTabelle2.Name = "Tabelle_2"

            adoxCatalog.Tables.Append(adoxTabelle2)

            adoxTabelle2.Columns.Append("Datum", DataTypeEnum.adDate)

            adoxTabelle2.Columns.Append("ZeitVon", DataTypeEnum.adDate)

            adoxTabelle2.Columns.Append("ZeitBis", DataTypeEnum.adDate)

            MessageBox.Show("Datenbank wurde erstellt.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information)

            booStatus = True

            Catch Ex As System.Runtime.InteropServices.COMException
            '// Ab hier Fehlerbehandlung einbauen

            booStatus = False

            Finally

            adoxCatalog = Nothing

            adoxTabelle = Nothing

            End Try

            '// Status zurückgeben

            Return booStatus

            End Function

            End Modul

            Comment


            • #7
              Hallo Hr. Merker
              Vielen Dank für Ihre Info. Komme leider erst jetzt zum Antworten da ich längere zeit unterwegs war

              Comment

              Working...
              X