Avatar billede Slettet bruger
02. november 2000 - 19:41 Der er 7 kommentarer og
1 løsning

Kartotek

Jeg har en form med TDataSource/SQLQuery der lister data i en TDbGrid fra en Paradox Db hvor hver record indeholder (Nr,Navn,Producent,Pris,o.s.v.)
Hvert record er sammensat af flere fabrikater, og disse vil jeg have listet i en anden TDbGrid fra en TTableIndhold/DataSourceIndhold.Problemet er at jeg ikke kan indexcerer mere end een (1) del i indhold. Kort fortalt, en MusikCd har et Nr, Navn,Producent,Pris (1st. del) og indeholder x antal numre (2.del) her kan jeg kun få listet 1 nr.(alle nr skal indekseres tilhørende indexet f. eks. nr. i første del.
Avatar billede davsclaus Nybegynder
02. november 2000 - 20:28 #1
Maser/detail.
Master = cd\'en (1 record)
Detail = track\'s på cd\'en (0..* records til master recorden)

Jeg er holdt op at kode i Delphi, men jeg kunne huske at den har VCL\'er til master/detail.
Avatar billede hatecaps Nybegynder
03. november 2000 - 09:03 #2
hvis du i indhold registeret har felterne cdnr,nr titel, og cdnr svarer til Nr i det første reg. kan du sætte ttableindholds mastersource property til den 1. datasource, og derefter sætte NR = cdnr i masterfields property editoren, skulle virke
Avatar billede Slettet bruger
04. november 2000 - 14:20 #3
>davsclaus<  forstår ikke helt dit svar, skal læsse først.
>hatecaps<
det er sådan jeg har gjort, men får følgende fejl,

>Project Kartotek.exe raised exception class EDBEngineError with message \'Key violation\' Process stopped. Use Step og Run to continue.<

og grunden må være at jeg i både kartotek.db og indhold.db filerne har samme index-nøgle (* key),men hvad gør jeg forkert.
Jeg har mine data liggende i 2 Excelfiler, så hvis disse kunne indlæses direkte i DelphiProject ville det være at foretrække, men dette kan jeg heller ikke få til at virke.
Forslag modtages med tak, poient efter aftale.

~ibtage~
Avatar billede hatecaps Nybegynder
05. november 2000 - 08:53 #4
en EDBEngineError med \"key violation\" skyldes som regel at du forsøger at oprette en record med samme værdi i index-feltet som en eksisterende record.
Avatar billede Slettet bruger
08. november 2000 - 13:57 #5
Jeg lukker spørgsmålet.
Tak for deltagelsen, jeg vender tilbage med et ændret spørgsmål.

Problemet er ikke løst.
~ibtage~
Avatar billede Slettet bruger
18. januar 2001 - 21:23 #6
Spørgsmålet er lukket
Avatar billede delphi Nybegynder
19. januar 2001 - 07:57 #7
Har lige set dit spørgsmål.  Master/details er ikke noget problem i Delphi (har tit gjort det), men jeg må indrømme at jeg ikke lige kan gennemskue dit spørgsmål.  Det er måske mig der er lidt fatsvag, men kan du ikke lige formulere problemet en gang til, så vil jeg forsøge med et fornuftigt svar.

Umiddelbart ser det ud til at du prøver at oprette et index på en eller flere rækker i en tabel, men at indexet ikke kan oprettes pga. to eller flere felter indeholder de samme værdier.  Hvordan går det, hvis du forsøger på en tome tabel (eller en tabel med kun en record) - her er det ikke muligt at få key violations.

Delphi
Avatar billede delphi Nybegynder
19. januar 2001 - 07:58 #8
Hvordan ser dine SQL udtryk ud.  Specificationen bitte...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester