Laden...

Access-> ODBC-Verbindung fehlgeschlagen

Erstellt von marcelws vor 15 Jahren Letzter Beitrag vor 15 Jahren 6.464 Views
M
marcelws Themenstarter:in
309 Beiträge seit 2004
vor 15 Jahren
Access-> ODBC-Verbindung fehlgeschlagen

Hoi Ihrs,

ich habe hier eine Accessanwendung die bisher wohl ohne Probleme funktioniert hat.
Wenn ich das mdb öffne und die Funktionen die auf die Tabellen zugreifen direkt nach dem öffnen nutzen möchte kommt "Lauftzeitfehler 3151" respekt. siehe Titel.
Ok dachte ich, mal fix die ODBC Datenquelle aktualiseren und die Tabellen neu verknüpfen. Aber das funktioniert leider doch nicht bzw irgendwas muss ich wohl übersehen haben oder falsch machen. Ich kenne mich damit nicht wirklich gut aus und hoffe das mir wer von euch helfen kann.
Was merkwürdig ist: Wenn ich das File öffne, dann im Datenbankfenster eine Tabelle öffne und DANACH die Funktionen des Programms aufrufe läuft es einwandfrei. Ebenso nachdem ich einfach nur die Tabellenverknüpfungen aktualisiere...

Hat jemand eine Idee was hier falsch läuft?

Grüssle
Marcel

edit sagt:
das ist der einizge Quelltext in dem Formular. in Zeile 12 rappelt es dann auch:


Private Sub cmdViewInitialDelivery_Click()

    Dim strSQL As String
    
    strSQL = "exec InOrders @InitialDeliveryID=" & Forms!frmMain.InitialversandID & "," & _
        "@WeightLimit=" & Forms!frmMain.WeightLimit
    Dim qDef As Object
    Set qDef = CurrentDb.QueryDefs("execInDelivery")
    qDef.SQL = strSQL
    qDef.Close
    
    DoCmd.OpenQuery "execInDelivery", acViewNormal


End Sub

3.728 Beiträge seit 2005
vor 15 Jahren
ODBC-Verbindung

Dieser Fehler besagt, dass das Herstellen der Verbindung zur ODBC-Datenquelle nicht geklappt hat. Häufige Ursachen dafür sind Bugs in ODBC-Treibern. Mir sind z.B. ähnliche Probleme in Verbindung mit MySQL-Datenbanken bekannt. Abhilfe kann ein aktualisierter ODBC-Treiber der eingesetzten Datenbank schaffen. Manchmal kann es auch an der Konfiguration der ODBC-Verbindung liegen. Ich hatte das z.B. mal mit einem SyBase Server.

ODBC ist eine ziemlich alte Technologie und eigentlich nicht mehr erste Wahl für den Datenzugriff. Ich empfehle Dir, die Verbindungen lieber mit OLEDB (ADO) herzustellen. Natürlich muss für das entsprechende Datenbank-System auch der passende OLEDB-Treiber installiert sein.

Verknüpfte Tabellen sind generell nicht zu empfehlen. Das Problem daran ist dass Du keine Kontrolle darüber hast. Lieber alles im Code machen.

Auf was für ein Datenbanksystem möchtest Du denn von Access aus zugreifen?

Hast Du vor, auf C# umzusteigen?

M
marcelws Themenstarter:in
309 Beiträge seit 2004
vor 15 Jahren

Hoi Rainbird,

eigentlich bin ich in C# zuhause....beruflich bedingt muss ich allerdings mit vielen Dingen rumschlagen.
Das Programm um das es hier geht ist so schon lange im Einsatz und geht entweder auf den SQL2000 oder 2003...da bin ich grad nicht sicher...muss ich nochmal im Büro morgen nachschaun.

Grüssle
Marcel