VB2008 mit Accessdatenbank Grundsatzfrage

  • Access

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Narky.

    VB2008 mit Accessdatenbank Grundsatzfrage

    Hallo !

    Ich bin Anfänger in VisualBasic, möchte eine Anwendung programmieren und dabei ein Access-Datenbank verwenden. Dazu habe ich zwei Fragen:

    1.) VB 2008 benötigt welche Version von Access, oder ist das egal. Ich verwende momentan Access XP und bekomme bei der Erstellung eines neuen TableAdapters in dieser Datenbank die Fehlermeldung, Sie versuchen in einen geschützten Bereich zu lesen oder zu schreiben........ Hat das damit zu tun, dass es sich bei der Datenbank um Access XP handelt - braucht es eine höhere Access Version ?



    2.) Wie ist das wenn das Programm fertig ist und combiliert wurde. Muss dann auf jeden Computer wo das Programm laufen soll Access in der gleichen Version wie beim Erstellen vorhanden sein.



    Danke für Ihre Hilfe !

    Gruß NARKY
    Was willst Du genau machen?
    Eine Access-Datenbank-Anwendung entwickeln, dies bedeutet, dass alles in Access gemacht wird. In diesem Fall muss auf dem Zielrechner nur dann Access installiert sein, wenn man keine Runtime Version der Access-Datenbank erstellt.
    Oder Du willst eine Datenbank-Anwendung in VB entwickeln, die nur zufällig auf eine Acces-Datenbank als Datenbasis zugreift. Dann muss gar kein Access installiert sein. Und Access XP sollte kein Problem sein. (In diesem Fall ist der Post im falschen Forum platziert.)
    Hast Du überhaupt eine Verbindung zu Deiner Access-Datenbank? Ist sie ggf. durch einen anderen Prozess schreibgeschütz (Zeitgleich in Access offen)?
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    Hallo Inopia !

    Danke für Ihre Antwort, ich habe mich unklar ausgedrückt.

    Ich habe eine Access-Datenbank mit 6 Tabellen (Adressen, STammdaten, Leistungen usw.). Diese Datenbank habe ich in Access XP erstellt und ich kann die Datenbank auch jederzeit öffnen und Änderungen darin vornehmen. Ich möchte nicht eine Access-Anwendung daraus machen, sondern ich habe diese Datenbank mit Visual Basic 2005 in ein Projekt eingebunden, was auch wunderbar klappte. (z.B. konnte ich die Tabelle Adressen bearbeiten (Neuanlage, Änderungen, Löschungen), das selbe auch mit den anderen Tabellen. Da ich aber nur Visual Basic 2005 express Edition benutzt habe, konnte ich die Anwendung nicht kombilieren (als eigenständige laufende exe Datei). Jetzt habe ich Visual Studio 2008 mit Visual Basic 2008. Nun habe ich das VB 2005 Projekt in VB 2008 übernommen. Ich kann die verschiedenen Forms öffnen und bearbeiten, was ich aber plötzlich nicht mehr kann, ist die in das Projekt eingebundene Datenbank bearbeiten d.h. möchte ich in eine Tabelle der Datenbank schreiben FEHLER, will ich über das DATASET eine neue Abfrage in einer Tabelle anlegen, oder die bestehende Abfrage konfigurieren FEHLER, will ich eine neue Tabelle in das DATASET einfügen - FEHLER: Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.

    Ich habe mir ein Beispielprojekt für VB 2008 heruntergeladen, wo es um im Prinzip die gleiche Anwendung, wie oben beschrieben geht. In das Projekt ist eine Accessdatenbank mit einigen Tabellen eingebunden, wo bei in dem Beispiel auf eine Tabelle zugegriffen wird und die sollte bearbeitet werden können (Neu, Ändern, Löschen) und natürlich neue Datensätze oder Änderungen speichern. Da bekomme ich den gleichen Fehler. Mit Access kann ich aber auch diese Tabelle problemlos bearbeiten. Wenn mit Speicher die Festplatte gemeint ist, die hat keine Fehler, alle Test der Festplatte zeigen keinerlei Fehler an. Ich kann auch problemlos auf die Festplatte schreiben und lesen.

    Was bei dem VB 2008 nicht funktioniert ist Microsoft SourceSafe - das läßt sich nicht starten und damit die ganze Quellcodeverwaltung. Kann es darin liegen ???? Wenn ja, wie kann ich diesen Fehler beheben. Ich habe geglaubt dass dieses Tool nicht unbedingt notwendig ist.

    Vielleicht können Sie mir weiterhelfen, danke jedenfalls für Ihre Mühe.

    Gruß Narky
    Wieso konntest Du die Anwednung unter Express2005 nicht kompilieren (schreibt sich mit p von Kompiler kommend)?
    Hast Du mal im Ordner bin\Debug nachgeschaut? Da steht die exe direkt kompiliert drin, wenn Du deine Anwendung testest.
    Oder meinest Du ein Setup-Projekt?
    Hast Du jest die Standard2008 gekauft oder nutzt Du Express2008?
    Versuch mal einen neues kleines Projekt zu erstellen und auf deine Access Datenbank zuzugreifen und zu schreibe. Sollte eigentlich funktionieren.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    Hallo INOPIA !

    Ich habe gesehen, dass eine EXE erzeugt wird, bin mir aber nicht sicher ob diese exe auf jedem PC lauffähig ist, bzw. was auf einem PC installiert sein muss (z.B. Net.Framework) damit sie lauffähig ist. Ich möchte das Programm an Leute weitergeben, die die verschiedensten Systeme verwenden (Win 98, xp, ) und das Programm ohne irgendwelche notwendigen Einstellungen durch den jeweiligen USER läuft. Das Setup wird glaube ich bei der Express Version durch Click Once ersetzt. Die Frage ist aber: Ist ein kompiliertes Programm mit einer im Programm integrierten Access-Datenbank auf Jedem Rechner ohne irgendwelche notwendigen Installationen problemlos lauffähig. Ausserdem habe ich bei VB 2005 Express die Crystal-Reborts nicht gefunden. Deshalb der Umstieg auf 2008 Standard !

    Aber inzwischen habe ich das Problem mit dem Zugriff auf Access-Datenbanken. Ich habe, wie Sie mir geraden haben, eine neues Projekt erstellt und will in dieses Projekt eine Access-Datenbank einbinden.

    Ich gehe auf neue Datenbank hinzufügen, neue Verbindung, wähle Access-Datenbank, gebe bekannt wo sich die Datei befinden, Passwort brauche ich keines eingeben, gehe auf Teste Verbindung - und bekomme die Meldung Verbindung ok oder so ähnlich. Dann bestätige ich das ganze, dann kommt die Seite "Datenbankojekte auswählen" und im Hauptfenster "Datenbankojekte werden abgerufen ...." und das wahr es. Hier sollte jetzt die Tabellen, Abfragen usw. der Datenbank angezeigt werden - es kommt aber nichts. Der Computer läuf zwar aber VB 2005 ist abgestürzt - hilft nur mehr Task beenden. Wenn ich ein Projekt öffne bei dem die Anbindung an eine Access Datenbank schon erfolgte, kann ich diese Datenbank, bzw. die Datenbankobjekte auch anschauen (Datenbank anzeigen). Will ich aber nun eine Tabelle als neuen Tableadapter einfügen bzw. an den vorhanden Tableadaptern etwas ändern, z.B. neue Abfrage erstellen oder bestehende Abfrage ändern kommt immer die gleiche Fehlermeldung: Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.


    Das gleiche passiert übrigens inzwischen auch bei VB 2005 express. Auch dort kann ich keine neue Datenbankverbindung erstellen, und eine bestehende nicht ändern. (Gleiche Fehlermeldung).

    Ich werde VB 2005 express und/oder VB 2008 auf einem komplett neu installierten Rechner installieren und schauen was dort passiert.

    Ansonsten weiß ich einfach nicht weiter.

    Gruß Narky