Avatar billede hnteknik Novice
08. januar 2009 - 15:54 Der er 8 kommentarer og
1 løsning

Filtersætning af hoverform giver mystisk opførsel af subsubform

I en multitabform har jeg placeret en hovedform og et antal subforms, som er kaskadevis afhængig af hovedformen. Til at navigere blandt records på den enelte subform bruger jeg en liste med afterupdateaction. Det har jeg gjort nogle gange før med stor held. denne er driller.

Hovedformen indholder oplysninger om Clienten. Jeg har en særskilt søgeform, hvor klik på et søgeresultat åbnen hovedformen sat med et bestemt filter f.eks, ClientID=1.

Subsubformen er synkroniseret med en subform på en anden fane via et unbound felt på hovedformen. Subformen som synkroniserer med hovedformen via clientid feltet er der ingen problemer med.

Subsubformen heller ikke, men afterupdate action på listen opfører nu mærkelig. Den flytter sig ved klik på en anden værdi og man ser formens indhold ændrer sig (oncurrent gennemløbes) og så bouncer den tilbage til - ja den første record på listen.

Ved at trace koden finder jeg.

I Onchangeeventen af listen gennemløbes:
Me.RecordsetClone.FindFirst "Contract_ID= " & Me.LstContract
    If Me.RecordsetClone.NoMatch Then
        MsgBox "Uups I didn't find the record for " & Me.LstContract
    Else
        Me.Bookmark = Me.RecordsetClone.Bookmark
        ..... næste kodelinie
Efter Me.Bookmark trigges Form_Current()og der returnes til linen efter

Unden filtersætning fortsætter den normalt, men nu triggeres der en RT error 2465 , kan ikke finde feltet "|". Hvis jeg klikker debud ender jeg med en RT error "no current record. Altså recordsætter er nu væk. Bemærk i real execution er der ingen fejlmeddelelser - kun en bouncing tilbage.

Den giver mig knopper over hele kroppen og jeg er parat til at lave en anden søgemetode - blot for at komme videre. Men skulle der være en anden, som har et godt bud på en løsning eller afhjælpning. Jeg har prøvet bla. /decompile
Fjerner jeg filteret kører det hele normalt igen.

Jeg har også en anden pudsighed - subformen foran står og svinger mellem to tilstande ( urolig) mens man editer formen - gemmer du - går ud og ind ingen er der ikke noget indtil du klikker i et af felterne. Jeg er yderligere 7 subsubsub forme som ikke giver problemer.

Jeg har en mistanke om at det sidste skyldes der er to forme eller felter som står og laver Requery mod hinanden.
Er der nogen, som har et løsningsforslag til ovennævnte udfordringer ?
Avatar billede Slettet bruger
08. januar 2009 - 22:22 #1
har du sat recordsetclone bookmarket inden den kode du viser?~)
Avatar billede Slettet bruger
08. januar 2009 - 22:24 #2
eller rettere... skal det ikke gemmes i en streng inden din if sætning!~)
Avatar billede Slettet bruger
08. januar 2009 - 22:32 #3
ja.. altså det burde ikke være problemet, men man ved jo aldrig!~)

det kan være clone bookmarket stadig står ved den første post...
Avatar billede hnteknik Novice
08. januar 2009 - 23:06 #4
FindFirst placerer bookmark,hvis der er et match - nomatch er falsk så den står rigtig.
Me.Bookmark = Me.RecordsetClone.Bookmark
Bookmark sættes så i formens recordset og det trigger i alle cases form_current.

Men det ser ud til i filter cases, at recordset og recordsetclone pludselig ikke er ens - og producerer errorcodes
..... næste kodelinie bliver ikke eksekvereti filtercases
Avatar billede Slettet bruger
08. januar 2009 - 23:28 #5
er der filter på begge recordsets?~)
Avatar billede hnteknik Novice
09. januar 2009 - 00:26 #6
der er ikke filter på recordsettet men alligevel da det synkroniserer med formen over. Og clonen er en clon, men hvad hvis settet ændrer sig. Det fik mig til at se på på indholdet af formcurrent.

Private Sub Form_Current()
    Me.TxtNyPost.Visible = Me.NewRecord
    Me.LstContract.Requery
    'Me.Parent!Contractdate = Me.Start_date
End Sub

Ved at udkommentere sidste linie som blot skriver contract date til Mainformens Header forsvinder anormalitetet. Når contract ændres skal den vise den nye contracts dato. Den starter med at kigge ned i suboformen for indhold og det er squ nok her hele problemet ligger. Du har fået mig til at se skoven blandt træer, men nu må jeg til køjs. Foreløbig tak.
Avatar billede Slettet bruger
09. januar 2009 - 00:47 #7
den er jeg med på...

kigger forbi imorgen!~)
Avatar billede hnteknik Novice
11. januar 2009 - 00:58 #8
Det så ud til at
Me.Parent!Contractdate = Me.Start_date
Lavede al ravagen, såom contractdate er onbound og har eneste formål at vise indhold på heeader. Jeg refererer nu med = [form]... fra headeren og lader oncurrent indirekte opdatere feltet. Jeg siger tak spg - en gang imellem er det god at have en sparringspartner for at se skoven blandt alle træerne. Smid gerne et svar, ford en har drillet mig længe.
Avatar billede Slettet bruger
11. januar 2009 - 12:57 #9
Jeg har det selv på den måde, at hvis jeg har et spm. så bare det, at få det formuleret kan være det halve svar!~)
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