vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Syntax einer Select......WHERE Abfrage 
Autor: guenni255
Datum: 01.06.19 15:07

Hallo Forum

Ich habe da ein Problem mit der Syntax einer Access Abfrage in VB 6.0.

Public Function DBprüfen(Anb As String, Tarifn As String, st As Boolean, ga As _
  Boolean, laufz As Integer) As Boolean
strDSQ = "SELECT * FROM Tarif WHERE Anbieter = '" & Anb & "' and Tarifname = '" _
& Tarifn & "' and Strom = '" & st & "' and Gas = '" & ga & "' and Laufzeit = " _
& laufz & " "
Set rsdat = DB.OpenRecordset(strDSQ, dbOpenDynaset)
Startet diese Abfrage kommt die Fehlermeldung "Datentypen in Kriterienausdruck unverträglich".
es liegt an den beiden Ausdrücken vom Typ Boolean. Lasse ich die Hochkomma bei den Boolean weg kommt die Meldung "zu wenig Parameter übergeben".

Wie muss die Abfrage richtig aussehen???

Hoffe ich war einigermaßen verständlich.

Für einen Stupser in die richtige Richtung wär ich euch sehr dankbar.

LG Günni
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Syntax einer Select......WHERE Abfrage 
Autor: Zardoz
Datum: 01.06.19 16:20

Hallo Günni,
wenn du einen String zusammensetzt, musst du alle Variablen, die nicht vom
Typ String sind mit CStr in einen String konvertieren. Wenn das bei Boolean
so nicht funktioniert probier mal: IIf(ga = True, "True", "False").

Gruss,

Zardoz

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Syntax einer Select......WHERE Abfrage 
Autor: guenni255
Datum: 02.06.19 07:46

Hallo Zardoz

Danke für Deine schnelle Antwort.
Ich habe da andere Erfahrungen gemacht. Ich kann auch Integer oder Long Variablen direkt einlesen ohne sie in einen String umzuwandeln. Das Problem liegt meiner Meinung nach daran das eine Variable vom Typ Boolan in VB wirklich mit "wahr" bzw "Falsch" verglichen werden kann wobei in Access das "ja/nein" mit 1 bzw 0 verglichen wird.
Wahrscheinlich muss ich weiterhin meine Lösung des Problems nutzen das mir nur zu umständlich erscheint.
strDSQ = "SELECT * FROM Tarif"
Set rsdat = DB.OpenRecordset(strDSQ, dbOpenDynaset)
With rsdat
If .EOF = True And .BOF = True Then DBprüfen = False: Exit Function
 
.MoveFirst
Do While Not .EOF
     Select Case .Fields(1)
        Case Is = Anb
            Select Case .Fields(4)
                Case Is = Tarifn
                    Select Case .Fields(2)
                        Case Is = st
                            Select Case .Fields(3)
                                Case Is = ga
                                    Select Case .Fields(7)
                                        Case Is = laufz
                                            DBprüfen = True
                                    End Select
                            End Select
                    End Select
            End Select
    End Select
 .MoveNext
 Loop
Vielen Dank nochmal

Gruß Günni
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 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