PDA

Vollständige Version anzeigen : Filtern via Formular und Umlaute


rawaho
28.02.2001, 16:49
Hallo,
ich quäle mich mit mehreren Problemen gleichzeitig rum, daher der Reihe nach.
a) Filtern
Ich nutze eine Tabelle mit einigen Textfeldern und 25 voneinander unabhängigen Ja/Nein-Feldern. In einem Formular bearbeite ich diese, und würde gerne eine Filterfunktion einbauen. Daß es mit der rechten Maustaste (wunderbar) funktioniert, weiß ich, aber ich möchte den Leuten, die damit arbeiten, ein eigenes Formular anbieten, wo sie ihre Daten filtern können (einfache und-Verknüpfung der angeklcikten Felder), um sie dann im Bearbetungsformular weiterbearbeiten zu können. Nicht angeklickte Felder sollen bei der Abfrage ignoriert werden (Dh Wahr und Falsch sollen beide gehen).
Mein Versuch war, die Formular-Suchargumente in eine eigene Tabelle zu schreiben und in der Abfrage als Kriterium mit WIE [Tabelle.Argument1] & "*" leere Suchfelder zu ignorieren, das klappt aber nur für Textfelder.
Wie funktioniert das richtig? Einzelne Abfragen, insbes. bei 25 Feldern, ist vermutlich unnötig kompliziert.

b)Umlaute konvertieren
Bei der Ausgabe in Textdateien werden die Umlaute einer Textspalte der Tabelle zerstört. Nicht weiter tragisch, aber wie kann ich z.B. via Updateabfrage alle Umlaute zu ae etc konvertieren. Bei StrKonv("Ä";"Ae") kriege ich "Datatype mismatch" als Antwort.

c) Jetzt was vermutlich simples, wenn mein Hauptmakro läuft (ca. 10 sec) sieht man dauernd die Abfragen und Berichte aufblitzen, die es gerade bearbeitet.
Echo auf Nein funktionierte nicht (Warum???), dann habe ich versucht, einen Bericht davorzustellen, der einfach nur Warten anzeigt, aber das klappt leider auch nicht. Geht sowas vernünftig?

Vielen Dank schonmal für die Hilfe,
Ralph
P.S.: Ich nutze Access hauptsächlich mit der grafischen Oberfläche, habe zwar schon ein bißchen in VB reingeschaut, aber nie genutzt. Daher wären Antworten, wie man es mit den "Bordmitteln" hinkriegt, natürlich super.

JoergPfeifer
01.03.2001, 10:18
Hallo,
a) ein bißchen unverständlich
b) Wie wärs mit dieseer Funktion:
Public Function strKonvUml(altStr As String) As String

Dim intLenStr As Integer
Dim i As Integer
Dim StrAend As String

intLenStr = Len(altStr)

For i = 1 To intLenStr

StrAend = Mid(altStr, i, 1)

Select Case Asc(StrAend)

Case 196
StrAend = "Ae"
Case 228
StrAend = "ae"
Case 214
StrAend = "Oe"
Case 246
StrAend = "oe"
Case 220
StrAend = "Ue"
Case 252
StrAend = "ue"
Case 223
StrAend = "ss"

End Select

strKonvUml = strKonvUml & StrAend
Next

End Function

zu c) Würde ich evtl. ein Formular mit der Eigenschaft: PopUp = true und Gebunden = true verwenden
--
Gruß
Jörg Pfeifer