Kein Ergebnis bei SQL-Abfrage

AlienShooter

Grünschnabel
Hi zusammen, ich komme hier leider nicht weiter und hoffe das ihr mir weiterhelfen könnt.

Also ich möchte mit VB eine Datenbank abfragen und das Ergebnis in eine Variable speichern. Soweit so gut.
Leider bekomme ich immer beim Ausführen kein Ergebnis der Abfrage zurück.Im Value des Feldes steht dann immer "Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Der angeforderte Vorgang benötigt einen aktuellen Datensatz."


Hier erstmal mein Code:

Code:
    Private Const adOpenStatic = 3
    Private Const adLockOptimistic = 3
    Private Const adLockReadOnly = 1
    Public oConnection As Object

Sub cmdMacSuchen_Click(Index As Integer)
    Dim sSql, sClient As String
    Dim oRecordSet As New ADODB.Recordset
    Dim sTest As String

    sTest = ""
    
    'Verbindung mit der Datenbank herstellen
    DBVerbindung

    'Clientnamen aus einem Textfeld nehmen
    sClient = txtMacRechner.Text
    
    Set oRecordSet = New ADODB.Recordset
    
    sSql = "Select AUFTR_ID from AUFTRAEGE.KONFIG where cname='" & sClient & "'"
    
    oRecordSet.Open sSql, oConnection, adOpenStatic, adLockReadOnly
    While Not oRecordSet.EOF
           sTest = oRecordSet.Fields.Item(0).Value
    Wend
    oRecordSet.Close

    .....
End Sub

Habe auch schon mehrmals durchdebugt.
Wenn ich z.B. nur die Abfrage auf "Select AUFTR_ID from AUFTRAEGE.KONFIG" mache, bekomme ich komischerweise einen Value zurück.
Die Datenbankverbindung geht also schon mal.

Woran kann das liegen
Hoffe das ihr mir weiter helfen könnt. Komme im Moment nicht weiter :-(
 
abgesehen das es sehr ungewöhnlich ist Tabellen mit einem "." zu benennen ( Wovon ich dir auch abraten würde wenn du mal später mit "richtigen" Datenbanken arbeiten willst.

Vermute ich dass es an der Where bedingung liegt.

Versuch es mit

Like ' " & sClient &"*'

Grüsse bb
 
Hi, danke erstmal für die schnelle Antwort.

Rein Theoretisch muss es ja irgendwie mit der WHERE Bedingung zu tun haben, ohne klappt es ja komischerweise.
Allerdings hatte ich das auch schon versucht.
Auch mit Like '%" & sClient & "%'

leider ohne Erfolg
 
Bekommst du denn ein Ergebnis wenn du die Abfrage in access ausführst (mit where bedingung natürlich!)

Grüsse bb
 
Sind ja schon laufende Datenbanken und ja, wenn ich mit WinSQL die selbe Abfrage mache (habe sogar den Code beim Debuggen genommen) bekomme ich das Ergebnis was ich gerne in VB haben möchte.
 
AAAHH, ich habe den Fehler gefunden (schon fast peinlich) ;o)

Ich habe mit im VB Script mit der richtigen Datenbank verbunden. In WinSQL hatte ich mich aber noch mit der Testdatenbank verbunden, die genauso aufgebaut ist wie die ReferenzDB.
Nun ja, und der Datensatz den ich abgefragt habe war nur in der TestDB und nicht in der ReferenzDB enthalten *disch*

Trotzdem Danke für Eure Hilfe.
Gr€€tz AlienShooter
 
Zurück