Access und iLike

Elscha

Mitglied
Hallo

Ich möchte gern in Access eine Abfrage haben in dessen Where-Klausel mit Like ein String verglichen wird. Zudem soll Groß und Kleinschreibung ignoriert werden.
Nur leider kennt scheinbar Access kein ilike
Bislang habe ich in meinem VBA Modul die Option
Code:
Option Compare Text
Und vergleiche mit Like


Jedoch ohne Erfolg.
 
Hier mal die ganze Sub
Code:
Private Sub akt_prognose()
    Dim bedingung As String
    bedingung = ""
    
    Dim abfrage As String
    abfrage = "SELECT SUM(PROGNOSE) As Summe FROM DBA_BT_E_TBL_POTENTIALE_1 WHERE 1 = 1 "
    
    'Geschäftseinheit
    If Len(kb_ge.Value) > 0 Then
        bedingung = bedingung & "AND GE LIKE '%" & UCase(Trim(kb_ge.Value)) & "%' "
    End If
    'Bezeichnung
    If Len(kb_bez.Value) > 0 Then
        bedingung = bedingung & "AND BEZEICHNUNG = '" & Trim(kb_bez.Value) & "' "
    End If
    'Land
    If Len(kb_land.Value) > 0 Then
        bedingung = bedingung & "AND LAND LIKE '%" & Trim(kb_land.Value) & "%' "
    End If
    'Typ
    If Len(kb_typ.Value) > 0 Then
        bedingung = bedingung & "AND TYP LIKE '%" & Trim(kb_typ.Value) & "%' "
    End If
    'Einkäufer
    If Len(kb_eink.Value) > 0 Then
        bedingung = bedingung & "AND UCASE(EINKAEUFER) = '" & UCase(kb_eink.Value) & "' "
    End If
    'Materialgruppe
    If Len(kb_gruppe.Value) > 0 Then
        bedingung = bedingung & "AND GRUPPE LIKE '%" & Trim(kb_gruppe.Value) & "%' "
    End If
    'Monat
    If Len(kb_monat.Value) > 0 Then
        bedingung = bedingung & "AND MONAT LIKE '%" & Trim(kb_monat.Value) & "%' "
    End If
    'Jahr
    If Len(kb_jahr.Value) > 0 Then
        bedingung = bedingung & "AND JAHR LIKE '%" & Trim(kb_jahr.Value) & "%' "
    End If
    
    Dim sqlBefehl As String
    sqlBefehl = abfrage & bedingung
    Debug.Print sqlBefehl
    
    
    resultSet.Open sqlBefehl, con
    Summe_Prognose.Value = resultSet![Summe]
    resultSet.Close
End Sub
Und hier mal zwei solcher Abfragen
Code:
SELECT SUM(PROGNOSE) As Summe FROM DBA_BT_E_TBL_POTENTIALE_1 WHERE 1 = 1 AND GE LIKE '%STANDARD%' AND BEZEICHNUNG = 'Nationalisierung von Dachvoutenprofilen' 
SELECT SUM(PROGNOSE) As Summe FROM DBA_BT_E_TBL_POTENTIALE_1 WHERE 1 = 1 AND GE LIKE '%NF%'
Diese Abfragen funktionieren ganz gut, solange ich keine groß- UND kleinschreibung drin habe, was jedoch leider der Fall ist. Dieses kann ich auch nicht einfach ändern indem ich n Update über die ganze Tabelle laufen lasse, also muss ich irgendwie n iLike hinbekommen.
 
Zurück