| |

VB & DatenbankenSQL-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 |  |
 | 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 |
  |
|
Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere InfosTipp des Monats TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
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
|
|