Avatar billede longgaard Novice
30. august 2004 - 01:30 Der er 9 kommentarer og
1 løsning

Underformular opdatering i Access 2000

Hvordan opdaterer jeg en underformular?
Ja, det har været oppe før, men jeg har ikke fundet en løsning som virker på min base....

Jeg har lavet 2 formularer, en til indtastning af søgekriterier (FHovedFormular)og en til visning af søgeresultetet (FSoegeResultat). Søgeresultat formularen er basseret på en forespørgsel og er indsat som underformular til Hoved formularen uden linkning.

Når der er tastet søgestrenge ind i FHovedFormular skal der trykkes på en søg-knap som så genererer forespørgselen, så langt så godt, men efter dannelsen af forespørgslen skal underformularen opdateres, det er her jeg er gået i stå.
Jeg har forsøgt:
----------------------------------------
Forms!FHovedSide!FSoegeResultat.SetFocus
DoCmd.Requery

Resultat: Runtime error 2488 Kan ikke bruge handlingen anvendfilter på dette vindue
----------------------------------------
DoCmd.Requery "FSoegeResultat"
DoCmd.RepaintObject acForm, "FHovedSide"
Forms!FHovedSide.Refresh
Me.Refresh
Me.FSoegeResultat.Form.Requery
FSoegeResultat.Form.Requery

Resultat: Linierne afprøvet enkeltvis har ingen virkning
----------------------------------------
FHovedSide.FSoegeResultat.Form.Requery
FHovedSide.Form.Requery

Resultat: Linierne afprøvet enkeltvis giver Runtime error 424 Object required
----------------------------------------
Forms!FHovedSide!FSoegeResultat.Refresh Me!FSoegeResultat.Refresh

Resultat: Linierne afprøvet enkeltvis giver 'Runtime error 438 Object dosen't support this property og method
----------------------------------------
DoCmd.Requery "FHovedSide"
DoCmd.Requery "FHovedSide!FSoegeResultat"

Resultat: Linierne afprøvet enkeltvis giver Runtime error 2109 Der er ikke et felt med navnet "FHovedSide" i den aktuelle post
----------------------------------------
Forms!FSoegeResultat.Refresh

Resultat: Runtime error 2450 Microsoft Access kan ikke finde formularen "FSoegeResultat", der refereres til i et makroudtryk eller Visual Basic-kode
----------------------------------------
Avatar billede mugs Novice
30. august 2004 - 05:47 #1
Me.FSoegeResultat.SetFocus
DoCmd.Requery
Avatar billede longgaard Novice
30. august 2004 - 08:27 #2
-> mugs
Jeg er på arbejde nu, så jeg kan først prøve når jeg kommer hjem.
Men er det ikke det samme som mit første forsøg?
"Me" og "Forms!FHovedSide" peger samme objekt ikke sandt?
Avatar billede mugs Novice
30. august 2004 - 08:34 #3
Næsten, den skal se således ud:

Forms!FHovedside.FSoegeResultat.SetFocus

Men jeg synes Me... er mere elegant. Begge koder er afprøvede og fungerer upåklageligt.
Avatar billede longgaard Novice
30. august 2004 - 17:46 #4
Der må være noget andet galt for jeg får stadig fejl:
Runtime error 2488 Kan ikke bruge handlingen anvendfilter på dette vindue

Kan jeg have kommet til at fjerne et vigtigt flueben i VB-referencerne?
Jeg har til en anden formular forsøgt at enable ActiveX, og i den anledning blev der sat og fjernet en del flueben...
Avatar billede longgaard Novice
30. august 2004 - 17:50 #5
Jeg kan tilføje at hvis jeg lukker FHovedSide og åbner den igen, så bliver resultatet i underformularen som jeg forventede, men det er jo ikke nogen flot løsning.
Avatar billede mugs Novice
30. august 2004 - 18:27 #6
Der burde hverken være brug for yderligere referencer eller ActiveX.

Når du lukker hovedfornularen og åbner den igen, vil underformularen igen køre den underliggende forespørgsel og vise de nye poster. Men det er korrekt, at det ikke er en optimal løsning.

Kan du sende din db til:

mugssnabelamailpunktumdk

så vil jeg se på den.
Avatar billede mugs Novice
30. august 2004 - 21:05 #7
Je har modtaget db, og har svaret med en længere forklaring.
Hovedformularen er med ubundne felter, hvorefter der med et klik på en kommandoknap skal søges i underformularen. Det kan naturligvis også lade sig gøre. Jeg har givet longgard det råd, at se på thomasjepsen's fremragende eksempel her.

http://www.nyholm.dk/makeiteasy/Home.asp?ContentID=30&MenuItemID=25

det opfylder longgaard's krav til fulde. Og husk at læse forklaringen i modulet.
Avatar billede mugs Novice
31. august 2004 - 05:51 #8
Jeg har her til morgen returneret db med en lidt anden søgemulighed. Denne åbner den formular der ligger til grund for underformularen, og viser søgeresultatet:

Private Sub Kommandoknap58_Click()
DoCmd.OpenForm "FSoegeResultat" Forms!FSoegeResultat!Tittel.SetFocus
DoCmd.FindRecord Me!SoegSangTittelData
End Sub
Avatar billede longgaard Novice
01. september 2004 - 17:04 #9
Jeg har set på linket og må konstatere at det er noget over mit niveau, jeg vil ikke kunne vidreudvikle på den hvis det bliver nødvendigt. Jeg er jo blot en glad amatør :)
Basen du sendte retur med mulighed for at åbne en søgeresultatet i et nyt vindue er meget lig lukning og genåbning af hovedformularen, dog syntes jeg at brugervenligheden er størrer ved blot et enkelt vindue, her kan jeg også bestemme placering af søgeresultatet relativt i vinduet.

Jeg ser mulighederne i brug af filtre i stedet for forespørglser, men kan ikke forstå hvorfor man ikke kan bede underformularen om at genkøre deb underlæggende forespørgsel og vise resultatet, er det helt umuligt??
Avatar billede longgaard Novice
03. maj 2005 - 23:17 #10
Fik det ikke til at virke, så det er lagt på hylden...

Noget forsinket kommer her lidt point for forsøget.
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