24. juli 2002 - 11:42Der er
25 kommentarer og 1 løsning
gå fra en form til en anden. ( lidt tricky )
Den er svær at forklare, men her kommer den.:
Jeg har en form1 hvori der er en subform1 som er bygget på en query1. I denne subform er der et lident udvalg af informationer feks. :
biltype : BMW Farve : blå Motor : "se tekniske data"
Da det er en subform virker dette jo lidt som et "excel" ark når man kigger på dette.
Det jeg ønsker er at når man klikker på "se tekniske data" for en given record, skal den åbne en ny form2 der bygger på en ny query2, hvor de tekniske data så er præsenteret.
Altså man får et overblik i form1 hvilken bil man ønsker, og kan så ved klik komme om fopr at se ydeligere informationer.
Til orientering skal jeg nok sørge for at der er relations ID der kan bruges som opslag. I ovennænte eks. kan i lade som at recorden har ID = 125 bare for at tage et tal.. :-)
Du har nøgledata (ID'er) i form1 som der - når der klikkes på "Se tekniske data" - bruges som kriterie for query2, og dermed er dine data til form2 sorteret og udvalgt på grundlag af brugervalg i form1.
Medens du er på form1 og vælger mellem forskellige biltyper, vælger du på et tidspunkt "BMW" (i en liste eller ligende?) når dit program slår op på "BMW"-recordet for at kunne vise data, må du også ha' et ID der kan bruges som grundlag for en videre forespørgelse (query2)
Form2 should be made so that by default it will show ALL records. When it gets opened from form1 it will only show the record(s) where the "WHERE clause" *" (Somefield = " & Me.somefieldOn) is true
There will normally be a foreign key field in the record you click on form1 so it will be this which you use to find the record in form2 which you want to show. IF it is a text field and not a NUMBER then use docmd.OpenForm "TheForm",,,"Somefield = '" & Me.somefieldOn & "#"
Hvorfor en Subform. Jeg kan ikke lade være med at foreslå en alternativ løsning ved hjælp af funktionen DLookUp, der viser data fra en tabel, hvor ID er = formularens ID:
Terry: når jeg nu har en subform der består af feks. 100 poster kan jeg se i bunden af Access hvad record der er 'aktiv'.
hvis jeg klikker på linie 125, hvordan 'logger' jeg så at databasen ved at jeg på linie 125. Der skal vel være en eller anden form for onclick event eller ?
onclick. docmd.openform"form2" where ID = me!recordset.ID
Så vidt jeg kan se er der givet flere forskellige forslag. Pointen er jo at det ikke er når du står på subform du skal "logge" ID 125 men i form1. Du må jo få vist dine data i form1 på en eller anden måde og når du så klikker på "Flere detaljer" findes desse på grundlag af det allerede fundne ID i form1 og præsenteres i form2. Sådan forstod jeg dit første spørgsmål.
Sorry have been "Out of Office"! The number you see at the bottom of the form is JUST the number of teh record in the list it has NO relation to the actual record you have highlighted.
If your have a main form and a sub form then I am sure that there is a primary key on the main form AND a foreign key (relationship) on each of the records on the sub form. BUT there will (should be) a primary key on each of these records (detial) too. The record showing the "ekniske data" will MAYBE have a primary key which will be a foreign key in the sub form(detail) so it will be THIS field which you need to use in the docmd.openform
You can send me the dB if you like terry@santhell.dk
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.