| |

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! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 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
|
|