Avatar billede jind Nybegynder
11. august 2005 - 10:16 Der er 13 kommentarer og
1 løsning

Åbne formular med unik postID fra en formular med samme postID

Hej,
En søgning på eksperten gav mig ikke svar på følgende. Nogen der kan hjælpe?

Jeg har en formular med et felt med ID (og andet). På denne formular ønsker jeg at åbne en anden formular (baseret på en forespørgsel) som som har samme ID.
ID fremgår af qry til den nye formular.

Nogen ideer?

Tak
Jind
11. august 2005 - 10:32 #1
docmd.Openform "Din formular",,,"PostID = " & Me!PostID
Avatar billede jind Nybegynder
11. august 2005 - 12:39 #2
Hej ThomasJepsen,
Det var jo genialt.
Blot er der opstået et tillægsproblem nu. Den angive postID kan referere til flere tabeller i forespørgslen. Jeg har også prøvet med tabel!postID og lige meget hjælper det.
Forespørgslen henter informationer fra 15 tabeller som alle sammenligner med postID.
Har du et forslag til løsning af dette?

Underligt nok virker det fint hvis jeg i kriteriet i forespørgslen skriver like [indtast PostID] i tabel.postID feltet. Jeg ville blot gerne ungå at indtaste et postID nummer som allerede er på den form jeg står på.

VH
Jind
Avatar billede -anders- Juniormester
11. august 2005 - 13:10 #3
Hej, "Den angive postID kan referere til flere tabeller i forespørgslen"
betyder det at du har flere tabeller hvor feltnavnet PostID indgår, har du mere end et PostID felt på formen, hvis dette er tilfæledet kan du ændre navnet (Name)på det aktuelle PostIDfelt på formen, og bruge det i i den kode som Thomas forslår
Avatar billede jind Nybegynder
11. august 2005 - 13:40 #4
Jeg har kun en tabel med postnavnet PostID.
Jeg skrev den direkte fejlmeddelses fra access og nu du spørger, så må den være forkert. Det skyldes at forespørgslen er baseret på 15 forespørgsler og en tabel. Så der burde måske stå "...referere til flere forespørgsler eller tabeller.."

I alle de 15 forespørgsler hentes PostID når et andet kriterium er opfyldt.
Avatar billede -anders- Juniormester
11. august 2005 - 14:48 #5
Okay,for at koden fra Thomas skal virke skal PostID feltet være på begge forms, for at kritereie kan opfyldes, hvis det er tilfældet burde koden virke, nednestående et eks. på hvordan jeg selv benytter noget af det samme:

På en fortløbende form med et x antal felter, et af disse felter er PostID

I bunden af formen er der et knap, på denne knap skriver jeg under hændelse ved klik:

Dim vPostID As string
vPostID = Me!PostID
Docmd.OpenForm "Navnpåform",,,"PostID = " & vPostID

Koden er magen til den Thomas skriver, jeg erklærer blot en variable "vPostID" Ingår feltet PostID på begge forms burdet det altså virke :o)
Avatar billede jind Nybegynder
11. august 2005 - 15:50 #6
Hej AAndersen,
Tak for din tid.
Jeg er sikker på at koden virker generelt.
Mit problem er blot, at forespørgslen som den nyåbnede formular baseres på - er lavet ved at hente data fra en masse andre forespørgsler som alle har denne postID tilfælles. I SQL sætningens FROM section er der derfor en hel del postID'er. Hver qry sender en postID tilbage hvis post_CAS_NR findes i en given tabel.

Som fx
FROM (((((((((((((((PostTabel LEFT JOIN [Forespørgsel_1] ON PostTabel.PostID = [Forespørgsel_1].PostID) LEFT JOIN [Forespørgsel_2] ON PostTabel.PostID = [Forespørgsel_2].PostID) LEFT JOIN Forespørgsel_X ON PostTabel.PostID = Forespørgsel_X.PostID) LEFT JOIN )osv) osv)...

Og så bliver Access forvirret.
Det mærklige er at det virker fint hvis jeg laver en like [indtast PostID] i forespørgslen som den nyåbnede formular er baseret på.
Avatar billede -anders- Juniormester
11. august 2005 - 16:24 #7
Hmm, svært at sige hvad der skal gøres her, jeg er desværre ikke så skrap i SQL syntaxer, men er er den nye forms postkilde baseret på en gemt forspørgsel hvor postid indgår som et selected felt fra en anden forspørgsel skulle det virke.

Prøv evt at chekke feltet PostID,s egenskaber, du skal sikere at navnet på feltet PostID på begge forms er navngivet PostID, du finder egenskaben ved at markere feltet i designvisning, og derefter klikke på Egenskaber, aktiver fanebladet andre, er på vej hjemover nu, men er online senere i aften.
Avatar billede -anders- Juniormester
11. august 2005 - 16:25 #8
Alternativt, lav din forspørgsel som et fysisk gemt objekt, og benyt denne som postkilde til formen
Avatar billede fdata Forsker
11. august 2005 - 20:58 #9
Virker den her ikke?
  docmd.Openform "Din formular",,,"PostTabel.PostID = " & Me!PostID
Du siger også, at Like virker. Er PostID en tekst? I så fald:
  docmd.Openform "Din formular",,,"PostTabel.PostID = '" & Me!PostID & "'"
Avatar billede jind Nybegynder
12. august 2005 - 10:06 #10
AAndersen: Tak for hjælpen. Det hjalp.
Post ide var posttabel.postID i den ene og kun postID i det andet.
Jeg lavede så en ny kolonne i den underliggende forespørgsel med en ny variabel:
ID: posttabel.postID

Jeg fortsatte så med:
Navnpåform",,,"[ID] = " & vPostID

Mange tak!
Velfortjente 30 point til dig. Lav lige en "svar" så jeg kan give dig point.

FDATA: Nej det er ikke det der er problemet - men tak.
Avatar billede -anders- Juniormester
12. august 2005 - 10:55 #11
Hej, glad for at du fik det til at virke, thomasjepsen giver det korrekte svar 11/08-2005 10:32:02, så point skal gå til ham, mine indlæg var blot ledende kommentarer :o)
Avatar billede fdata Forsker
15. august 2005 - 11:13 #12
Nu er jeg bare nysgerrig  ;o)
Hvis
  ID = posttabel.postID
og
  vPostID = Me!PostID
er din løsning da nøjagtig det samme som
  docmd.Openform "Din formular",,,"PostTabel.PostID = " & Me!PostID
som jeg foreslog (og som Thomas foreslog - bortset fra "PostTabel.", som var uklart på det tidspunkt).
Virker det virkelig ikke?
Avatar billede jind Nybegynder
15. august 2005 - 11:37 #13
Hej Fdata,
Ja, det virker mærkeligt at man skal snyde Access på den måde. Men det virkede altså ikke uden denne afledningsmanøvre.
Der var flere referencer til PostID og det måtte man ikke. At sætte PostID=ID i forespørgslen gjorde udfaldet.
VH
Johannes
Avatar billede fdata Forsker
15. august 2005 - 11:58 #14
Besynderligt!?!
"PostTabel.PostID" udpeger jo entydigt hvilken PostID, det drejer sig om.
Vi lægger den i bunken sammen med alle de andre mysterier ;o)
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