![]() |
ein allerletztes mal ;) : Access Textboxinhalt in where Klausel
wie bau ich exemplarisch den Inhalt einer Textbox in eine "Where Klausel" ein, damit ich damit dann einen Bericht erstellen kann, der die gefilterten Datensätze enthält...
mfg |
hab schon eine möglichkeit
Code:
Dim strSQL As String |
Hi!
Grundsätzlich kann man den Inhalt einer Textbox einer in einem SQL-Statement verwenden. Aus Sicherheitsgründen würde ich es aber nicht machen. Eine (un)absichtliche unvorhergesehen Eingabe in die Textbox kann unangenehme Folgen haben. Da ist von Absturz bis Aushebeln von Sicherheitmechanismen alles möglich. Dein Code verwendet aber anscheinend ein Listenfeld. Wenn nur vorgegebene Möglichkeiten zur Auswahl stehen ist das OK. Was ich nicht verstehe: Filter sich das Listenfeld durch die eigene Auswahl? Das würde wohl keinen Sinn machen. Vorschlagen würde ich folgendes: Ein Dropdown, das die Ausdrücke für den Filter zur Auswahl anbietet. Ein zusätzlicher Eintrag "Alle", um die Daten ungefiltert anzuzeigen. Das Recordset ohne Filter (also mit allen DS) erstellen, und anschließend durch Auswahl im Dropdown filtern. Wenn du die Auswahl in die WHERE-Klausel einbaust, muß das Recordset jedesmal neu erstellt werden. Das hat nur Sinn, wenn man mit ständigen Änderungen der Daten rechnen muß. mfg WB |
Zitat:
hast du da näheres (link) dazu, mit so etwas hab ich nämlich noch nie geabeitet... lg Christoph |
und wenn ma grad dabei sind ;)
wie kann ich in access feststellen wie oft (in wie vielen Zeilen) der Buchstabe A vorkommt ?? A A B C D A A A A - 6 so auf die Art :) mfg |
Hi!
Filter funktioniert wie WHERE, nur ohne dem Schlüsselwort. Recordset.Filter = "Feld = Suchbegriff" Recordset.Filter = "" hebt den Filter wieder auf. Die Anzahl von Zeilen kann man z. B. mit Recordset.RecordCount oder mit der SQL-Funktion Count feststellen. mfg WB |
hi,
und dazu gibt es vom data becker "programmierung in access" ein d i c k e s b u c h (1178 seiten) isb n 3-8158....für ca. 60,-€ |
kann ich Count (=Anzahl) auch so einschränken, dass nicht alle Zeilen gezählt werden, sondern nur zb die mit "PID"
in meinem Bericht sind nämlich einschübe vorhanden, die Leerzeilen verursachen, die ich natürlich nicht zählen will. mfg |
Hi!
Übersichtlicher wirds, wenn du zum Zählen eine eigene Abfrage erstellst. mfg WB |
Zitat:
:D danke für den tipp werd zum Kienreich schauen, vlt hat ers da. |
kann ich in dem Code:
Code:
SELECT count(dP1.P1PENR) AS [Anzahl der Arbeiter] irgendwie nimmt er scheinbar die Werte aus der Combobox nicht, denn es kommt immer so ein nettes Pop-Up wo ich den Abteilungsnamen eingeben soll :( :) mfg |
Hi!
Jetz ist die Grenze meiner Kenntnisse über Access erreicht. Ich verwende Access als Benutzer-Oberfläche seit Jahren nicht mehr. Versuch mal die Text-Eigenschaft explizit anzugeben. Wenn das nicht hilft, bleibt auf jeden Fall noch die Möglichkeit, auf VBA umzusteigen. (Was ich sowieso für besser halte) mfg WB |
Zitat:
danke für die viele Hilfe bisher, ich werde mir wohl das VBA Buch von weiter oben besorgen müssen :) THX ALOT mfg |
Bei Lösungen mit VB und VBA kann ich dir schon noch helfen. Nur mit den Accessspezifischen Dingen bin ich nicht so bewandert.
Wenn du dich weiterbilden willst, solltest du für DB-Anwendungen auf VB setzen, und auf Access als Oberfläche verzichten. Als 1.Schritt kannst du eine auf VBA basierende Oberfläche mit Access erstellen, und dabei auf möglicht viele Hilfsmittel verzichten. Auch auf die gebundenen Steuerelemente solltest du verzichten. Damit ist ziemlich alles möglich. Nur der Umstieg auf eine neue Access-Version bringt meistens Probleme. Darum habe ich Access total aufgegeben, und verwende VB6 für die Oberfläche. Das ist am Anfang mehr Arbeit, weil du viel lernen mußt. Aber es zahlt sich aus. Du wirst staunen, was man alles machen kann. Es gibt einige gute E-Books zum Thema. Und im Forum gibt's auch immer Hilfe. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag