WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 13.07.2004, 10:35   #1
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 39
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard 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
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Alt 13.07.2004, 11:08   #2
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 39
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard

hab schon eine möglichkeit

Code:
Dim strSQL As String
    strSQL = "Select /AUSWAHL/ from /TABELLE/ Where /KRITERIUM/ Like '*"
    strSQL = strSQL & Me!liste & "*'"
    Me!liste.RowSource = strSQL
    Me!liste.Requery
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Alt 13.07.2004, 11:53   #3
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

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
wbendl ist offline   Mit Zitat antworten
Alt 13.07.2004, 14:18   #4
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 39
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von wbendl
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
die idee mit den filtern gefällt mir sehr gut.
hast du da näheres (link) dazu, mit so etwas hab ich nämlich noch nie geabeitet...

lg
Christoph
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Alt 13.07.2004, 14:34   #5
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 39
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard

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
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Alt 13.07.2004, 14:47   #6
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

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
wbendl ist offline   Mit Zitat antworten
Alt 13.07.2004, 18:18   #7
powerman
gesperrt
 
Registriert seit: 08.06.2002
Alter: 76
Beiträge: 4.263


Standard

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,-€
powerman ist offline   Mit Zitat antworten
Alt 14.07.2004, 08:43   #8
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 39
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard

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
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Alt 14.07.2004, 11:48   #9
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Übersichtlicher wirds, wenn du zum Zählen eine eigene Abfrage erstellst.

mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 14.07.2004, 12:38   #10
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 39
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von powerman
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,-€
könntest mir die betreffenden Seiten faxen??

danke für den tipp werd zum Kienreich schauen, vlt hat ers da.
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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 hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:58 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag