tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
0
ZUGRIFFE
320
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    tag zusammen.

    ich hab seit ca. einer woche folgendes problem:
    ich hab ein neues formular angelegt und in das onclick-event von dem beenden-button hab ich diesen code hier geschrieben:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    
    Private Sub btnBeenden_Click()
    On Error GoTo 268
     
    'Lokale Variablen und Objekte
    Dim rs As ADODB.Recordset
    Dim rs2 As ADODB.Recordset
    Dim antwort As Integer
    Dim missing As Boolean
    Dim letzter_bis As Long
    Dim nr As Long
    Dim bis As Long
    Dim von As Long
     
    'Objekte initialisieren
    Set rs = New ADODB.Recordset
    Set rs2 = New ADODB.Recordset
     
    rs.Open "SELECT * FROM plz_gruppen ORDER BY von, bis;", CurrentProject.Connection, adOpenStatic, adLockPessimistic, -1
     
    'Prüfen, ob zwischen den Intervallen Lücken bestehen
    If rs.RecordCount > 0 Then
        rs.MoveFirst
        bis = -1
        Do While Not rs.EOF
            von = CLng(rs!von)
            If bis = von - 1 Then
                missing = False
            Else
                missing = True
                Exit Do
            End If
            bis = CLng(rs!bis)
            rs.MoveNext
            DoEvents
        Loop
        rs.MoveLast
        letzter_bis = CLng(rs!bis)
    End If
     
    'Bei fehlenden Intervallen...
    If missing Then
        MsgBox "Es bestehen noch Lücken zwischen den Intervallen (Die Postleitzahlen zwischen " & CStr(bis + 1) & " und " & CStr(von - 1) & " wurde noch nicht zugeordnet). Geben Sie bitte durchlaufende Bereiche ein.", vbExclamation, "GePlan"
        Exit Sub
    End If
     
    'Wenn der letzte Bereich nicht bis 99999 läuft...
    If letzter_bis <> 99999 Then
        antwort = MsgBox("Die Bereiche wurden nicht bis 99999 durchnummeriert. Soll das letzte Intervall jetzt aufgefüllt werden?", vbQuestion + vbYesNoCancel, "GePlan")
        Select Case antwort
            Case vbYes
                'Letzen Primärschlüssel raussuchen
                rs2.Open "SELECT MAX(nr) AS nr FROM plz_gruppen;", CurrentProject.Connection, adOpenStatic, adLockPessimistic, -1
                If rs2.RecordCount > 0 Then
                    rs2.MoveFirst
                    nr = CLng(rs2!nr) + 1
                End If
                rs2.Close
                
                rs.MoveLast
                rs.AddNew
                rs!nr = nr
                rs!von = letzter_bis + 1
                rs!bis = 99999
                rs!Bez = "Sonstige"
                rs.Update
            Case vbNo
                'nichts tun
                DoEvents
            Case vbCancel
                Exit Sub
            Case Default
                Exit Sub
        End Select
    End If
     
    rs.Close
     
    'Objekte zerstören
    Set rs = Nothing
    Set rs2 = Nothing
     
    'Dialog wieder schliessen
    DoCmd.Close acForm, Me.Name
     
    Exit Sub
    268 MsgBox "Es ist ein unerwarteter Fehler aufgetreten (Fehlercode 268: " & Err.Description & ").", 16, "GePlan"
        DoCmd.Close acForm, Me.Name
        
    End Sub

    teilweise funktioniert der code ja auch problemlos - im moment zumindest. aber gestern ist mir irgendwo nach der zeile
    Code :
    1
    
    antwort = MsgBox("Die Bereiche wurden nicht bis 99999 durchnummeriert. Soll das letzte Intervall jetzt aufgefüllt werden?", vbQuestion + vbYesNoCancel, "GePlan")
    ständig access abgestürzt.
    diese abstürze treten völlig zufällig auf. aber wenn sie auftreten, dann liegt das (scheinbar) an diesem code, weil zu der zeit des absturzes der code da oben ausgeführt wird.

    meine frage dazu: liegt das an microsoft oder an mir?
    Geändert von Dario Linsky (26.06.02 um 09:55 Uhr)
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

Ähnliche Themen

  1. [First Page 2006] Programmabstürze
    Von flashray im Forum HTML-Editoren
    Antworten: 2
    Letzter Beitrag: 27.04.07, 00:44
  2. Unerklärliche Programmabstürze...
    Von Alexanderz im Forum Microsoft Windows
    Antworten: 2
    Letzter Beitrag: 25.08.05, 13:25
  3. [ACC2000]: Fehlermeldung beim Schliessen oder Editieren eines Forms mit Chart
    Von derGugi im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 17.09.04, 10:07
  4. zufällige ID mit PHP erzeugen
    Von NetBull im Forum PHP
    Antworten: 3
    Letzter Beitrag: 25.04.04, 22:41
  5. zufällige wiedergabe
    Von Chri$ im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 25.04.04, 14:21