Peter Uhlig
2007-04-17 19:49:36 UTC
Hallo Miteinander,
ich habe ein Problem und weiß nicht weiter, weiß jemand vielleicht
hilfe?
Ich habe ein Übersichtsfenster, welches sich mit einem Timer alle 10
Sekunden aktualisiert.
Nach ca. 3 Stunden kommt folgende Fehlermeldung zustande:
Laufzeitfehler 2101
Die von Ihnen eingegebene Einstellung ist für diese Eigenschaft
ungültig.
Schließe ich das Fenster und öffne es neu über den selben Button
erscheint folgende Meldung:
Laufzeitfehler 9
Index außerhalb des gültigen Bereichs
Folgendes VBA zum Fenster:
Private Sub Form_Load()
Call aktualisieren
End Sub
Private Sub Form_Timer()
Call aktualisieren
End Sub
Private Sub aktualisieren()
Dim strSQL_O As String
Dim j As Integer
Dim DBS As DAO.Database
Dim rs As DAO.Recordset
Dim pl As Double
Dim strklassen As String
strklassen = "'"
For j = 0 To UBound(gstrKLassen)
If j < UBound(gstrKLassen) Then
strklassen = strklassen & gstrKLassen(j) & "' OR
(tabKlassen.tabklName)= '"
Else
strklassen = strklassen & gstrKLassen(j) & "'"
End If
Next j
strSQL_O = " SELECT tabGesamt.StNr, tabGesamt.IDver, tabPers.tabpName,
tabPers.tabpLizenz, tabPers.tabpOrt, tabKlassen.tabKlName,
tabFahrzeug.tabFzName, tabclub.cName, qry_ua_as_dmsb_bew.BSpName,
qry_ua_as_dmsb_bew.BSpLizenz, qry_ua_as_dmsb_sp.BSpName,
qry_ua_as_dmsb_sp.BSpLizenz, qry_ua_tr1.tabzZ, qry_ua_tr1.tabzP,
qry_ua_tr1.tabzT, qry_ua_tr1.Ausdr1, qry_ua_Wl1.tabzZ,
qry_ua_Wl1.tabzP, qry_ua_Wl1.tabzT, qry_ua_Wl1.tabzW,
qry_ua_Wl1.Ausdr1, qry_ua_Wl2.tabzZ, qry_ua_Wl2.tabzP,
qry_ua_Wl2.tabzT, qry_ua_Wl2.tabzW, qry_ua_Wl2.Ausdr1,
qry_ua_Wl3.tabzZ, qry_ua_Wl3.tabzP, qry_ua_Wl3.tabzT,
qry_ua_Wl3.tabzW, qry_ua_Wl3.Ausdr1, [qry_ua_Wl1]![tabzW]+[qry_ua_Wl2]!
[tabzW]+[qry_ua_Wl3]![tabzW] AS Ausdr2, [qry_ua_Wl1]![Ausdr1]+
[qry_ua_Wl2]![Ausdr1]+[qry_ua_Wl3]![Ausdr1] AS Summe,
IIf(([qry_ua_Wl1]![tabzW]+[qry_ua_Wl2]![tabzW]+[qry_ua_Wl3]!
[tabzW])<0,'nicht gewertet') AS platzn, IIf(([qry_ua_Wl1]![tabzW]+
[qry_ua_Wl2]![tabzW]+[qry_ua_Wl3]![tabzW])=0,1) AS platz "
strSQL_O = strSQL_O & "FROM qry_ua_Wl3 INNER JOIN (qry_ua_Wl2 INNER
JOIN (qry_ua_Wl1 INNER JOIN (qry_ua_tr1 INNER JOIN (qry_ua_as_dmsb_sp
INNER JOIN (qry_ua_as_dmsb_bew INNER JOIN (tabclub INNER JOIN
(tabFahrzeug INNER JOIN (tabKlassen INNER JOIN (tabPers INNER JOIN
tabGesamt ON tabPers.IDpers = tabGesamt.IDpers) ON tabKlassen.ID =
tabGesamt.IDkl) ON tabFahrzeug.IDfz = tabGesamt.IDfa) ON
tabclub.IDclub = tabPers.tabpIDoc) ON qry_ua_as_dmsb_bew.StNr =
tabGesamt.StNr) ON qry_ua_as_dmsb_sp.StNr = tabGesamt.StNr) ON
qry_ua_tr1.IDges = tabGesamt.ID) ON qry_ua_Wl1.IDges = tabGesamt.ID)
ON qry_ua_Wl2.IDges = tabGesamt.ID) ON qry_ua_Wl3.IDges = tabGesamt.ID
"
strSQL_O = strSQL_O & "WHERE ((((tabGesamt.IDver) = [Formulare]!
[frmVeranstaltung]![IDver])) AND ((tabklassen.tabklName) Like " &
strklassen & ")) "
strSQL_O = strSQL_O & "ORDER BY (([qry_ua_Wl1]![tabzW]*-1)+
([qry_ua_Wl2]![tabzW]*-1)+([qry_ua_Wl3]![tabzW]*-1)), [qry_ua_Wl1]!
[Ausdr1]+[qry_ua_Wl2]![Ausdr1]+[qry_ua_Wl3]![Ausdr1], (([qry_ua_Wl1]!
[tabzP]*3)+([qry_ua_Wl1]![tabzT]*15)+([qry_ua_Wl2]![tabzP]*3)+
([qry_ua_Wl2]![tabzT]*15)+([qry_ua_Wl3]![tabzP]*3)+([qry_ua_Wl3]!
[tabzT]*15)); "
Me.RecordSource = strSQL_O
End Sub
Folgendes VBA zum Formularbutton, der das aufruft:
Private Sub btn_frm_tv_3wl_Click()
' Übersichenmonitor öffnen 3 Wertungsläufe
Dim i As Integer
On Error Resume Next
If Me.lstklassenauswahl.ListCount = 0 Then
MsgBox "Bitte KLasse auswählen", vbCritical
Exit Sub
End If
ReDim gstrKLassen(Me.lstklassenauswahl.ListCount - 1)
For i = 0 To Me.lstklassenauswahl.ListCount - 1
gstrKLassen(i) = Me.lstklassenauswahl.ItemData(i)
Next i
DoCmd.OpenForm "frm_TV_AS_DMSB_3Wl", acLayout, , , , acWindowNormal
End Sub
hatte jemand schon mal solch ein Problem oder weiß jemand wie ich das
in den Griff bekomme?
das Fenster soll eigentlich 10 Stunden offen bleiben und nach ca drei
Stunden tauch das Problem dann auf.
Was noch auffällig ist, die Werte die das Formular anzeigt werden
weiterhin aktualisiert,nur die Sortierfunktion im SQL geht nicht mehr,
das ist das einzigste was aufhört.
Ich hatte das Problem mir ner ähnlichen Datenbank schon unter Access
2003.
Viele Grüße
Danke für nen Tip
Peter
ich habe ein Problem und weiß nicht weiter, weiß jemand vielleicht
hilfe?
Ich habe ein Übersichtsfenster, welches sich mit einem Timer alle 10
Sekunden aktualisiert.
Nach ca. 3 Stunden kommt folgende Fehlermeldung zustande:
Laufzeitfehler 2101
Die von Ihnen eingegebene Einstellung ist für diese Eigenschaft
ungültig.
Schließe ich das Fenster und öffne es neu über den selben Button
erscheint folgende Meldung:
Laufzeitfehler 9
Index außerhalb des gültigen Bereichs
Folgendes VBA zum Fenster:
Private Sub Form_Load()
Call aktualisieren
End Sub
Private Sub Form_Timer()
Call aktualisieren
End Sub
Private Sub aktualisieren()
Dim strSQL_O As String
Dim j As Integer
Dim DBS As DAO.Database
Dim rs As DAO.Recordset
Dim pl As Double
Dim strklassen As String
strklassen = "'"
For j = 0 To UBound(gstrKLassen)
If j < UBound(gstrKLassen) Then
strklassen = strklassen & gstrKLassen(j) & "' OR
(tabKlassen.tabklName)= '"
Else
strklassen = strklassen & gstrKLassen(j) & "'"
End If
Next j
strSQL_O = " SELECT tabGesamt.StNr, tabGesamt.IDver, tabPers.tabpName,
tabPers.tabpLizenz, tabPers.tabpOrt, tabKlassen.tabKlName,
tabFahrzeug.tabFzName, tabclub.cName, qry_ua_as_dmsb_bew.BSpName,
qry_ua_as_dmsb_bew.BSpLizenz, qry_ua_as_dmsb_sp.BSpName,
qry_ua_as_dmsb_sp.BSpLizenz, qry_ua_tr1.tabzZ, qry_ua_tr1.tabzP,
qry_ua_tr1.tabzT, qry_ua_tr1.Ausdr1, qry_ua_Wl1.tabzZ,
qry_ua_Wl1.tabzP, qry_ua_Wl1.tabzT, qry_ua_Wl1.tabzW,
qry_ua_Wl1.Ausdr1, qry_ua_Wl2.tabzZ, qry_ua_Wl2.tabzP,
qry_ua_Wl2.tabzT, qry_ua_Wl2.tabzW, qry_ua_Wl2.Ausdr1,
qry_ua_Wl3.tabzZ, qry_ua_Wl3.tabzP, qry_ua_Wl3.tabzT,
qry_ua_Wl3.tabzW, qry_ua_Wl3.Ausdr1, [qry_ua_Wl1]![tabzW]+[qry_ua_Wl2]!
[tabzW]+[qry_ua_Wl3]![tabzW] AS Ausdr2, [qry_ua_Wl1]![Ausdr1]+
[qry_ua_Wl2]![Ausdr1]+[qry_ua_Wl3]![Ausdr1] AS Summe,
IIf(([qry_ua_Wl1]![tabzW]+[qry_ua_Wl2]![tabzW]+[qry_ua_Wl3]!
[tabzW])<0,'nicht gewertet') AS platzn, IIf(([qry_ua_Wl1]![tabzW]+
[qry_ua_Wl2]![tabzW]+[qry_ua_Wl3]![tabzW])=0,1) AS platz "
strSQL_O = strSQL_O & "FROM qry_ua_Wl3 INNER JOIN (qry_ua_Wl2 INNER
JOIN (qry_ua_Wl1 INNER JOIN (qry_ua_tr1 INNER JOIN (qry_ua_as_dmsb_sp
INNER JOIN (qry_ua_as_dmsb_bew INNER JOIN (tabclub INNER JOIN
(tabFahrzeug INNER JOIN (tabKlassen INNER JOIN (tabPers INNER JOIN
tabGesamt ON tabPers.IDpers = tabGesamt.IDpers) ON tabKlassen.ID =
tabGesamt.IDkl) ON tabFahrzeug.IDfz = tabGesamt.IDfa) ON
tabclub.IDclub = tabPers.tabpIDoc) ON qry_ua_as_dmsb_bew.StNr =
tabGesamt.StNr) ON qry_ua_as_dmsb_sp.StNr = tabGesamt.StNr) ON
qry_ua_tr1.IDges = tabGesamt.ID) ON qry_ua_Wl1.IDges = tabGesamt.ID)
ON qry_ua_Wl2.IDges = tabGesamt.ID) ON qry_ua_Wl3.IDges = tabGesamt.ID
"
strSQL_O = strSQL_O & "WHERE ((((tabGesamt.IDver) = [Formulare]!
[frmVeranstaltung]![IDver])) AND ((tabklassen.tabklName) Like " &
strklassen & ")) "
strSQL_O = strSQL_O & "ORDER BY (([qry_ua_Wl1]![tabzW]*-1)+
([qry_ua_Wl2]![tabzW]*-1)+([qry_ua_Wl3]![tabzW]*-1)), [qry_ua_Wl1]!
[Ausdr1]+[qry_ua_Wl2]![Ausdr1]+[qry_ua_Wl3]![Ausdr1], (([qry_ua_Wl1]!
[tabzP]*3)+([qry_ua_Wl1]![tabzT]*15)+([qry_ua_Wl2]![tabzP]*3)+
([qry_ua_Wl2]![tabzT]*15)+([qry_ua_Wl3]![tabzP]*3)+([qry_ua_Wl3]!
[tabzT]*15)); "
Me.RecordSource = strSQL_O
End Sub
Folgendes VBA zum Formularbutton, der das aufruft:
Private Sub btn_frm_tv_3wl_Click()
' Übersichenmonitor öffnen 3 Wertungsläufe
Dim i As Integer
On Error Resume Next
If Me.lstklassenauswahl.ListCount = 0 Then
MsgBox "Bitte KLasse auswählen", vbCritical
Exit Sub
End If
ReDim gstrKLassen(Me.lstklassenauswahl.ListCount - 1)
For i = 0 To Me.lstklassenauswahl.ListCount - 1
gstrKLassen(i) = Me.lstklassenauswahl.ItemData(i)
Next i
DoCmd.OpenForm "frm_TV_AS_DMSB_3Wl", acLayout, , , , acWindowNormal
End Sub
hatte jemand schon mal solch ein Problem oder weiß jemand wie ich das
in den Griff bekomme?
das Fenster soll eigentlich 10 Stunden offen bleiben und nach ca drei
Stunden tauch das Problem dann auf.
Was noch auffällig ist, die Werte die das Formular anzeigt werden
weiterhin aktualisiert,nur die Sortierfunktion im SQL geht nicht mehr,
das ist das einzigste was aufhört.
Ich hatte das Problem mir ner ähnlichen Datenbank schon unter Access
2003.
Viele Grüße
Danke für nen Tip
Peter