vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 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

Allgemeine Diskussionen
Recordset 
Autor: roj2003
Datum: 25.07.03 15:25

Hallo,

wahrscheinlich mache ich mal wieder einen blöden Anfänger Fehler, aber ich komme auch nach 2 Stunden Fehlersuche nicht weiter. Folgende Funktion:
Private Function TmpToHierarchy(ByVal HierarchyID As Long)
Dim ComponentCategoryID As Long, ComponentCUser As Long, ComponentCTime As _
  String, ComponentMUser As Long, ComponentMTime As String
Dim recElements As New Recordset
Dim ComponentID As Long
Dim LevelID As Long
Dim LevelNr As Long
 
    With clsDB
 
        .A_SetDatabaseConnection DevDB.Connection1
 
        'Erstelle neue Component
        ComponentID = clsHierarchy.NewComponent(HierarchyID)
 
        'Get Levels
        Set recElements = New Recordset
        Set recElements = .Q_GetTmpLevels(HierarchyID)
 
        Do Until recElements.EOF = True
 
            LevelNr = recElements("el_level").Value
 
            If (LevelNr = 0) Then
                LevelID = .Q_InsOrUpdate_Level(0, ComponentID, HierarchyID, _
                  LevelNr, "Level " & LevelNr)
            Else
                LevelID = .Q_InsOrUpdate_Level(0, 0, HierarchyID, LevelNr, _
                  "Level " & LevelNr)
            End If
 
            recElements.MoveNext
 
        Loop
 
    End With
End Function
Ruft folgende Funktion auf:
Public Function Q_InsOrUpdate_Level(ByVal id As Long, ByVal component_id As _
  Long, ByVal hierarchy_id As Long, ByVal Level As Long, ByVal name As String) _
  As Long
Dim glbSQL As String
Dim qrySQL As String
 
    If id > 0 Then
 
        'Basic SQL
        glbSQL = "UPDATE H_LEVEL SET COMPONENT_ID = " & component_id & "," & _
          "HIERARCHY_ID = " & hierarchy_id & ", LEVEL = " & Level & "', NAME =" & _
          "'" & SQLExpr(name) & "' " & _
                 " @@1 "
        qrySQL = " WHERE ID = " & id
        virtRecordSet.Open CreateSQLString(glbSQL, qrySQL), DBCon, _
          adOpenForwardOnly, adLockReadOnly
 
        Q_InsOrUpdate_Level = id
 
    Else
 
       'Basic SQL
        glbSQL = "INSERT INTO H_LEVEL (COMPONENT_ID, HIERARCHY_ID, LEVEL, NAME)" & _
          "VALUES (" & component_id & ", " & hierarchy_id & ", " & Level & "," & _
          "'" & SQLExpr(name) & "') " & _
                 " @@1 "
        qrySQL = ""
 
        virtRecordSet.Open CreateSQLString(glbSQL, qrySQL), DBCon, _
          adOpenForwardOnly, adLockReadOnly
 
        'ID des Eintrags ermitteln
        Q_InsOrUpdate_Level = Q_GetRecMax("H_LEVEL")
 
    End If
 
End Function
Die Funktion Q_GetRecMax("H_LEVEL") können wir ausser Acht lassen.

Mein Problem ist jetzt, das mein Recordset "recElements" aus Funktion 1 nach dem ersten Aufruf von Funktion 2 auf einmal geschloßen ist und ich eine entsprechende Fehlermeldung erhalte. Ich weis einfach nicht warum! Ich sitze da jetzt schon 2 Stunden vor und mir brummt der Schädel. Kann mir jemand helfen?

Roj
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Recordset606roj200325.07.03 15:25

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