Hej, Er der nogle der ved om der findes en kommando for at lukke et SubDataSheet. Problemmet er at når jeg hopper fra en formular over i en anden, og index felterne fra begge formulare passer sammen, men hvis jeg har åbent mit SubDataSheet i den ene formular, og så vender tilbage til den igen, kan den ikke finde index feltet, fordi SubDataSheet stadig er åben. Derfor vil jeg gerne sikre mig at SubDataSheet er lukket når jeg skifter formular.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hej Thomas ! Jeg vil prøve forklare det mere detaljeret. Jeg har en form med en TabControl. TabControl.Value=0 har en kontoplan og TabControl.Value=1 har et kontokort. TabControllerne er synkroniseret, dvs. at hvis jeg står på en konto i kontoplanen og skifter over på kontokortet, så finder den automatisk den pågældene konto, og selvfølgelig også den anden vej rundt. I TabControl.Value=0 har jeg en subform med et SubDateSheet for et se posteringer på de enkelte kontoer, når jeg så ønsker at skifte til TabControl.Value=1 og her finder på at bladre i mine kontokort, hvorefter jeg igen vælger TabControl.Value=0, så kan den ikke finde den konto som den er synkroniseret med, fordi SubDateSheet stadig er åben. Så det korte og det lange er, at når jeg vælger TabControl.Value=0 så skal SubDataSheet lukke. Jeg har prøvet med kommandoen: SendKeys \"^+{UP}\" men det virker ikke helt efter hensigten. Jeg har prøvet flere forskellige ting, men uden held. Jeg har en stor erfaring i VBA, så det er ikke der det halter, men det nogle gange har man bare stirret sig blindt på et problem. Det er netop derfor jeg prøver at skrive her på Eksperten. Håber du har en ide.
Hvordan er underformularene linket til hovedformularen? (er der overhovedet et link?)
Jeg har tidligere bakset lidt med synkroniseringsproblemer i tab-controls. Og jeg tror at din fejl må ligge der.
Jeg har her et eksempel, som virker i DAO (det virker desværre ikke helt i ADO, da Access ikke konsekvent benytter ADO i sine formularer men rent faktisk stadig benytter DAO internt! Derfor roder den selv rundt i begreberne, hvis man forsøger at køre rent ADO i dette eksempel.) Du skal altså lave en reference til DAO, hvis det du benytter Access 2000
Her kommer det:
Private Sub Tab_Change() Dim rs As Recordset Select Case Me!Tab Case 0 Set rs = Me!SubDateSheet1.Form.RecordsetClone rs.FindFirst \"ID = \" & Me!SubDateSheet2!ID Me!SubDateSheet1.Form.Bookmark = rs.Bookmark Case 1 Set rs = Me!SubDateSheet2.Form.RecordsetClone rs.FindFirst \"ID = \" & Me!SubDateSheet1!ID Me!BSubDateSheet2.Form.Bookmark = rs.Bookmark End Select End Sub
ID er selvfølgelig nøglefeltet i tabellen.
Denne kode lægger jeg på Tab_Change og den synkronisere uden at brokke sig (har lige prøvet!)
Jeg håber, at du kan bruge eksemplet til noget.
/Thomas
Synes godt om
Ny brugerNybegynder
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.