04. april 2002 - 08:14Der er
20 kommentarer og 1 løsning
Flere select-sætninger i en Query
Hejsa.
Terry hjalp mig med følgende select-sætning i en Query. Den danner basis for en formular (fortløbende).
SELECT typenr,depnr,dato,gyldigfra,gyldig,sted,bem FROM Ind WHERE gyldig=TRUE UNION SELECT typenr,depnr,dato,gyldigfra,gyldig,sted,bem FROM Hast WHERE gyldig=TRUE UNION SELECT typenr,depnr,dato,gyldigfra,gyldig,sted,bem FROM Sp WHERE gyldig=TRUE UNION SELECT typenr,depnr,dato,gyldigfra,gyldig,sted,bem FROM Kør WHERE gyldig=TRUE ORDER BY dato DESC , gyldigfra DESC;
På en anden formular står navnet på en person, fra en anden tabel [Tiltræd].
Øverst til venstre på min fortløbende formular vil jeg gerne have dette navn til at stå i et felt.
Dette kræver vel, at man i ovenstående select-sætning tilføjer, at den skal hente feltet navn fra [Tiltræd]-tabellen ?
Navnet i feltet skal svare til det navn der er indtastet i min "Tiltræd"-formular.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis jeg forstår dig ret, så vil du bare have tilføjet feltet [Tiltræd] i forespørgslen, ikk'?
SELECT typenr,depnr,dato,gyldigfra,gyldig,sted,bem, [Tiltræd] FROM Ind WHERE gyldig=TRUE UNION SELECT typenr,depnr,dato,gyldigfra,gyldig,sted,bem, [Tiltræd] FROM Hast WHERE gyldig=TRUE UNION SELECT typenr,depnr,dato,gyldigfra,gyldig,sted,bem, [Tiltræd] FROM Sp WHERE gyldig=TRUE UNION SELECT typenr,depnr,dato,gyldigfra,gyldig,sted,bem, [Tiltræd] FROM Kør WHERE gyldig=TRUE ORDER BY dato DESC , gyldigfra DESC;
Når man tiltræder min database, så indskriver man sit navn i et felt der hedder "navn". Dette navn lagres i tabellen "Tiltræd".
Jeg har nogle andre formularer, der ikke bygger på en forespørgsel. Øverst til venstre i disse formularer har jeg lavet et tekstfelt, som viser det navn, der står i Tiltræd-formularen. =[Forms]![FTiltræd]![navn]
Ovenstående henter det rigtige navn.
Min fortløbende formular bygger på en SQL-forespørgsel. Her kan jeg ikke gøre det samme som i de andre formularer, med hensyn til tekstfeltet navn. Formentlig fordi disse ikke bygger på en SQL-forespørgsel.
Jeg vil altså have indført i SQL-forespørgslen, det navn der står i feltet "navn", således at dette kan ses i formularen, der bygger på SQL-forespørgslen.
Still not quite sure I understand the problem, can you send the dB and I will take a look,maybe easier to see what it is your after dktebrsa@europe.lego.com
Hej Thomas. Problemstillingen er rigtigt set. Det har jeg prøvet, men man kan ikke se feltet på den fortløbende formular. Jeg tænkte, at det var fordi formularen byggede på en forespørgsel lavet i SQL.
Det giver ingen mening....det burde vises præcis som på alle andre formularer. At formularen er baseret på en forespørgsel har ingen betydning overhovedet.
Det er svært at sige hvad der er galt, da det burde virke.
Du er også meget velkommen til at sende db'en (eller en del af den) til mig: tj@makeiteasy.dk
Jeg var åbenbart lidt for hurtig. Jeg har taget et ubundet tekstfelt og indskrevet =[Forms]![FTiltræd]![navn] Men feltet er tomt efter jeg har skrevet navnet ind i FTiltræd ? Jeg har prøvet at rekonstruere dét jeg gjorde før, men feltet er tomt.
Det er lavet ligesom i de andre formularer, hvor navnet står øverst til venstre, uden problemer ? Den eneste forskel jeg kan se er, at denne formular bygger på en forspørgsel lavet i SQL. Det er de andre ikke.
Nu har jeg indkredset problemet. I fortløbende formularer står der ingenting, før der er indtastet noget i de tabeller, den tager oplysninger fra. Så snart jeg indtaster i en af tabellerne vises de felter der er selectet i forespørgslen. Problemet er, at navnet øverst til venste også først kommer til at stå der når der er indtastet i en af de andre tabeller. Uagtet at der ER indtastet i "navn"-tabellen.
Jeg har 5 tabeller. Som du kan se i select-sætningen, så henter den fortløbende formular data fra de 4 af tabellerne.
Disse 4 tabeller har deres egne formularer, som data indtastes i. Den 5. tabel "Tiltræd" har også sin egen formular "FTiltræd".
Den fortløbende formular henter kun de vigtigste felter fra tabellerne, således at man kan overskue de 4 formularer fra den fortløbende. Man indtaster ikke i den fortløbende, men skaber sig et overblik over gyldige eller ugyldige poster.
I de 4 formularer står navn øverst til venstre. Dette navn er hentet fra FTiltræd.
Db'ens virkemåde: Når man åbner db'en kommer man ind i en formular "FTiltræd", hvor man indtaster sit navn. Herefter trykker man på en knap og kommer ind i en af de 4 formularer. Øverst i venstre hjørne af de 4 formularer står navnet på den der er tiltrådt. I hver af de 4 formularer indtaster man data. Fra formularerne kan man trykke på en knap, så man kommer ind i den fortløbende formular. Her kan man se de felter der hentes via select-sætningen.
Der findes faktisk 2 fortløbende formularer. 1 med gyldige poster og en med poster der ikke længere er gyldige.
Sådan er db'en bygget op.
Problemet er, at i de fortløbende formularer er feltet navn øverst til venstre tomt. Uagtet at navn jo hentes fra FTiltræd. Altså en formular der bygger på den 5. tabel. Først når der er indtastet data i en af tabellerne, så kan data ses i den fortløbende formular. Feltet navn står tomt indtil data er indtastet i en af de 4 formularer. Men i de 4 formularer kan man godt se navnet øverst til venstre. Også selvom der endnu ikke er indtastet data.
Select-sætningen henter felter fra de 4 tabeller.
Skal navn fra Tiltræd-tabellen i virkeligheden også hentes via en select-sætning ?
En lang smøre. Men måske du bedre forstår sammenhængen i db'en.
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.