Avatar billede swil Nybegynder
04. februar 2003 - 15:26 Der er 4 kommentarer og
3 løsninger

Opslag i samme tabel to gange i formular

Jeg har lavet en formular baseret på tabel A. I tabel A indgår der to felter F1 og F2 som begge skal slå en værdi op i tabel B. F1 og F2 kan godt være ens.

Ved opslaget skal der returneres den værdi F1 og F2 har slået op i tabel B (hvis der overhovedet er nogen værdi).

Hvordan gør jeg lettest det?
Avatar billede swil Nybegynder
04. februar 2003 - 15:49 #1
Kan man under "kontrolkildeelement" skrive noget lignende:

Select [TB_B].[MedarbejderNavn] FROM [TB_B] where [TB_A].[F1]=[TB_B].[F1];
Avatar billede swil Nybegynder
04. februar 2003 - 16:04 #2
Spørgsmålet er mere simpelt end jeg har beskrevet ovenfor. Jeg skal blot i en formular kunne slå et felt op i en anden tabel, hvor nøglen til opslaget ligger i tabel A og B (de kan ikke kædes sammen med relationer, idet der så skal slåes flere felter op).
Avatar billede kabbak Professor
04. februar 2003 - 23:13 #3
Postkilde= SELECT B.Medarbejdernavn FROM A INNER JOIN B ON A.F1 = B.F1;
Avatar billede kabbak Professor
04. februar 2003 - 23:19 #4
Eller

Lav en underformular baseret på tabel B i din formular.
Lav overordnede og underordnede være = F1 begge steder.

Så vil underformularen vise de værdier der passer til A.F1.

men din hovedformular vil når du laver en underformular kun vise enkeltposter og ikke fortløbende.
Avatar billede fynbohans Nybegynder
07. februar 2003 - 18:13 #5
Kig i dokumentaionen (Visual Basic Help) under funktionen
DLookUp og brug den.
Avatar billede mugs Novice
08. februar 2003 - 21:17 #6
Som fynbohans hælder jeg mere til funktionen DLookup. Nedennævnte kode henter et opslag fra tabel "B", hvor variablen Stringsearch først sættes = formularens felt "F1A". Derefter defineres hvor opslaget skal gemmes, nemlig mi det ubundne tekstfelt "Tekst4". Opslaget hentes ved funktionen DLookup i feltet "F1B" i tabellen "B" på det sted i tabellen, hvor feltet "søgefelt" er = "Stringsearch" eller med andre ord I tabel "A" felt "F1A".

Når dette er sket skiftes variablen "Stringsearch" til at være = tabel "A" felt "F2A". Og så gennemkøres procedüren igen. Feltet "søgefelt" skal eksistere i begge tabeller, og have værdier der matcher hinanden.

Dim Stringsearch As String
Stringsearch = Me!F1A
Me!Tekst4 = DLookup("[F1B]", "B", "[søgefelt]='" & Stringsearch & "'")

Stringsearch = Me!F2A
Me!Tekst8 = DLookup("[F2B]", "B", "[søgefelt]='" & Stringsearch & "'")

Procedüren er afprøvet i en db i XP, men burde fungere i alle versioner af Access. Læg din e-mail hvis du vil have db'en "opslag" tilsendt.
Avatar billede swil Nybegynder
20. februar 2003 - 12:49 #7
Tak for svarene og undskyld den sene afslutning. Brugte DLookUp, deraf pointfordelingen.
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