![]() |
![]() |
|
![]() |
![]() |
|
Software Rat & Tat bei Softwareproblemen |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() |
![]() Folgende Access Frage:
Habe in einer (fertigen) Tabelle einer (fertigen) Datenbank 4 Spalten mit dem Datentyp "Ja/Nein". Mit einem anderen Formular werden hier Häkchen für bestimmte Optionen gesetzt und in einem Bericht so angedruckt (Hintergrund: ist eigentlich ein Pflichtenheft, die 4 Spalten sind die möglichen Nachweismethoden der Konformität). Habe nun 4 Abfragen erstellt, die jeweils auf den Wert "Wahr" in einer der 4 Spalten filtern. Damit sollen Berichte generiert werden. So, jetzt will ich aber ein Formular generieren, in dem ich oben entweder mit Radio-Buttons oder mit einem Drop-Down Menü (wäre mir egal) nur die gefilterten Datensätze (also das Ergebnis der Abfrage) in den restlichen Formularfeldern angezeigt bekomme. Also im Prinzip: bei den restlichen Feldern die Datensatzherkunft in Abhängigkeit davon ändern. Kann mir wer entsprechende Tipps geben?
____________________________________
Bei Problemen zwei Griffe ranschweißen und aus dem Fenster ..... |
![]() |
![]() |
![]() |
#2 |
Veteran
![]() Registriert seit: 08.02.2001
Alter: 41
Beiträge: 320
|
![]() Du kannst zum Beispiel mit dem Aufruf Docmd.Openreport() Argumente beim Öffnen übergeben. Da könntest du in einem Formular (oder wo auch immer) eine Auswahl treffen und den Wert dann mit OpenArgs übergeben. In der BeiÖffnen-Methode des Berichts könntest du dann den Wert abfragen und die Datenherkunft entsprechend anpassen.
Bin mir jetzt aber nicht 100% sicher welche Methode du beim Bericht nehmen musst (BeiÖffnen, BeiLaden, ...)
____________________________________
Nein, ich bin nicht die Signatur, ich putz hier nur. http://www.chili-it.at |
![]() |
![]() |
![]() |
#3 |
Veteran
![]() Registriert seit: 08.02.2001
Alter: 41
Beiträge: 320
|
![]() Ähh, ich glaub, ich hab was missverstanden. Du willst die Datenherkunft des Formulars ändern, richtig?
Dann entweder mit Forms!IrgendeineForm.Recordsource = "Table/Query" Forms!IrgendeineForm.Recordsource = "SELECT * FROM IrgendeineTabelle WHERE Feld1 = True;" bzw. wenn die Abfragen schon existieren einfach den Namen der Abfrage Forms!IrgendeineForm.Recordsource = "Table/Query" Forms!IrgendeineForm.Recordsource = "Abfrage1" oder du verwendest den Filter: Forms!IrgendeineForm.Filter = "Feld1 = True" Forms!IrgendeineForm.FilterOn = True
____________________________________
Nein, ich bin nicht die Signatur, ich putz hier nur. http://www.chili-it.at |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() |
![]() Hi Hussl!
THX für die Info! Ja genau, soll so aussehen, dass ich ein Formular habe mit einer Auswahlmöglichkeit im oberen Bereich angedacht. Von den über 200 Datensätzen soll dann nur anhand das Auswahl die Anzahl der Datensätze eingeschräkt werden: Auswahl 1 : nur Datensätze anzeigen, bei denen Spalte 11 = True ... ... Auswahl 4 : nur Datensätze anzeigen, bei denen Spalte 14 = True Wo muss ich denn die SQL-Statements reinschreiben? Klingt logisch, hatte versucht dies ins Steuerlement (Kombinationsfeld) reinzuschreiben, da hat sich Access vertschüsst.
____________________________________
Bei Problemen zwei Griffe ranschweißen und aus dem Fenster ..... |
![]() |
![]() |
![]() |
#5 |
Veteran
![]() Registriert seit: 08.02.2001
Alter: 41
Beiträge: 320
|
![]() Nehmen wir an, du hast ein Kombinationsfeld das cmbKombo heißt. Dann rechtsklickst du in der Entwurfsansicht auf das Kombofeld und gehst auf den Reiter Ereignis. Dann auf "nach Aktualisierung" und wählst [Ereignisprozedur]. Im Codefenster gibst du dann ein:
Code:
Select Case Me.cmbKombo Case "Feld11": Me.Filter = "Feld11 = True" Case "Feld12": Me.Filter = "Feld12 = True" Case "Feld13": Me.Filter = "Feld13 = True" Case "Feld14": Me.Filter = "Feld14 = True" Case Else: Exit Sub End Select Me.FilterOn = True Natürlich führen viele Wege nach Rom und das ist nur eine Variante ;-)
____________________________________
Nein, ich bin nicht die Signatur, ich putz hier nur. http://www.chili-it.at |
![]() |
![]() |
![]() |
#6 |
Inventar
![]() |
![]() Ich habe nun in ein existierendes Formular probehalber den Code eingebaut:
Case "<Otionsname>": Me.Filter = "<Feldname>= True" Das Optionsfeld hat eine Wertetabelle mit <Optionsname>, die in kein Feld geschrieben wird. Tut aber leider nichts. Stehe leider echt an.
____________________________________
Bei Problemen zwei Griffe ranschweißen und aus dem Fenster ..... |
![]() |
![]() |
![]() |
#7 |
Veteran
![]() Registriert seit: 08.02.2001
Alter: 41
Beiträge: 320
|
![]() Hab dir auf die schnelle eine Musterdatenbank erstellt. Kannst ja mal schauen, ob du damit weiterkommst.
____________________________________
Nein, ich bin nicht die Signatur, ich putz hier nur. http://www.chili-it.at |
![]() |
![]() |
![]() |
#8 |
Inventar
![]() |
![]() Hey, danke Dir vielmals!
Sieht verdammt gut aus, jetzt werde ich mir den Code rauspicken und sehen, wie ich das in meine DB integrieren kann. Muss heute etwas anderes machen, gebe Dir am Mo Vollzugsmeldung! Also nochmals danke und LG
____________________________________
Bei Problemen zwei Griffe ranschweißen und aus dem Fenster ..... |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|