vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Datenbank zugriff verweigert 
Autor: workuhol
Datum: 01.10.12 15:02

Hallo Blackbox

Ich habe es leider nur so gelernt. Wie müsste der code den aussehen um kein Access installiert zu haben und trotzdem zugriff zu haben ?

Ich bin lernfähig.

Gruß workuhol

Gru?
workuhol

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Datenbank zugriff verweigert 
Autor: workuhol
Datum: 30.09.12 18:23

Hallo Leute
Ich habe das Problem, daß ich meine programmierte Anwendung, nicht starten kann.
Ich habe eine Anwendung, die auf eine Datenbank (Access)zugreift und beim Programmstart geöffnet wird. Ich habe das Programm weitergegeben und auf dem anderen Computer kommt dann meine Fehlermeldung "Datenbank kann nicht geöffnet werden." Nun weiss ich daß Access eine log-datei schreibt, wenn die Datenbank geöffnet wird. Aber: muß dann auf dem Computer Access installiert sein??????????
Wenn ja, gibt es dann irgendwas, (außer Access) das ich zu meinem Programm mitliefern muß ?????????

Gru?
workuhol

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: Blackbox
Datum: 30.09.12 18:35

Hi,

bevor viele Fragen kommen, bitte gib den Code an, wie Du auf die Datenbank zugreifst. Damit erklärt sich dann vieles.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: workuhol
Datum: 30.09.12 19:54

Nochmal zum verständnis: Die Anwendung + Datenbank verbindung funktioniert.

Das ist der Aufruf.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Private Sub Form_Load()

If Not LoadDatabase(App.Path & "\db1.mdb") Then
Call MsgBox("Datenbank konnte nicht geöffnet werden!", vbCritical)
End
End If

XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Und das liegt in einem Modul

XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Option Explicit

Public CurrentConnection As ADODB.Connection

Public Function LoadDatabase(strFilename As String) As Boolean
On Error GoTo ErrH
If Not ExistFile(strFilename) Then Exit Function

Set CurrentConnection = New ADODB.Connection
Call CurrentConnection.Open(ConnectionString(strFilename))

If Len(CurrentConnection.ConnectionString) <= 0 Then Exit Function
LoadDatabase = True
ErrH:
If Err Then Set CurrentConnection = Nothing
End Function

Public Sub CloseDatabase()
On Error GoTo ErrH
If Not CurrentConnection Is Nothing Then Call CurrentConnection.Close
ErrH:
Set CurrentConnection = Nothing
End Sub

Public Function ExistFile(strFilename As String) As Boolean
On Error GoTo ErrH
ExistFile = (Len(Dir(strFilename)) > 0)
ErrH:
End Function

Public Function ConnectionString(strFilename As String) As String
Dim strConnection As String
strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;"
strConnection = strConnection & "Data Source=" & strFilename '& ";"
ConnectionString = strConnection
End Function

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Ich kann mir nur vorstellen daß mir auf dem anderen Computer die umgebung für Access fehlt.


Gruß workuhol

Gru?
workuhol

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: wb-soft
Datum: 30.09.12 20:03

Hi!

Zur Klarstellung: Du arbeitest mit VB6 und der Jet-Engine. Access ist dazu nicht notwendig, und du hast vermutlich auch nicht die Berechtigung, Access auszuliefern.

Schalt einfach die Fehlerbehandlung ab. Dann hast du die Chance auf eine brauchbare Fehlermeldung.

Es gibt übrigens eigene Tags zum Posten von Code.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: Blackbox
Datum: 30.09.12 21:15

Hi

Du vermutest richtig. So wie Du das Ding aufgesetzt hast, braucht jeder, der Dein Ding nutzt Access.
Leider!
Normalerweise braucht man Access nicht um auf Access-DB's zugreifen zu können, man muss das Projekt nur anders aufbauen.

Beitrag wurde zuletzt am 30.09.12 um 21:37:06 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: wb-soft
Datum: 01.10.12 09:49

Hi!

Vielleicht liegt es auch einfach an der Berechtigung.

App.Path & "\db1.mdb" legt nahe, daß die DB im Arbeitsverzeichnis unter Programme liegt. Aktuelle Versionen von Windows erlauben den Zugriff auf diesen Ordner nur mit Admin-Rechten.
Wenn es sich also um Vista/7 mit aktiver UAC handelt, darf dein Programm nicht in diesen Ordner schreiben.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: OGGI
Datum: 01.10.12 19:08

Howdy workuhol

Binde ein »Microsoft FlexGrid Control 6.0 (SP6)« an deine Datenbank und öffne dann die Datenbank mit nachfolgendem Code.
 
Data1.DatabaseName = "C:\Program Files (x86)\db1.mdb"
Data1.RecordSource = "select * from Datenbankname order by Spalte1"
Data1.Refresh
MfG Oggi
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: wb-soft
Datum: 02.10.12 10:17

Hi!

@Oggi:
Da bereits der Verbindungsaufbau zur DB nicht funktioniert, kann dein Vorschlag keine Lösung sein.

Gebundene Steuerelemente sind nur in wenigen Ausnahmefällen sinnvoll. In den meisten Fällen bringen sie Nachteile und Probleme mit sich.

Datensteuerelemente sind ein absolutes NoGo. Auch wenn sie in vielen Beispielen und Büchern vorkommen sollte auch Einsteiger und Hobbyprogrammierer die Finger davon lassen.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: workuhol
Datum: 03.10.12 19:22

Hi wb-soft

gibts den nichts von Microsoft das Access simuliert, oder wie muß der code aussehen das ich auch ohne Access zugriff auf die Datenbank habe.
Oder kann ich die Datensätze auch in eine Textdatei schreiben und wieder auslesen.

Gruß workuhol

Gru?
workuhol

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: wb-soft
Datum: 03.10.12 19:52

Hi!

Eigentlich wurde schon alles gesagt. Access ist nicht notwendig, und du hast kaum das Recht, Access mit deinem Programm auszuliefern.

Dein Code enthält keinen offensichtlichen Fehler. Wenn du die Fehlerbehandlung deaktivierst, ergibt sich vielleicht eine brauchbare Fehlermeldung.
Außerdem muß sichergestellt werden, daß alle notwendigen Rechte vorhanden sind.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: Franki
Datum: 07.10.12 23:02

workuhol schrieb:
Zitat:

Oder kann ich die Datensätze auch in eine Textdatei schreiben
und wieder auslesen.


Natürlich kannst du Daten auch in eine Textdatei, XML-Datei oder sonst was schreiben. Aber wenn die an gleicher Stelle liegen soll wie jetzt deine mdb Datei wirst du exakt das gleiche Problem haben mit den Berechtigungen. Da wird das Schreiben auch nicht funktionieren.

Es gibt ja unter Windows ein spezielles Verzeichnis wo der normale User Schreibrechte für Anwendungsdaten hat. Packe deine DB dort genau dort hin und es wird funktionieren. Wie das Verzeichnis genau lautet je nach Betriebssystem findest du raus über "Special Folders".

Ich habe das bei VB6 Anwendungen mit mdb so gemacht, dass ich beim Setup die leere DB mit ausgeliefert habe ins Programmverzeichnis (Rohling sozusagen) dann beim ersten Programmstart das entsprechende Verzeichnis ermittele, die DB dort hin kopiere und ab dann wird dort hinein geschrieben. Damit bis du unabhängig von einem festen Pfad da der sich ja je nach BS unterscheiden kann.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: Ike66
Datum: 08.10.12 11:15

...falls aber doch eine Access Version ausgeliefert werden muss,
würde ich mal nach "access runtime" googeln......
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: Franki
Datum: 28.10.12 23:51

Hallo,

du solltst dich mal schlau machen, was der Unterschied zwichen Access selbst und der Runtime ist. Die Aussaga, dass man die Runtime als Ersatz für Access ausliefer kann bzw. sollte oder darf ist falsch.

Und wie gesagt, um auch eine *.mdb per VB zugreifen zu können ist beides nicht notwendig. Und das entspricht auch den Lizenzbestimmungen von MS.

Dazu kommt noch, dass man das mit den Runtimes sowieso nicht wirklich steuern kann. Denn man weiß nie was der User auf dem Zielrechner für eine Windows- bzw. Officeversion hat. Da gibt es unendlich viele Möglichkeiten, dass auch das schief gehen kann wenn sich Runtime und Office in die Quere kommen.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: wb-soft
Datum: 29.10.12 09:52

Hi!

workuhol has sich schon länger nicht mehr gemeldet. Entweder hat er den Fehler gefunden, oder hat das Interesse verloren.

In beiden Fällen dürfte das Problem als nicht mehr aktuell zu sehen sein.


mfg

WB
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datenbank zugriff verweigert 
Autor: workuhol
Datum: 30.10.12 12:38

Hallo Leute.

Nein,Ich habe das Interesse nicht verloren.
Ich habe auf sieben Computern mein Programm gestartet.
Auf 4 lief es anstandslos und die anderen 3 gaben mir die bekannte Fehlermeldung.
Auf den 4 die keine Probleme machten war Access installiert.
Ich habe mir dann die Access- Runtime heruntergeladen und auf den 3, mit der Fehlermeldung, installiert.

Jetzt läuft es.

Somit ist das thread erledigt.
Danke für eure Ideen und Hilfe

Gruß workuhol

Gru?
workuhol

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel