![]() |
|
|||||||
| Newsgroup microsoft.public.de.access Forum microsoft.public.de.access |
![]() |
|
|
Themen-Optionen | Ansicht |
|
#1
|
|||
|
|||
|
Ich verwende eine Filterfunktion in einem Formular
Wenn ich jetzt die Filteraktion durchführe bekomme ich immer die Meldung "Aktion OpenForm wurde abgebrochen". Diese Aktion wird aber vorher ausgeführt werden, dann wird erst meine Klick Aktion durchgeführt. Hier der Code für den Filter: Private Sub Befehl30_Click() If Not IsNull(Me!bezsu) Then swhere = "(bezeichnung Like """ & Me!bezsu & "*"") and " If Zahl = 1 Then OrderBy = "bezeichnung" OrderByOn = True Zahl = 0 End If End If If Not IsNull(Me!nrsu) Then swhere = swhere & "(artikelnummer Like """ & Me!nrsu & "*"") and " If Zahl = 2 Then OrderBy = "artikelnummer" OrderByOn = True Zahl = 0 End If End If iLen = Len(swhere) - 5 ' Without trailing " And " If iLen <= 0 Then Me.FilterOn = False ' No criteria entered: remove filter Else Me.Filter = Left$(swhere, iLen) Me.FilterOn = True End If Das Feld artikelnummer und bezeichnung sind zwei Textfelder. Hoffe da kann mir jemand weiterhelfen, wo da das Problem liegen könnte. Vielen Dank für jede Antwort |
|
|
||||
|
||||
|
|
|
#2
|
|||
|
|||
|
Hallo,
Hubert Holler wrote: > Ich verwende eine Filterfunktion in einem Formular > Wenn ich jetzt die Filteraktion durchführe bekomme ich immer die > Meldung "Aktion OpenForm wurde abgebrochen". > > Diese Aktion wird aber vorher ausgeführt werden, dann wird erst meine > Klick Aktion durchgeführt. > Hier der Code für den Filter: > > Private Sub Befehl30_Click() > > If Not IsNull(Me!bezsu) Then > swhere = "(bezeichnung Like """ & Me!bezsu & "*"") and " > If Zahl = 1 Then > OrderBy = "bezeichnung" > OrderByOn = True > Zahl = 0 > End If > End If > If Not IsNull(Me!nrsu) Then > swhere = swhere & "(artikelnummer Like """ & Me!nrsu & "*"") and " > If Zahl = 2 Then > OrderBy = "artikelnummer" > OrderByOn = True > Zahl = 0 > End If > End If > > iLen = Len(swhere) - 5 ' Without trailing " And " > If iLen <= 0 Then > Me.FilterOn = False ' No criteria entered: remove filter > Else > Me.Filter = Left$(swhere, iLen) > Me.FilterOn = True > End If > > Das Feld artikelnummer und bezeichnung sind zwei Textfelder. Die Prozedur enthaelt keine offensichtlichen Fehler, abgesehen davon, dass swhere nicht deklariert ist. Hast du die Prozedur schon mal schrittweise ausgefuehrt? An welcher Stelle steigt er denn aus? Gruss - Peter -- Mitglied im http://www.dbdev.org FAQ: http://www.donkarl.com |
|
#3
|
|||
|
|||
|
Hallo,
Hubert Holler wrote: > Ich verwende eine Filterfunktion in einem Formular > Wenn ich jetzt die Filteraktion durchführe bekomme ich immer die > Meldung "Aktion OpenForm wurde abgebrochen". > > Diese Aktion wird aber vorher ausgeführt werden, dann wird erst meine > Klick Aktion durchgeführt. > Hier der Code für den Filter: > > Private Sub Befehl30_Click() > > If Not IsNull(Me!bezsu) Then > swhere = "(bezeichnung Like """ & Me!bezsu & "*"") and " > If Zahl = 1 Then > OrderBy = "bezeichnung" > OrderByOn = True > Zahl = 0 > End If > End If > If Not IsNull(Me!nrsu) Then > swhere = swhere & "(artikelnummer Like """ & Me!nrsu & "*"") and " > If Zahl = 2 Then > OrderBy = "artikelnummer" > OrderByOn = True > Zahl = 0 > End If > End If > > iLen = Len(swhere) - 5 ' Without trailing " And " > If iLen <= 0 Then > Me.FilterOn = False ' No criteria entered: remove filter > Else > Me.Filter = Left$(swhere, iLen) > Me.FilterOn = True > End If > > Das Feld artikelnummer und bezeichnung sind zwei Textfelder. Ich kann keine offensichtlichen Fehler erkennen, bis auf die fehlende Deklaration von swhere. Hast du schon mal schrittweise ausgefuehrt? Bis zu welcher Zeile funktioniert die Prozedur? Fueg mal die Deklaration ein und probier mal mit einer etwas umgestellten Logik: Private Sub Befehl30_Click() Dim swhere As String If Not IsNull(Me!bezsu) Then swhere = "(bezeichnung Like '" & Me!bezsu & "*')" End If If Not IsNull(Me!nrsu) Then If Len(swhere)>0 Then swhere = swhere & " and " swhere = swhere & "(artikelnummer Like '" & Me!nrsu & "*')" End If If Len(swhere) > 0 Then Me.Filter = swhere Me.FilterOn = True Else Me.Filter = "" Me.FilterOn = False End If If Zahl > 0 Then Select Case Zahl Case 1 OrderBy = "bezeichnung" Case 2 OrderBy = "artikelnummer" End Select OrderByOn = True Zahl = 0 End If End Sub Gruss - Peter -- Mitglied im http://www.dbdev.org FAQ: http://www.donkarl.com |
|
|
|
|
![]() |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| Dieser Vorgang wurde wegen Beschränkungen abgebrochen | Wuestenrennfant | Newsgroup microsoft.public.de.excel | 2 | 06-12-2009 08:21 AM |
| Aktion wird automatisch gestartet oder durch Benutzer abgebrochen -wie? | Markus Löw | Newsgroup microsoft.public.de.excel | 2 | 11-19-2008 07:28 AM |
| Aktion wird automatisch gestartet oder durch Benutzer abgebrochen -wie? | Markus Löw | Newsgroup microsoft.public.de.excel | 0 | 11-18-2008 11:28 PM |
| Laufzeitfehler 2501: Die Aktion OpenForm wurde abgebrochen | c.roitsch | Newsgroup microsoft.public.de.access | 4 | 04-24-2008 04:36 PM |
| Vorgang wurde wegen Beschränkung auf diesem Computer abgebrochen | H. Meisel | Newsgroup microsoft.public.de.outlook | 10 | 03-23-2008 09:57 PM |