| |

Fortgeschrittene ProgrammierungTrueDBGrid von ComponentOne und Probleme mit "FilterChange" | |  | Autor: Klaas | Datum: 16.06.03 14:18 |
| Guten Tag allerseits,
ich habe eine DB-Anwendung (Access und ADO. Connection und alles weitere wurde per Quellcode erstellt.
Nun habe ich zur Gesamtübersicht meiner Daten ein TrueDBGrid von ComponentOne benutzt. Dort gibt es die Möglichkeit, eine "FilterBar" zu aktivieren, damit man eine Suchzeile in dem Grid hat.
Zu dieser Suchzeile gibt es diese Funktion:
Private Function GetFilter() As String
On Local Error GoTo err_getFilter
Dim tmp As String
Dim n As Integer
For Each col In cols
If Trim(col.FilterText) <> "" Then
n = n + 1
If n > 1 Then
tmp = tmp & " AND "
End If
'Einer meiner Versuche...
'Select Case col.ColIndex
' Case 6:
' tmp = tmp & col.DataField & " LIKE " & col.FilterText & "*"
' Case Else
' tmp = tmp & col.DataField & " LIKE '" & col.FilterText & _
"*'"
'End Select
tmp = tmp & col.DataField & " LIKE '" & col.FilterText & "*'"
End If
Next col
' Nur zum Test:
'Debug.Print tmp
GetFilter = tmp
' -----------------Procedure-Exit---------------
Exit_getFilter:
' Prozedur verlassen
Exit Function
' -----------------Err-Handler---------------
err_getFilter:
MsgBox Err.Description, vbCritical, "Modul:frmObjekte, Proc:GetFilter"
GetFilter = ""
Resume Exit_getFilter
End Function und dieses Ereignis für das Grid:
Private Sub tgridObjekte_FilterChange()
On Local Error GoTo err_tgridObjekte_FilterChange
With tgridObjekte
Set cols = .Columns
Dim c As Integer
c = .col
.HoldFields
rsObjects.Filter = GetFilter()
.col = c
.EditActive = True
End With
' -----------------Procedure-Exit---------------
Exit_tgridObjekte_FilterChange:
' Prozedur verlassen
Exit Sub
' -----------------Err-Handler---------------
err_tgridObjekte_FilterChange:
Select Case Err.Number
Case -2147217825:
Err.Clear
MsgBox "Suche funktioniert in diesem Abschnitt noch nicht!", _
vbInformation, C_APPNAME
Case -2147217900:
Err.Clear
MsgBox "Suche funktioniert in diesem Abschnitt noch nicht!", _
vbInformation, C_APPNAME
Case 3704:
Err.Clear
MsgBox "Suche funktioniert in diesem Abschnitt noch nicht!", _
vbInformation, C_APPNAME
'Case 3001:
' Err.Clear
' MsgBox "Suche funktioniert in diesem Abschnitt noch nicht!",
' vbInformation, C_APPNAME
Case Else
MsgBox Err.Description & Err.Number, vbCritical, "Modul:frmObjekte," & _
"Proc:tgridObjekte_FilterChange"
Resume Exit_tgridObjekte_FilterChange
End Select
End Sub (Die "err.Clear" habe ich gemacht, damit ICH dem User wenigstens eine von mir erstellte Fehlermeldung geben kann.)
Nun das Problem:
Wenn ich in eine numerische Spalte (bei mir die 6., siehe SelectCase Col.Colindex), also in der DB ein Zahlenfeld, etwas eintrage, dann kommt folgende Fehlermeldung:
Die Argumente sind vom falschen Typ, liegen außerhalb des Gültigkeitsbereiches oder sind miteinander unvereinbar
Ich habe nun Probleme, die Suchfunktion so anzupassen, dass auch Zahlen möglich sind.
Kennt jemand diese Komponente und dieses Problem oder weiß da jemand Rat?
Vielen Dank für Eure Hilfe.
Schöne Grüße
Klaas |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevOutBar 4.0 
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|