+ Antworten
Ergebnis 1 bis 5 von 5

Thema: SQL Datenbankabfrage

  1. #1
    TP-Junior Malte macht alles soweit korrekt
    Registriert seit
    May 2002
    Beiträge
    6

    Question SQL Datenbankabfrage

    Wie erstelle ich aus einer MDB folgende Abfrage:

    Name der Tabelle: Kunden

    Feld1: Firma
    Feld2: Ort
    Feld3: Kundennummer

    Jetzt möchte ich anhand von Firma und Ort mit einer SQL Abfrage die Kundennummer herausfinden.


    Habs mal so probiert aber irgendwas mache ich falsch:

    Hinweis: Firma und Ort habe ich in Stringvariablen.


    SQL_Suche_Kundennummer "SELECT * FROM Kunden " & "WHERE Firma = Firma AND Ort = Ort", qdfTemp

    Function SQL_Suche_Kundennummer(strSQL As String, qdfTemp As QueryDef)
    Dim RST As Recordset
    qdfTemp.SQL = strSQL
    Set RST = qdfTemp.OpenRecordset
    Debug.Print strSQL
    With RST
    Do While Not .EOF
    MsgBox " " & !Kundennummer
    'List1.AddItem " " & !Kundennummer ' Als Test in Kundenliste letzte
    .MoveNext ' Zeile
    Loop
    .Close
    End With
    End Function


    Arbeite mit VB 6.0

  2. #2
    TP-Junior Malte macht alles soweit korrekt
    Registriert seit
    May 2002
    Beiträge
    6

    Question SQL Datenbankabfrage

    Habe mal Testweise anstatt die Stringvariablen feste
    Werte eingegeben, dann funktionierts.

    Der Fehler liegt also daran, das ich irgenwie die Stringvariablen
    falsch einsetze.



    So gehts, nur wie mach ich's so das Variablen eingesetzt werden
    können?

    SQL_Suche_Kundennummer "SELECT * FROM Kunden " & "WHERE Firma = 'Müller' AND Ort = 'Bonn', qdfTemp

  3. #3
    TP-Member ralle macht alles soweit korrekt Avatar von ralle
    Registriert seit
    Feb 2001
    Ort
    Wiesbaden
    Beiträge
    37
    Hallo,

    meine VB-Kenntnisse sind zwar ein wenig eingerostet, aber vielleicht so:

    SQL_Suche_Kundennummer "SELECT * FROM Kunden WHERE Firma = '" & Firma & "' AND Ort = '" & Ort & "'", qdfTemp

    Firma und Ort sollen ja wohl die Variablen sein.

    Viele Grüße
    ralle

  4. #4
    TP-Junior Malte macht alles soweit korrekt
    Registriert seit
    May 2002
    Beiträge
    6

    SQL Datenbankabfrage

    Ich Hirni !

    Wenn ich eine Variable innerhalb Anführungszeichen setze
    ist dies natürlich wirkungslos.

    Hab mir jetzt den String zusammengebaut und es läuft:

    SQL_Suche_Kundennummer "SELECT * FROM Kunden " & "WHERE Firma = " & "'" & Firma _
    & "'" & " " & "AND Ort = " & "'" & Ort & "'", qdfTemp

  5. #5
    TP-Junior Malte macht alles soweit korrekt
    Registriert seit
    May 2002
    Beiträge
    6

    Wink SQL Datenbankabfrage Lösung

    Hier ist die Lösung meines Problems:

    Private Sub GetLastCustomData()
    Dim DBS As Database
    Dim RST As Recordset
    Dim qdfTemp As QueryDef
    Set DBS = OpenDatabase(DataBaseWithPath)
    Set RST = DBS.OpenRecordset("Bestellungen", dbOpenDynaset)
    Set qdfTemp = DBS.CreateQueryDef("")
    'Anhand von Kundennummer und letztes Bestelldatum in Bestelltabelle Werte setzen
    'SQLGetLastCustomData "SELECT * FROM Bestellungen " & "WHERE Kundennummer = " _
    '& Kundennummer & " ORDER BY Bestelldatum DESC", qdfTemp

    'Info DESC kehrt Sortierreihenfolge um

    MsgBox "SELECT * FROM Bestellungen " & "WHERE Kundennummer = " _
    & Kundennummer & " AND Bestelldatum IN " & _
    "(SELECT max(Bestelldatum) FROM Bestellungen WHERE Kundennummer = " & Kundennummer & ")"

    SQLGetLastCustomData "SELECT * FROM Bestellungen " & "WHERE Kundennummer = " _
    & Kundennummer & " AND Bestelldatum IN " & _
    "(SELECT MAX(Bestelldatum) FROM Bestellungen WHERE Kundennummer = " & Kundennummer & ")", qdfTemp
    RST.Close
    DBS.Close
    End Sub

    Function SQLGetLastCustomData(strSQL As String, qdfTemp As QueryDef)
    Dim RST As Recordset
    'Dim Artikelnummer As Long
    qdfTemp.SQL = strSQL
    Set RST = qdfTemp.OpenRecordset
    Debug.Print strSQL
    With RST
    Do While Not .EOF
    Debug.Print !Bestelldatum
    Check1(!Artikelnummer - 1).Value = 1
    Text1(!Artikelnummer - 1).Text = !Bestellmenge
    'MsgBox !Bestelldatum
    .MoveNext
    Loop
    .Close
    End With
    End Function

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51