Toon posts:

[DELPHI 7][ADO] Gegevens uit een tabel halen..

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben met een school opdracht bezig, bij deze opdracht moet ik meerdere gegevens uit een tabel halen die in acces zit. Ik doe dit met een ADOQuery, daar kun je SQL statements in invoeren het statement luidt als volgd...
code:
1
select * from  extra where factuurnummer = (select factuurnummer from Query_Factuur);

Ik krijg dan de fout melding : de subquery kan maximaal 1 record als resultaat hebben, en ik wil er meerdere hebben :( Want ik moet meerdere gegevens naar een rave report schrijven.

Weet iemand hoe ik dit kan oplossen,

ik heb de search en google al gebruikt.

  • johnny7
  • Registratie: November 2000
  • Laatst online: 07-11-2023
Verwijderd schreef op 24 March 2003 @ 20:59:
code:
1
select * from  extra where factuurnummer = (select factuurnummer from Query_Factuur);

Ik krijg dan de fout melding : de subquery kan maximaal 1 record als resultaat hebben, en ik wil er meerdere hebben :( Want ik moet meerdere gegevens naar een rave report schrijven.

Weet iemand hoe ik dit kan oplossen,

ik heb de search en google al gebruikt.
Volgens mij moet die = in de sqlstatement een in zijn.
Dus where factuurnummer in (select .......
Als je = gebruikt, wil je het factuurnummer vergelijken met één nummer, maar select geeft een set van factuurnummers terug. Lijkt me vrij basic sql....

[ Voor 29% gewijzigd door johnny7 op 24-03-2003 21:04 ]


Verwijderd

Topicstarter
ik kan hem inderdaad nu de property active wel op true zetten maar hij geeft echter nog steedts alle gegevens in mijn rave report weer! :( en ook als ik hem naar een grid laat dan gaat het fout :(

Om misschien een stuk duidelijker te zijn zal ikd e bedoeling v/d opdracht even uitleggen. We moeten een programma maken voor een pizzeria. Waar bij je ene kalnt selecteerd een koerier selecteerd en meerdere gerechten selecteerd(evt) het is me al gelukt om het te maken met 1 gerecht en ben dus nu bezig om meerdere gerechten toe te kunnnen voegen,

ik kan dit niet in de standaard tabel doen i.v.m sleutels.. dus heb ik een extra tabel aangemaakt waarin ik de extra gerechten zet. en die wil ik koppelen door middel van het factuur nummer. Als iemand een betere suggestie heeft dan probeer ik die graag uit want dit lijkt ook niet te gaan werken :(

Een rave report is een vernieuwde functie in delphi 7 het si de opvolger van het quickreport!

[ Voor 87% gewijzigd door Verwijderd op 24-03-2003 21:26 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:27

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op 24 March 2003 @ 21:10:
ik kan hem inderdaad nu de property active wel op true zetten maar hij geeft echter nog steedts alle gegevens in mijn rave report weer! :( en ook als ik hem naar een grid laat dan gaat het fout :(
Mijn glazen bol is laatst gebroken, dus als je zou willen aangeven wat er precies fout gaat dan kunnen we je misschien help. Ook heb ik geen idee wat een "rave report" is ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

En kan het niet gewoon met een join?

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
het is me al wel gelukt om gegevens in de database te schrijven zo heb ik dan bijvoorbeeld inde query staan

4x 338 met in die rij de betreffende gegevens. nu is het de bedoeling dat ik dus 4 x de rij met factuurnummer 338(variabel) naar een quickreport(of rave report) schrijf. Hoe kan ik dat het beste doen?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Door een dataset te leveren waar de 4 records in staan die jij wilt laten zien in je rapport.

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
dat begrijp ik alleen wil het me niet lukken :(

ik moet dus zoiets hebben in een sql commando.. maar als ik zeg:
code:
1
select * from Query_gerechten where  factuurnummer in (select factuurnummer from extra order by factuurnummer desc)


Dan krijg ik alle rijen.. dus 333 333 334 334 334 335 336 337 337 337 338 338 338 339 340 341 enz enz terwijl ik die bijvoorbeeld alleen van 338 moet hebben!

[ Voor 90% gewijzigd door Verwijderd op 25-03-2003 08:42 ]


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Het is dus een ordinair SQL probleem. Daar hebben we wel meer informatie voor nodig dan je hier gegeven hebt. Zoals bijvoorbeelde de opbouw van beide tabellen. Misschien is het een idee om een nieuw topic hierover te open aangezien de titel van deze kant nog wal raakt.

We adore chaos because we like to restore order - M.C. Escher


  • ArieProductions
  • Registratie: Januari 2002
  • Laatst online: 27-11-2024
Wat ik altijd doe, is in Access een Query maken, kan je gelijk controleren of je krijgt wat je bedoelt.
En het SQL statement vervolgens kopieren naar een TQuery van Delphi.

"Quidquid latine dictum sit, altum videtur" (Whatever is said in Latin sounds profound)


  • Delphi32
  • Registratie: Juli 2001
  • Laatst online: 22-08 10:56

Delphi32

Heading for the gates of Eden

Verwijderd schreef op 25 maart 2003 @ 08:30:
dat begrijp ik alleen wil het me niet lukken :(

ik moet dus zoiets hebben in een sql commando.. maar als ik zeg:
code:
1
select * from Query_gerechten where  factuurnummer in (select factuurnummer from extra order by factuurnummer desc)


Dan krijg ik alle rijen.. dus 333 333 334 334 334 335 336 337 337 337 338 338 338 339 340 341 enz enz terwijl ik die bijvoorbeeld alleen van 338 moet hebben!
Je wilt alleen 338 hebben? Dan snap ik je probleem denk ik niet helemaal.. want volgens mij is dit
code:
1
select * from Query_gerechten where factuurnummer = 338

gewoon wat je zoekt. En als je nou die 338 vervangt door
code:
1
:Factuurnummer
heb je meteen een parameter in je query gebruikt :) Kwestie van je param zetten naar de juiste waarde voordat je de query opent en hoplakee, alleen de 4 gewenste records komen eruit. Noot: het gebruik van de params is uitstekend gedocumenteerd in de helpfiles van Delphi.
Pagina: 1