vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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

Fortgeschrittene Programmierung
Problem mit Update (Transaktion) 
Autor: Klaas
Datum: 20.06.03 15:22

Guten Tag allerseits,

ich habe zwei Formen (frmObjekte und frmWrkObjekte).
In frmObjekte benutzte ich ein TrueDBGrid zur Darstellung (verhält sich ungefähr wie ein MSHFLEX-Grid).

Nun habe ich ein Problem beim Updaten eines Datensatzes:

Wenn ich in dem Grid jetzt etwas auswähle und auf "bearbeiten" klicke, dann erscheint eine Form mit Textboxen, in denen die Infos drinstehen.

Wenn ich jetzt auf "Speichern" klicke, dann wird das Grid nicht sofort aktualisiert, sondern erst beim zweiten klick aktualisiert sich das Grid.

so speichere ich (mit Transaktion):
Private Function UpdateData() As Boolean
On Local Error Goto err_UpdateData
 
    Dim idx As Long
 
    UpdateData = False
 
    bTransactInProgress = True
 
    pCon.BeginTrans
 
            For idx = 1 To txtObjekt.Count - 1
 
                If idx <= 4 Then
                    rsObject.Fields(idx).Value = txtObjekt(idx).Text
                Else
                    rsObject.Fields(idx + 1).Value = Val(txtObjekt(idx).Text)
                End If
 
            Next
 
            rsObject.Fields(5).Value = CLng(cboObjArt.BoundText)
        rsObject.Update
 
    pCon.CommitTrans
 
    RaiseEvent Modifyed(txtObjekt(0).Text)
 
    'DoEvents    - brachte auch nichts !!!!!!
'   -----------------Procedure-Exit---------------
Exit_UpdateData:
    bTransactInProgress = False
    '   Prozedur verlassen
    Exit Function
 
'   -----------------Err-Handler---------------
err_UpdateData:
    MsgBox Err.Description, vbCritical, "Modul:frmWrkObjekt, Proc:UpdateData"
    If (bTransactInProgress) Then pCon.RollbackTrans
    UpdateData = True
    Resume Exit_UpdateData
 
End Function
In dem Event "Modifyed" wird eine Prozedur in frmObjekte aufgerufen, in der ein "Rs.Requery" ist.

Wenn ich allerdings ein Objekt neu anlege und danach etwas ändere, dann aktualisiert er sofort:
Private Sub xpbtnSave_Click()
On Local Error Goto err_xpbtnSave_Click
 
    If (CheckFields) Then Exit Sub
    With xpbtnSave
 
        Select Case Me.FormStatus
 
                Case fsedit:
                    'If (UpdateData) Then
                    '    Exit Sub
                    'End If
                    UpdateData
                Case fsnew:
 
                    If .Caption = C_DATA_SAVE Then
                        If (SaveData) Then
                            Exit Sub
                        Else
                            .Caption = C_DATA_NEW
                            bDurty = False
                        End If
                    Else
                        Call ClearForm
                        .Caption = C_DATA_SAVE
                    End If
        End Select
 
    End With
 
'   -----------------Procedure-Exit---------------
Exit_xpbtnSave_Click:
 
    '   Prozedur verlassen
    Exit Sub
 
'   -----------------Err-Handler---------------
err_xpbtnSave_Click:
    MsgBox Err.Description, vbCritical, "Modul:frmWrkObjekt," & _
      "Proc:xpbtnSave_Click"
    Resume Exit_xpbtnSave_Click
 
End Sub
Hat vielleicht jemand ne Idee?

Sch?ne Gr??e

Klaas


[Mein System: WinXP, Visual Basic Enterprise Edition SP5, Office XP]

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem mit Update (Transaktion)447Klaas20.06.03 15:22
Re: Problem mit Update (Transaktion)234Dietmar20.06.03 16:49
Re: Problem mit Update (Transaktion)320Klaas20.06.03 16:58
Re: Problem mit Update (Transaktion)239Dietmar20.06.03 17:17

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