MS-Office-Forum

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

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 24.03.2006, 09:42   #1
Thomas01
MOF User
MOF User
Standard Acc2000 - Abfrage über ein Textfeld im Formular

Hallo,

es gibt folgendes Problem in meiner Datenbank.


• Ich habe ein Formular, welches als Datenblatt erstellt wurde.

• Dieses Datenblatt ist in einem Registersteuerelement als Unterformular
eingefügt.

___________________________

Ich will nun eine Abfrage erstellen.

• Es soll über eine Eingabe in einem Textfeld (welches sich auf dem Formular
befindet) nach einem bestimmten Text gesucht werden.

• Dieses Suchergebnis sollte ähnlich einem Filter, in dem Datenblatt angezeigt
werden.

• Wie kann ich nach diesem Text suchen, ohne das sich ein anderes Fenster
öffnet? Ich will das Ergebnis in dem Datenblatt haben.

mfg

Thomas
Thomas01 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.03.2006, 10:52   #2
Lia
MOF User
MOF User
Standard

Ist das Textfeld zum suchen im Hauptformular oder mit im Unterformular?

Welches Fenster öffnet sich denn dann?

Normalerweise kann man sowas mit einem Filter machen.

__________________

Gruß
Julia

WinXP mit OfficeXP
Lia ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 27.03.2006, 08:48   #3
Thomas01
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Lia,

das Textfeld befindet sich auf dem Register, in welchem ein Datenblatt als Unterformular eingefügt ist. D.h. das Textfeld befindet sich ausserhalb des Datenblattes.

Das mit dem Filter ist eine gute Idee.
Aber in diesem Fall brauche ich das Textfeld, in dem ich einen Suchbegriff eingeben kann und das dann die Ergebnisse in dem Datenblatt liefert, ohne ein neues Fenster aufzumachen.
Thomas01 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 27.03.2006, 09:38   #4
Lia
MOF User
MOF User
Standard

Du musst schon sagen, was du damit meinst:

Zitat:

...ohne ein neues Fenster aufzumachen.

Welches Fenster?

__________________

Gruß
Julia

WinXP mit OfficeXP
Lia ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 27.03.2006, 11:10   #5
Thomas01
Threadstarter Threadstarter
MOF User
MOF User
Standard

Bisher habe ich Abfragen im Abfragefenster (Entwurfsansicht) erstellt.

Z.B.: Wie [Nach xxx suchen] & "*"

Dann habe ich eine Schaltfläche auf dem Formular erstellt, welche diese Abfrage aufruft.

Nach Eingabe von bestimmten Text habe ich diese Abfrage ausgeführt und die Ergebnisse sind in einem neuen Fenster (Tabelle angezeigt worden).

Ich möchte aber, dass die Ergebnisse in dem Formular angezeigt werden, auf dem sich die Schaltfläche befindet.

Ähnlich einem Filter. War das verständlich?

mfg

Thomas
Thomas01 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 27.03.2006, 12:04   #6
Lia
MOF User
MOF User
Standard

Das ist verständlich. Das ist aber was anderes als ein Filter.

Das Datenblatt-Formular (als Unterformular) ist doch bestimmt an eine Tabelle/Abfrage gebunden. In den Optionen wird diese Tabelle/Abfrage unter "Daten/Datenherkunft" gespeichert. Direkt darunter gibt es die Option "Filter". Diesen Filter kann man auch über VBA festlegen.

__________________

Gruß
Julia

WinXP mit OfficeXP
Lia ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 28.03.2006, 08:35   #7
Thomas01
Threadstarter Threadstarter
MOF User
MOF User
Standard

Das habe ich gefunden.

Das Problem ist nur, dass das Hauptformular (Register) keine Datenherkunft hat. In diesem Hauptformular ist das Datenblatt als Unterformular eingefügt.

Auf dem Hauptformular soll aber das Textfeld erstellt werden, über das ich dann die verschiedenen Daten suchen will.

Bisher habe ich noch keinen Filter in VBA erstellt. Hast Du ein Codebeispiel, oder einen Ansatz?

mfg

Thomas
Thomas01 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 28.03.2006, 09:42   #8
Lia
MOF User
MOF User
Standard

Vielleicht kannst du damit was anfangen.

Code:

Private Sub cmd_filter_on_Click()
Me!UNTERFORMULAROBJEKT.Form.Filter = "TABELLE.FELD LIKE '*" & Me!TEXTFELD_IM_HAUPTFORMULAR & "*'"
Me!UNTERFORMULAROBJEKT.Form.FilterOn = True
End Sub

Private Sub cmd_filter_off_Click()
Me!UNTERFORMULAROBJEKT.Form.FilterOn = False
End Sub
Hier sind 2 Schaltflächen:
1. filtern
2. Filter entfernen

Die Bezeichnungen in GROSSBUCHSTABEN sind Objekt-Bezeichnungen. Die musst du durch deine Namen ersetzen.

__________________

Gruß
Julia

WinXP mit OfficeXP
Lia ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 28.03.2006, 11:12   #9
Thomas01
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Lia,

langsam kommen wir der Lösung näher glaube ich.

Nur jetzt gibt es das Problem, dass das Textfeld keine Eingabe zulässt.

Muss ich da irgendetwas mit Datenherkunft einstellen? Ich habe die Datensatzherkunft eingestellt, den Standardwert etc. Aber ich kann nichts eingeben.

Entweder steht da #Name? oder Ungebunden.

In dem Eigenschaftsfenster ist es aktiviert und auch ansonsten kann ich nichts entdecken. Woran könnte das Deiner Meinung nach liegen?

mfg

Thomas
Thomas01 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 28.03.2006, 12:03   #10
Lia
MOF User
MOF User
Standard

Sorry, habe vergessen, das zu erwähnen. Das Feld muss ungebunden bleiben. Also einfach ein Textfeld erstellen und es vernünftig benennen.

In dieser Zeile des Codes:
Code:

Me!UNTERFORMULAROBJEKT.Form.Filter = "TABELLE.FELD LIKE '*" & Me!TEXTFELD_IM_HAUPTFORMULAR & "*'"
musst du dann den Textfeldnamen eintragen. Die * habe ich dahin gemacht, damit du weißt, wie es aussehen kann, wenn man * mitaufnimmt.
=> mit diesem Code wird nach Werten gesucht, die vorne wie auch hinten noch was dran haben können

__________________

Gruß
Julia

WinXP mit OfficeXP
Lia ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 29.03.2006, 08:42   #11
Thomas01
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Lia,

das Textfeld mach Probleme, die ich bisher nicht kannte. Es ist in diesem Formular nicht möglich Eingaben in das Textfeld zu machen. Ich habe es schon oft gemacht (Textfelder auf Formulare), aber noch nicht so (Formular-Register-Unterformular in Register). Auf anderen Formularen geht es. Aber in diesem nicht. Ich kann auch keine Einstellung finden, an der es meiner Meinung nach liegen könnte.

Wie kann ich Eingaben in das Textfeld machen?
Hast Du eine Idee?

mfg

Thomas
Thomas01 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 29.03.2006, 09:12   #12
Anne Berg
MOF Guru
MOF Guru
Standard

Das Textfeld sollte doch wohl ungebunden sein, dann kannst du dort deine Suchmasken eingeben und zum Filtern des Unterformulars verwenden.
Zeige doch mal den bisherigen Code dazu und vielleicht einen Screenshot von dem Feld im Entwurfsmodus (mit Eigenschaften).

__________________

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 29.03.2006, 10:22   #13
Thomas01
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Lia,

es funktioniert. Danke. Das ist genau das was ich gesucht habe. Eine tolle Lösung.

Nun noch eine Frage. Der Text wird in einem Feld gesucht. Wie bringe ich den Filter dazu, nach dem Text in der ganzen Tabelle zu suchen?

mfg

Thomas
Thomas01 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 29.03.2006, 10:29   #14
Thomas01
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo Anne,

danke für die Antwort. Das Problem war, dass in dem Eigenschaftsfenster des Hauptformulars Bearbeiten auf Nein eingestellt war. Habe es auf Ja geändert und dann hat es funktioniert.

mfg Thomas
Thomas01 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 29.03.2006, 11:43   #15
docbyte
Neuer Benutzer
Neuer Benutzer
Standard

Ich habe jetzt alles soweit nachgebaut und soweit funktionier auch alles, nun möchte ich aber in dem Formular (Hauptformular) das Feld selber aussuchen in das gesucht werden soll und das per Kombinationsfeld.
Bisher habe ich ein Kombinationsfeld erstellt und eine Werteliste erstellt indem dann die Spalenüberschriften Vorkommen (die Originalspaltennamen).

Bei dem code

Code:

Me!UNTERFORMULAROBJEKT.Form.Filter = "TABELLE.FELD LIKE '*" & Me!TEXTFELD_IM_HAUPTFORMULAR & "*'"
habe ich dann "FELD" in den Namen des Kombinantionsfeld umbenannt.
Wenn ich das ganze jetzt ausprobiere und dann auf "filtern" klicke kommt folgende Fehlermeldung:

Laufzeitfehler 2448
Sie können diesem Objekt keinen Wert zuweisen.
docbyte ist offline  
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:11 Uhr.



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

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