04. december 1999 - 22:48Der er
6 kommentarer og 1 løsning
Omfattende databaseudskrivning vha. Quickreport
Hej, jeg har et problem med en quickreport i delphi 4.0 std.:
jeg har en database med nogle varer, som er sorteret efter varegruppe. Der er derfor gemt et varenummer til hver enkelt vare. Ligeledes har jeg en database med varegrupperne, hvor de har varegruppenr og navn.
Jeg skal ha' udskrevet mine varer, opdelt efter varegruppe. Derfor skulle jeg gerne, inden hver varegruppe's varer, have en overskrift med varegruppenavn, hvorefter de varer som tilhørte denne varegruppe så ville blive listet op. Dette skulle gerne ske med alle varegrupperne.
Derfor prøvede jeg at lavede en kombineret sql forespørgsel (hedder det det?), dvs. at jeg hentede nogle oplysninger fra begge databaser, ordnet efter varegruppenavn. Derfor havde jeg først alle varerne til varegruppe1, derefter til varegruppe2, etc... Desværre vil quickreport kun lave en overskrift til den første varegruppe, når jeg gør det på denne måde.
AHA tænkte jeg så, og lavede i stedet en sql forespørgsel, som hentede oplysninger om varegrupperne, så de var ordnet alfabetisk. Derefter placerede jeg en table komponent, som jeg satte til at have mastersource til den datasource som jeg nu havde knyttet til min sql. Jeg regnede så med at den ville tage den første poster i min sql forespørgsel, derefter bladre alle posterne i min varedatabase igennem, tage næste varegruppe, etc... Men nej... Nu tager den og laver overskrift til varegrupper1, varegruppe2, etc.. Men desværre bliver mine produkter ikke listet op!
Min quickreport har følgende: en qrband, som er sat til detail. Denne har en QRDBText-label på, som er knyttet til sql'en, altså varegruppenavnet. en qrchildband, som har en QRDBText som er knyttet til min table, altså varens informationer
Jeg havde regnet med at der først ville blive vist en overskrift (varegruppenavn), derefter de varer som var knyttet til denne varegruppe. Dette skulle så gentages for alle varegrupperne.
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Hvis du går ind på hjemmesiden for dem som har lavet QuickReport, kan du hente dokumentationen til komponenterne. Heri er et eksempel på netop sådant et master/detail relationship som du beskriver ovenfor. Jeg kan ikke huske de specifikke detaljer, så derfor henviser jeg dig til deres side..
Jeg har med DataBase desktop lige lavet to tabeller der indeholder det mest nødvendige:
Alle nøglefelter er af typen Long Integer.
VareGruppe tabel (Master tabel i relationen) Tabellen indeholder et nøglefelt "VareGrp" og et textfelt "GruppeNavn" For senere at kunne sortere på Gruppenavn, er der på dette felt oprettet et secondary index, kaldet "GruppeNavnIndex"
Vare Tabel (Detail tabel). Nøglefeltet "VAreNr", Textfelt "VareText" og fremmed nøgle "VareGrp" For senere at kunne styre Master-Detail relationen er der oprettet et secondary index kaldet "VareGrpIndex"
I Delphi startes en ny application. Lav et Datamodule Indsæt en TTable: - Name=taVareGruppe - IndexName=GruppeNavnIndex
Indsæt en DataSource - Name=dsVareGruppe - DataSet=taVareGruppe
Ok - Jeg sad lige og læste hvad jeg har skrevet. Jeg kan så'en med det blotte øje se, at jeg i starten har et felt i Vare-tabellen der hedder VareText. Senere, i forbindelse med QRDBText4 kalder jeg feltet VareNavn - Det skal se'følig være det samme begge steder. Jeg har skrevet det mere eller mindre ud af hovedet, så der er muligvis flere af samme slags bøffer...
Jeg har ikke haft tid endnu... ..jeg går i skole og så'n
men det lyder rigtigt, så du får dine point!
Synes godt om
Ny brugerNybegynder
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.