Fehleranalyse

13/11/2008 - 18:04 von Lothar Geyer | Report spam
Es gibt Fehler, die ich mir nicht erklàren kann. Z.B.

Private Sub cmdDeletePos_Click()
Dim answer

On Error GoTo errHandler

If grdLieferPos.Row < grdLieferPos.FixedRows Then Exit Sub

msg = "Sind Sie sicher, dass Sie diese Position des Lieferscheins
löschen wollen?"
answer = MsgBox(msg, vbQuestion + vbYesNo + vbDefaultButton1,
LoeschenBestaetigen)
If answer <> vbYes Then Exit Sub

myLieferschein.Positionen.Remove grdLieferPos.Row
grdLieferPos.RemoveItem grdLieferPos.Row

Exit Sub

errHandler:
If ErrMustStop Then Debug.Assert False: Resume
ErrorIn "frmLieferscheinDruck.cmdDeletePos_Click", , EA_NORERAISE
HandleError
End Sub

FixedRows ist 1.

Und dann kommt eine Fehlermeldung

Letzte feststehende Zeile kann nicht entfernt werden
Time='13.11.08 12:27:48' App='TelMarkt:2.2.2' ADO-version='2.8'
Computer='BUERO-NEU'
Method: frmLieferscheinDruck.cmdDeletePos_Click
Number: 30015 = &H753F = vbObjectError + 2147251519 =
ERRMAP_APP_FIRST + 2147246321
Source: MSFlexGrid
Description: Letzte feststehende Zeile kann nicht entfernt werden
Call Stack: frmLieferscheinDruck.cmdDeletePos_Click()

Wie ist das möglich?

Lothar Geyer
 

Lesen sie die antworten

#1 Christian Zimmermann
14/11/2008 - 08:53 | Warnen spam
Hallo Lothar,

Lothar Geyer schrieb:
Es gibt Fehler, die ich mir nicht erklàren kann. Z.B.



unerklàrliche Fehler sind in der Tat nichts Neues ;-) Dir kann aber
geholfen werden.

Private Sub cmdDeletePos_Click()
Dim answer

On Error GoTo errHandler

If grdLieferPos.Row < grdLieferPos.FixedRows Then Exit Sub

msg = "Sind Sie sicher, dass Sie diese Position des Lieferscheins
löschen wollen?"
answer = MsgBox(msg, vbQuestion + vbYesNo + vbDefaultButton1,
LoeschenBestaetigen)
If answer <> vbYes Then Exit Sub

myLieferschein.Positionen.Remove grdLieferPos.Row
grdLieferPos.RemoveItem grdLieferPos.Row

Exit Sub

errHandler:
If ErrMustStop Then Debug.Assert False: Resume
ErrorIn "frmLieferscheinDruck.cmdDeletePos_Click", , EA_NORERAISE
HandleError
End Sub

FixedRows ist 1.

Und dann kommt eine Fehlermeldung

Letzte feststehende Zeile kann nicht entfernt werden
Time='13.11.08 12:27:48' App='TelMarkt:2.2.2' ADO-version='2.8'
Computer='BUERO-NEU'
Method: frmLieferscheinDruck.cmdDeletePos_Click
Number: 30015 = &H753F = vbObjectError + 2147251519 = ERRMAP_APP_FIRST
+ 2147246321
Source: MSFlexGrid
Description: Letzte feststehende Zeile kann nicht entfernt werden
Call Stack: frmLieferscheinDruck.cmdDeletePos_Click()




Das kommt daher, dass das FlexGrid "eigentlich" mindestens eine
nicht-Fixed-Row haben will und .RemoveItem daher fehlschlàgt. Wenn du
aber die Anzahl der Rows explizit setzt funktionert die Darstellung ohne
nicht-Fixed-Rows, etwa so:

If grdLieferPos.Row > grdLieferPos.FixedRows Then
grdLieferPos.RemoveItem grdLieferPos.Row
Else
grdLieferPos.Rows = grdLieferPos.Rows - 1
End If

Gruß

Christian

Ähnliche fragen