vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB & Datenbanken
SQL-String, Teilweise Fehlerhaft 
Autor: Der Freddy
Datum: 27.07.12 13:41

Hallo zusammen,

ich habe in meinem VB.Net Projekt eine wunderbar Funktionierende Verbindung zu einer Access-Datenbank.

Leider hab ich trotzdem mit einer SQL-String-Generator funktion ein Problem:

Ich habe einen DataGridView den ich mit einem DataSet füllen lasse. Soweit so gut...
Jetzt kommt als Filter unter anderem ein Suchbegriff der nach bestimmten Kriterien suchen soll.

Mein Problem: Bei manchen Suchbegriffen bekomme ich eine Fehlermeldung:

"Höchstens ein Datensatz kann von dieser Unterabfrage zurückgegeben werden."

Es gibt aber mehrere Datensätze die zurückgegeben werden sollen, und auch mehrere in der Datenbank...

Ich habe hier mal den SQL-String aus der Fehlermeldung kopiert und lesbar gemacht:
SELECT
    project.projectID AS [ID],
    project.projectTitle AS [Titel],
    project.projectQuotationNumber AS [Angebotsnummer],
    IIF (
        project.projectType = 0,
        'Akquise',
        IIF (
            project.projectType = 1,
            'Anfrage',
            IIF (
                project.projectType = 2,
                'Angebot',
                IIF (
                    project.projectType = 3,
                    'Auftrag',
                    'DEFINITIONSFEHLER'
                )
            )
        )
    ) AS [Typ],
    (
        SELECT
            T1.customerName&' ( '&
            (
            SELECT
                T2.customerCompanyName
            FROM
                customerCompany AS T2
            WHERE
                T2.customerCompanyID = T1.customerCompanyID
            )
            &' )'
        FROM
            customer AS T1
        WHERE
            T1.customerID = project.projectCustomer
    ) AS [Kunde], 
    (
        SELECT
            OfficerNameLast & ', ' & OfficerNameFirst
        FROM
            Officer
        WHERE
            OfficerID = project.projectOfficer
        ) AS [Verantwortlicher],
        (
        SELECT
            OfficerNameLast & ', ' & OfficerNameFirst
        FROM
            Officer
        WHERE
            OfficerID = project.projectContact
    ) AS [Kontakt],
    project.projectPeriodStart AS [Laufzeit Start],
    project.projectPeriodEnd AS [Laufzeit Ende]
FROM
    project
        LEFT JOIN
            projectSub
        ON 
            roject.projectID = projectSub.projectSubProject
WHERE
    (
        project.projectOfficer = 1
            OR
            project.projectContact = 1
                OR
                projectSub.projectSubOfficer = 1
    )
    AND
    (
        project.projectState = 0
    )
    AND
    (
        projectContact = (
            SELECT 
                TS1.OfficerID
            FROM
                Officer AS TS1
            WHERE
                TS1.OfficerLoginName LIKE '%es%'
                OR
                TS1.OfficerNameLast LIKE '%es%'
                OR
                TS1.OfficerNameFirst LIKE '%es%'
        )
            OR
            projectOfficer = (
                SELECT
                    TS1.OfficerID
                FROM
                    Officer AS TS1
                WHERE
                    TS1.OfficerLoginName LIKE '%es%'
                    OR
                    TS1.OfficerNameLast LIKE '%es%'
                    OR
                    TS1.OfficerNameFirst LIKE '%es%'
            )
                OR
                projectSubOfficer = (
                    SELECT
                        TS1.OfficerID
                    FROM
                        Officer AS TS1
                    WHERE
                        TS1.OfficerLoginName LIKE '%es%'
                        OR
                        TS1.OfficerNameLast LIKE '%es%'
                        OR
                        TS1.OfficerNameFirst LIKE '%es%'
                )
    )
Der Fehler kommt z.B. nicht wenn ich im Schlussteil
LIKE '%es%'
mit
LIKE '%%'
ersetze.

Hat jemand eine Ahnung wo ich den Fehler finden kann, bzw. worauf ich achten sollte?

Wenn noch weitere Informationen oder Quellcode gewünscht ist, bitte fragen.

Gruß
Freddy
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SQL-String, Teilweise Fehlerhaft1.942Der Freddy27.07.12 13:41
Re: SQL-String, Teilweise Fehlerhaft1.018Der Freddy27.07.12 13:52

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-2025 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