Datenbank zugriff über Visual basic

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

KevDi
Beiträge: 2
Registriert: Fr, 10.10.2008 11:52

Datenbank zugriff über Visual basic

Beitrag von KevDi »

Guten Tag

Wie im Titel schon beschrieben hab ich ein Problem mit dem Zugriff auf eine Open office base datenbank. Ich habe mir eine Datenbank erstellt und möchte nun über Visual Basic 2005 ein Program zum Verwalten schreiben. Anfangen wollte ich mit einem programm das per Buttonklick alle daten der Datenbank in einem Listenfeld ausgibt. Nur immer wenn ich auf den Button drück kommt die Meldung Nicht erkennbares Datenbankformat 'C:\Dokumente und Einstellungen\praktikant\Eigene Dateien\db.odb'.

Weis einer vllt jmd woran das liegt oder wie man mit Visual Basic 2005 auf eine Datenbank zugreifen kann
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Datenbank zugriff über Visual basic

Beitrag von komma4 »

Was passiert (Code?!), wenn die Schaltfläche gedrückt wurde?

Wie stellst Du die Verbindung zur Datenbank her, wie öffnest Du sie, ...

Zeige mal Deine Versuche.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
KevDi
Beiträge: 2
Registriert: Fr, 10.10.2008 11:52

Re: Datenbank zugriff über Visual basic

Beitrag von KevDi »

also mein VB COde ist folgender

Code: Alles auswählen

Public Class Form1

    Private Sub cmdsehen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsehen.Click
        Dim con As New OleDb.OleDbConnection
        Dim cmd As New OleDb.OleDbCommand

        Dim reader As OleDb.OleDbDataReader

        con.ConnectionString = _
            "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=C:\Dokumente und Einstellungen\praktikant\Eigene Dateien\db.mdb"
        cmd.Connection = con
        cmd.CommandText = "select * from person"

        Try
            con.Open()
            reader = cmd.ExecuteReader()
            lstListe.Items.Clear()
            Do While reader.Read()
                lstListe.Items.Add( _
                      reader("name") & " # " _
                    & reader("vorname") & " # " _
                    & reader("personalnummer") & " # " _
                    & reader("gehalt") & " # " _
                    & reader("geburtstag"))
            Loop
            reader.Close()
            con.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class
Als form ist ein fenster mit dem Sehen Button und ein Listfeld
DIe Datenbank mit Open office ist ganz einfach gehalten.
SIe hat nur eine Tabelle namens Personen. Mit Access hab ich das auf einem anderen Pc probiert mit dem Code da hat das geklappt nun denk ich das man in folgendere Zeile was ändern muss

Code: Alles auswählen

 con.ConnectionString = _
            "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=C:\Dokumente und Einstellungen\praktikant\Eigene Dateien\db.mdb"
        cmd.Connection = con
        cmd.CommandText = "select * from person"
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Datenbank zugriff über Visual basic

Beitrag von komma4 »

KevDi hat geschrieben:kommt die Meldung Nicht erkennbares Datenbankformat 'C:\Dokumente und Einstellungen\praktikant\Eigene Dateien\db.odb'.
Ich denke, um auf eine OOo-BASE-Datei zuzugreifen solltest Du nicht versuchen eine MS-engine zu nutzen.

Ich nutze weder Windows, noch VBA oder OLE, kann Dir hier deshalb nicht mehr sagen...


Schau' mal, ob Dir diese Links (und deren Links!) weiter helfen:
http://www.oooforum.org/forum/viewtopic.phtml?t=9815
http://www.oooforum.org/forum/viewtopic.phtml?t=37700


Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Datenbank zugriff über Visual basic

Beitrag von pmoegenb »

Der Unterscheid besteht darin, dass .mdb eine Desktop-Datenbank ist und .odb lediglich der Container einer HSQLDB-Datenbank.

Wenn Zugriffe über externe Programme, als auch über OOo erfolgen sollen, wird nach meiner Auffassung eine externe Datenbank benötigt. Kostenlose Produkte gibt zuhauf auf dem Markt (SQLite -sehr klein und schnell-, Firebird -ausgewachsene SQL-DB-, MS-SQL-Server-Express -ausgewachsene SQL-DB- u.s.w.).
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Antworten