Avatar billede per2edb Praktikant
23. januar 2016 - 17:45 Der er 9 kommentarer og
1 løsning

Underformular med datasheed hvor Form_Current registrerer sidste record før udskrivning

bvirk dit svar på "find sum i dataark" har foranlediget mig til at søge en løsning på et problem jeg aldrig har fået løst tilfredsstillende:

Fra min form kalder jeg en underformular med et databundet datasheed
I underformularens Form_Current er der et gennemløb for hver record.

Da jeg har koder liggende i dette Form_Current der først skal "aktiveres" ved afslutningen af udfyldelse af datasheeded -altså efter sidste record
søger jeg en smart måde at hoppe over disse koder indtil sidste record
Jeg har en masse "blink" der stammer herfra på trods af Application.Echo False - dem håber jeg jeg kan eliminere
Avatar billede bvirk Guru
24. januar 2016 - 13:09 #1
Vil lige høre:

Tilføjer du ikke poster i underformularen?

Noget andet:

Hvordan ser vba koden i din current event ud? - behøver det arbejde der udføres ligge i current event'en.
Avatar billede per2edb Praktikant
24. januar 2016 - 14:19 #2
Der ligger SQL SELECT´er i underformularens Data -> Postkilde

Eksempler på koder i Current:

Jeg har flere Underformularer der kaldes i kaskade(de ene kalder den næste osv):

I Current har jeg f.eks:

Me.Parent![UFrm1].Requery
Me.Parent![UFrm2].Requery
osv
Variabler overføres med Over/Underordnede felder

Herudover har jeg lagt "Dine" sum koder i Current
Avatar billede per2edb Praktikant
24. januar 2016 - 14:20 #3
Jeg glemne
Nej de behøver ikke ligge i Current hvis de liger bedre et andet sted.
Avatar billede per2edb Praktikant
24. januar 2016 - 15:29 #4
Hvis du så også havde metode til at det var hovedformen  der blev 1. kald og ikke som det er subformen - ja så vilde det være perfekt
Avatar billede bvirk Guru
25. januar 2016 - 12:35 #5
Hej per2ebd
Er dette rigtigt forstået:

Det er beregningstungt med disse requeries, men når du har lavet det sådan må de være fordi subformenene deler data eller præsenterer samme data på forskellig vis.
Altså - sådan rent designmæssigt - du har lavet noget hvor ændring i en post i een subform øjeblikkeligt kan afspejles i andre subforme
Een mulighed for at gøre det lettere at bruge (mindre beregningstungt), er hvis kaskadekoblingen af requiries stoppes under udfyldning i den enkelte subform.

Desuden er dette uklart for mig:

a) Hvad mener du med 'før udskrivning' i titlen på debattråden
b) Hvilke problemmer giver det at subformenes event kommer før sådanne på hovedformen - du har vist spugt om det før i en tidligere debattråd - giv et link til den.
Avatar billede per2edb Praktikant
25. januar 2016 - 13:18 #6
a) Skal være vises - men uvæsentlig
b) det skyldes at en subform kan og bliver anvendt sammen med andre Forme. I disse forme ligger en række opstarts variabler der helst skulle komme før subformene - men det er meget kompleks at komme ind på nu.
Jeg ville meget gerne tilbage til det egentlige problem nemlig at subformens current gennemløbes flere gange. Jeg har lavet noget "klude/lappe" løsning med inde i current at hoppe til end sub
efter første gennemløb. Det virker ikke helt godt pga vanskelighed med nulstilling da subformen bruges sammen med andre forme.

Jeg har prøvet med noget CurrentRecord og RecordsetClone.RecordCount der skulle give adgang til koderne i current  ved 1. record og hoppe over ved resten af recorderne. Men jeg kan ikke få det til at virke.
Har du en løsning
Avatar billede bvirk Guru
27. januar 2016 - 12:07 #7
Hej igen

Jeg kan ikke danne mig præcist begreb om dit design og dermed blot bidrage fragmentarisk. Når noget så simpelt som afvikling betinget af currentrecord og recordcount ikke virker, må problemmet ligge et andet sted

if currentrecord=1 then
    'dette afvikles når kommer markøren ankommer til 1. post som også sker når formular åbnes
end if

if currentrecord > recordset.recordcount then
    'dette afvikles når markøren ankommer til linien under sidste post
end if
Avatar billede per2edb Praktikant
27. januar 2016 - 22:32 #8
He igen

Det driller stadigt

currentrecord giver værdien 1 flere gange
recordset.recordcount giver også nogle mærkelige værdier

Jeg må gå tilbage til mit "gammeldags" tælleværk
men her benytter jeg en global variabel som tæller
Den bliver 0 stillet 2 gange øjensynlig pga hop mellem form og subform

Det kan måske løses ved at gå fra global variabel til en DIM kun gældende for form og subform
Men......
Hvordan og hvor placerer jeg den????
Avatar billede per2edb Praktikant
22. februar 2016 - 17:31 #9
Lukker. Tak for hjælpen
Vil i lave det så i får point
Avatar billede bvirk Guru
22. februar 2016 - 19:19 #10
Her er så svar fra alle os.
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

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