Avatar billede banelars Nybegynder
04. april 2002 - 08:14 Der 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.

Hilsen Lars.



04. april 2002 - 08:17 #1
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;
Avatar billede terry Ekspert
04. april 2002 - 08:21 #2
sounds right to me Thomas :o)
Avatar billede banelars Nybegynder
04. april 2002 - 08:23 #3
Hej Thomas.

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.

Forstår du hvad jeg mener ?
Avatar billede banelars Nybegynder
04. april 2002 - 08:27 #4
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.
Avatar billede terry Ekspert
04. april 2002 - 08:31 #5
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
04. april 2002 - 08:34 #6
Dvs, at du vil have brugerens navn til at stå øverst til venstre på den fortløbende formular?

Hvorfor laver du ikke bare et formularhoved (og formularfod) og indætter teksboksen med =[Forms]![FTiltræd]![navn] ?
04. april 2002 - 08:34 #7
Formularhoveder er jo ikke fortløbende...
Avatar billede banelars Nybegynder
04. april 2002 - 08:36 #8
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.
04. april 2002 - 08:37 #9
Har du indsat Formularhoved/fod? (menuen Indsæt->Formularhoved/fod)
Avatar billede banelars Nybegynder
04. april 2002 - 08:37 #10
Ja.
04. april 2002 - 08:41 #11
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
Avatar billede banelars Nybegynder
04. april 2002 - 08:41 #12
Hej igen.

Nu afprøvede jeg det igen.
Jeg ved ikke hvad jeg lavede forkert sidst, men det virker i hvert fald nu ?!
Sådan kan det åbenbart gå.

Du får point Thomas.
04. april 2002 - 08:43 #13
Gracias :o)

Tro mig, jeg har tit prøvet det samme: skidtet virker ikke det ene øjeblik, og når man så sæger hjælp, så virker det fint ;o)
Avatar billede banelars Nybegynder
04. april 2002 - 08:44 #14
:-)
Avatar billede banelars Nybegynder
04. april 2002 - 09:13 #15
Hej igen.

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.
04. april 2002 - 09:16 #16
Har du forladt feltet på FTiltræd?

Hvis markøren stadig står der, så kan du ikke aflæse indholdet.
Avatar billede banelars Nybegynder
04. april 2002 - 09:18 #17
Der er ikke markørfokus i feltet i normalvisning.
Avatar billede banelars Nybegynder
04. april 2002 - 09:20 #18
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.
Avatar billede banelars Nybegynder
04. april 2002 - 09:30 #19
Hej igen.

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.

Kan man gøre noget ved det ?
04. april 2002 - 10:03 #20
Jeg er stadig ikke helt med på hvordan din FTiltræd-formular er bygget op og hvordan den formular er knyttet til tabellen osv.

Det vil være en del nemmere hvis du kunne mail'e databasen.

Jeg er dog på vej ud af døren om lidt, så jeg når ikke mere nu. Kan først vende tilbage i aften....
Avatar billede banelars Nybegynder
04. april 2002 - 10:24 #21
Hej Thomas.

"Man" er ikke så meget for, at jeg sender db'en.

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.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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