vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB & Datenbanken
Re: DB Verbindungsfehler abfangen 
Autor: Jabberwock_v6
Datum: 08.12.10 14:32

So, ich habe es jetzt mit db.state und rs.state soweit hin bekommen das es eigentlich läuft.

Aber da scheint noch ein weiteres Problem zu sein.

Ich zeige mal den (vereinfachten) Code:
Private Function makeTowerDatei(ArtikelNr As String, ChargenNr As String, _
  Beschreibung As String) As Boolean
 
On Error GoTo fehlerT
 
Dim pfad As String                
Dim strSQL As String
Dim temp1 As String
Dim strDatei As String
Dim UPdArticle As Boolean
Dim RemotePfad As String
 
pfad = Form2.tx_TowerDB
RemotePfad = Form2.tx_towerRemote
 
  Set ACCESS_DB = New ADODB.Connection
  ACCESS_DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pfad
  Set ACCESS_rs = New ADODB.Recordset
 
  strSQL = "SELECT * FROM Carrier WHERE Carrier = '" & ChargenNr & "'"
 
Do
  If ACCESS_DB.State Then
    ACCESS_rs.Open strSQL, ACCESS_DB
    loopend = True
 Else
    loopend = False
    ACCESS_DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pfad
 End If
 DoEvents
Loop Until loopend = True
 
 
  If ACCESS_rs.EOF = True And ACCESS_rs.BOF = True Then
 
   strDatei = "test test"
   Call WriteTowerDatei(RemotePfad & "Create_New_Carrier_" & ChargenNr & _
     ".eto", strDatei)     
   'Schreiben der TowerRemoteDatei um den Carrier zu erstellen
 
  Else
   '
  End If
 
  ACCESS_rs.close   
 
 
 
 
 
 
 
 
 strSQL = "SELECT * FROM Article WHERE Article = '" & ArtikelNr & "'"
 
 ACCESS_rs.Open strSQL, ACCESS_DB  
 If ACCESS_rs.EOF = True And ACCESS_rs.BOF = True Then             
 
 strDatei= "Artikel erstellt" 
    Call WriteTowerDatei(RemotePfad & "Update_Article_" & ArtikelNr & ".eto", _
      strDatei)  
 
  Else
  End If
 
  makeTowerDatei = True
 
fehlerT:
If Err.Number <> 0 Then
   'MsgBox Err.Number & vbCrLf & Err.Description
   Call makeLog("!!!!!Feher in makeTowerDatei!!!!" & vbCrLf & Err.Description & _
     vbCrLf & Err.Source, True)
   Err.Clear
    makeTowerDatei = False
End If
 
   If ACCESS_rs.State Then ACCESS_rs.Close
   If ACCESS_DB.State Then ACCESS_DB.Close
   Set ACCESS_rs = Nothing
   Set ACCESS_DB = Nothing
Der erste Zugriff auf die DB Funktioniert IMMER!!!
Der zweite nur manchmal !?!

Ich vermute mal das ich es nicht ganz richtig mache.
Ich öffne den Recordset, benutze ihn und schließe ihn wieder um ihn dann mit neuem SQL-Sting wieder zu öffnen und zu benutzen.
Ist das ok so oder macht man das besser anders?


Es kommt dann öfters die Meldung: "Datenbank '' konnte nicht geöffnet werden. Entweder wird die Datenbank nicht von Ihrer Anwendung erkannt, oder die Datei ist beschädigt."

Aber öfters läuft es auch ohne Probleme durch, woran kann das liegen?

Mfg
Jabberwock
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DB Verbindungsfehler abfangen1.766Jabberwock_v607.12.10 13:28
Re: DB Verbindungsfehler abfangen1.251wb-soft07.12.10 14:22
Re: DB Verbindungsfehler abfangen1.260Jabberwock_v607.12.10 15:50
Re: DB Verbindungsfehler abfangen1.232wb-soft07.12.10 20:00
Re: DB Verbindungsfehler abfangen1.356Jabberwock_v608.12.10 14:32
Re: DB Verbindungsfehler abfangen1.193wb-soft08.12.10 13:55
Re: DB Verbindungsfehler abfangen1.245Jabberwock_v608.12.10 14:42
Re: DB Verbindungsfehler abfangen1.315wb-soft08.12.10 15:00

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-2025 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