22. februar 2005 - 15:47Der er
7 kommentarer og 1 løsning
Sql forespørgsel skal brugeren kunne reducere
Hey eksperter
Jeg er ved at lave en program med database over en masse studerende på en skole. Jeg arbejder i Delphi 4 og m. en Paradox-database... Det er sådan at der er et edit felt hvor brugeren kan søge efter studerende f.eks fra en bestemt by. nedeunder i samme form er der en masse edit felter som referere til navn, adresse, tlf, postnr osv på den studerende som man vil ændre i. Det jeg mangler hjælp til er at når man klikker på "søg" knappen skal der åbne et nyt vindue med de muligheder (læs:studerende) der er fra den by man søger på. I dette popup vindue skal man kunne klikke på én(!) af de studerende hvis data så returneres til den oprindelige form og vises i de føromtalte edit-felter... Men hvordan??! jeg går ud fra at det nye vindue (popup'en) åbner som en ny form... jeg søger en rimelig grundlæggende guide til at lave den nye form, vælge hvilken studerende + returnere valget til den oprindelige form... please help! :-)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Uhh. Hvis du vil lave et nyt program, så pas på med de Paradox-tabeller. De fungerer, men de skide lck-filer og de ødelagte indeks-filer har altid været en plage.
Sådan som jeg læser din opgave så vil du kun søge på by, åbne en ny form der søger, og returnerer med den studerende der er valgt.
Det er et meget simpelt problem du angiver; men der er mange løsninger.
Løsning 1: Min foretrukne, idet jeg går i stor bue udenom data-aware komponenter som TDBEdit og lignende: Jeg laver en liste, indeholdende TStuderende-objekter. Det er noget med en TObjectList og en TObject nedarving. Desuden kan jeg godt lide den objektorienterede tilgang.
type TStudData = class private fID : integer; fNavn : string; public constructor Create(const aID : integer; const aNavn : string); property ID : integer read fID; property Navn : string read fNavn; procedure FillListItem(aListItem : TListItem); end;
Denne liste indeholder alle de søgte studerende. Bemærk proceduren Search hvor man angiver postnr. Vælger man at overloade denne procedure, kan man have forskellige søgninger.
Listen indeholder også FillListView der stopper de fundne data ind i en TListView (min foretrukne list-komponent)
Ovenstående ligger i en unit for sig og bruges at stud-formen og stud_resultat-formen. Fra din søge-form kreerer en TStudListe, kalder Search, hvorefter du opretter resultat-formen som du fodrer med listen.
En enhed i et TListView hedder TListItem og den har en tag-property som kan bruges til lidt af hvert. Jeg ville gemme listens TStudData på denne, så når jeg havde klikket på en linie (studerende) så havde jeg automatisk det TStudData objekt som skulle sendes tilbage.
Er det forvirrende? Så send mig en email og jeg vil have et eksempel parat i løbet af 20 minutter.
Den anden løsning er at bruge TDBEdit og den slags - den er også lettest, men vil man senere skifte database, så sidder man med håret i postkassen og skal redesigne hele baduljen.
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.