105 Aufrufe
Gefragt in Datenbanken von
Guten Tag

Ich Habe Fragen zur SELECT CASE Z.B

Sub Moni08B()
Dim WS As Workspace
Dim DB As Database, rs As Recordset
Dim StrSuch, StrSuch01, StrSuch02, StrSuch03, Msg$, Taste%

On Error Resume Next
StrSuch = Me.Entgelt06
StrSuch01 = Me.PLZ001
StrSuch02 = Me.PLZ001
StrSuch03 = "B"
If Err <> 0 Then Exit Sub
On Error GoTo 0
Set WS = DBEngine.Workspaces(0)
Set DB = WS.Databases(0)
Set rs = DB.OpenRecordset("AussengebietszuschlagUPS03B", dbOpenDynaset, dbSeeChanges)
rs.FindFirst "[Land] like'*" & StrSuch & "*' AND [Niedrig] like'*" & StrSuch01 & "*' AND [Hoch] like'*" & StrSuch02 & "*' AND [TA01] like'*" & StrSuch03 & "'"
Select Case PLZ001.Value
Case Rs![Niedrig] To Rs![Hoch]
MsgBox "Okay"
Case Else
MsgBox "Nicht OKay"

End Select

Funktioniert nicht Was Habe ich Falsch gemacht?????

Danke für Ihre Hilfe

1 Antwort

0 Punkte
Beantwortet von xlking Experte (1.5k Punkte)

Hallo SOI,

damit kenne ich mich leider nicht wirklich aus. Zwar kann ich ganz gut VBA und ein bisschen SQL aber so wie du hab ich das noch nie angewendet. In welcher Anwendung läuft denn dein Code?

Was mir auf Anhieb auffällt: Bist du sicher dass die Auflistung für Worspaces und Databases Nullbasiert ist? Das ist eher was für Arrays. Sämtliche Collections die ich kenne sind immer 1 basiert. Müsste also eigentlich heißen:

Set WS = DBEngine.Workspaces(1)
Set DB = WS.Databases(1)

Außerdem solltest du auf die Verwendung von On Error Resume Next verzichten. Nur so erfährst du ob vielleicht bereits in deinen Variablen was nicht richtig ankommt.

Weiter kann ich dir leider nicht helfen, da ich hier keine entsprechende Testumgebung habe.

Gruß Mr. K.

...