MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 07.11.2007, 14:36   #1
Louisleon
Standard Acc2002/XP - Formularfilter VBA

Hallo,

ich bräuchte nochmal einen Klapps
Ich habe ein Formular mit verschachtelteten UFO's. Die UFO's bekommen Ihre Daten aus einem Recordset (siehe hier).
Jetzt müßte ich die Daten je UFO noch filtern.
Sollte doch eigentlich so gehen!?
Code:

    Me!frm_main_alldim_sg!frm_sub_alldim_sg1.Form.Filter = "SG_Name = 'MeinKriterium'"
    Me!frm_main_alldim_sg!frm_sub_alldim_sg1.Form.FilterOn = True
Tut es aber nicht
Nach dem aktiv schalten des Filters und jedem Requery des Formulars, kommt dafür wieder die Parametereingabe und der Filter zieht nicht.

Hat jemand eine Erklärung dafür?

Besten Dank im voraus.

Gruß

LL
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 15:15   #2
Anne Berg
MOF Guru
MOF Guru
Standard

Hallo, ich vermute, da ist etwas überflüssig/fehl am Platz:
Code:

 Me!frm_main_alldim_sg!frm_sub_alldim_sg1.Form.Filter

__________________

Liebe Grüße
Anne
Anne Berg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 15:16   #3
Josef P.
MOF Guru
MOF Guru
Standard

Die Parameterabfrage kommt, da Form.Filter vermutlich versucht die Daten neu abzufragen.

Ein Vorschlag: Kapsle die Datenfilterung im UF, dann gibt es keine Probleme.
Prinzip:
im UF:
Code:

private sub SetData(FiltVersion as long, FiltYear as long, sAdditionalFilter as string, sOrderBy as string)
' hier ist der Code der die Parameterabfrage erstellt und die Parameter zuweist.
end sub
im HF statt Filter und FilterOn:
Code:

me!sfrSteuerelement.Form.SetData ...
Josef P. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 15:26   #4
Louisleon
Standard

@Anne
Nö, das passt schon! HF->UFO->SubUFO (4x SubUFO)

@Josef
Da haben wir ein kleines Problem s.o.
Besteht die Möglichkeit die Kapsellung im ersten UFO vorzunehmen?
Werd es mal versuchen.
Danke schon mal für den Ansatz!

Gruß

LL
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 15:35   #5
Josef P.
MOF Guru
MOF Guru
Standard

Du kannst vom HF aus so starten:
me!UFO!SubUFO.Form.SetData

Ich würde mir aber wieder im UFO eine Funktion erstellen, mit der ich die Filter an die SubUFo weitergeben, damit ich nicht eine Schicht überspringen muss.
(Grund: möglicherweise komme ich irgendwann einmal auf die Idee im UFo die 4 SubUfo gegen etwas anderes auszutauschen - dann muss ich nur die eine Prodzedur im UFo ändern, aber keine Prozeduren in HFo, die das UFo verwenden.)
Aber wie es beim Programmieren eben so ist: vieles ist Geschmackssache.
Josef P. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 17:11   #6
Louisleon
Standard

Hallo Josef,

ich komm mit der Kapsellung leider nicht klar!
Beim Aufruf aus dem HF von
Code:

Me!frm_main_alldim_sg!frm_sub_alldim_sg1.Form.SetData
passiert gar nichts!
Er springt nicht in die Prozedur des UFO's.

Hab ich da was vergessen?

B.T.W, wo soll ich dann filtern?

Geändert von Louisleon (07.11.2007 um 17:13 Uhr).
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 17:16   #7
Josef P.
MOF Guru
MOF Guru
Standard

Zitat:

Hab ich da was vergessen?

Ja, das Anzeigen von Fehlern.

Im Ufo sollte etwas ähnliches vorkommen:
Code:

Public sub SetData(FiltVersion as long, FiltYear as long, sAdditionalFilter as string, sOrderBy as string)
' hier fehlt der Code der die Parameterabfrage erstellt und die Parameter zuweist.
end sub
Die Paramater dieser Prozedur sind nicht optional, damit müsste beim Aufruf ein Fehler ausgelöst werden.
Weiters schrieb ich anfangs irrtümlich Private sub statt public sub.

Geändert von Josef P. (07.11.2007 um 17:18 Uhr).
Josef P. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 17:19   #8
Louisleon
Standard

Fehler kommen keine, da

Zitat:

Er springt nicht in die Prozedur des UFO's.


Somit wird diese gar nicht aufgerufen.
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 17:22   #9
Josef P.
MOF Guru
MOF Guru
Standard

hä?
du rufst du sub doch mit
Me!frm_main_alldim_sg!frm_sub_alldim_sg1.Form.SetData
auf
Josef P. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 17:23   #10
Louisleon
Standard

So steht es zumindest im HF.
Die Sub wird aber nicht gerufen!
Er läuft einfach drüber, kein Fehler nichts!
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 17:27   #11
Josef P.
MOF Guru
MOF Guru
Standard

dann schreib einmal hinter
Me!frm_main_alldim_sg!frm_sub_alldim_sg1.Form.SetData
diese zeile:
If Err.Number <> 0 Then MsgBox "Es gib doch einen Fehler"
Josef P. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.11.2007, 17:32   #12
Louisleon
Standard

OK sorry, hab den "On Error Resume Next" übersehen!

Laufzeitfehler '2456'
Anwendungs- oder objektdefinierter Fehler!

Geändert von Louisleon (07.11.2007 um 17:36 Uhr).
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.11.2007, 10:07   #13
Louisleon
Standard

Hallo,

gestern war wohl nicht mein Tag
Absprung in Proz erfolgt inzwischen (Private in #3 war natürlich schlecht für die Proz und #7 habe ich wohl nicht mehr genau angeschaut ). Problem ist aber, das alle im HF deklarierten Variablen nicht übergeben werden. Ich möchte diese aber nicht public deklarieren, könnte diese natürlich der Proz übergeben aber der Aufwand steht nicht dazu.
Ich werde mein Modell behalten und den Filter mit einer Variablen im SQL-String ausprägen. Der Aufruf erfolgt sowieso für jedes UFO, damit sollte es dann kein Problem geben.

Trotzdem nochmals vielen Dank für die Ansätze.

Beste Grüße

LL
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.11.2007, 10:16   #14
Josef P.
MOF Guru
MOF Guru
Standard

Was sind das für Variablen?
ich versteh nämlich nicht wo der große Unterschied zwischen
Code:

Me!frm_main_alldim_sg!frm_sub_alldim_sg1.Form.Filter = "SG_Name = 'MeinKriterium'"
Me!frm_main_alldim_sg!frm_sub_alldim_sg1.Form.FilterOn = True
und
Code:

Me!frm_main_alldim_sg!frm_sub_alldim_sg1.Form.SetData 123, 456, "SG_Name = 'MeinKriterium'"
liegt - bzw. wo die Variablen benötigt werden.
Wenn diese nicht Public sind, dann hast du sie auch in deiner Variante nicht im UF verfügbar.
Josef P. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 08.11.2007, 13:22   #15
Louisleon
Standard

Hallo Josef,

es geht um die Variablen des SQL-String aus dem vorangegangene Thread (Link in Beitrag #1). Diese werden aus dem HF entnommen, da diese nicht Public sind, stehen Sie nur im HF zur Verfügung.
Leider kann ich diese nicht an das UFO "vererben" (oder doch?)
Da auch die Parameter mit dem Felddatentyp in der Abfrage abgeprüft werden, ist es somit auch nicht möglich einen Ausdruck als Parameter für ein Abfragefeld vom Typ Zahl zu übergeben (z.b.: '1 or 5').
Ich werde wohl den Lösungsansatz nochmal neu überdenken müssen.
Vieleicht hast Du ja noch eine Idee.

Gruß

LL
 
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.