Hej! Det lättaste är att i stället för att ha två flikar ha 'Dokument' som underformulär i 'Företag'. Detta fixar du lättast med formulärguiden. Låt oss anta att det på underformuläret "Företag" finns en kontroll som heter "txtFöretagNr" som innehåller primärnyckeln i företagstabellen.Filter för underformulär
Jag har ett formulär ”FormulärA” som innehåller en flikruta med två flickar ”Flik1” och ”Flik2”. I "Flik1" finns ett underformulär ”Företag” och i Flik2 finns ett underformulär ”Dokument”.
Jag vill göra följande:
-När användaren klickar på ett företagsnr i ”underformuläret ”Företag” ska dokument tillhörande detta företag filtreras fram i underformuläret ”Dokument”.
-Vid klick på ett annat företagsnr ska till detta företag kopplade dokument filtreras fram.
Tacksam för förslag jag har kört fast helt.Sv: Filter för underformulär
Annars måste du programmera en del, och använda händelsehantering för att fånga upp när en ny kund visas, byta filter för dokumentet och uppdatera dokumentformuläret. Du behöver då även skapa en fråga som använder det valda företaget för att filtrera ut fätt dokument.Sv: Filter för underformulär
1. Ange datakällan för underformläret "Dokument" till någonting i den här stilen:
SELECT DokNr, DokNamn, DokDatum FROM Dokument WHERE FöretagNr = Forms!FormulärA!Företag.Form!txtFöretagNr;
2. Infoga följande kod för händelsen "Vid ny post" i underformuläret "Företag":
Private Sub Form_Current()
Forms!FormulärA.Form!Dokument.Requery
End Sub
----
OBS! Det finns en envis bugg för svenska versioner av Access som inträffar när programmet översätter till svenska - Programmet kommer på eget bevåg att ändra "Forms!FormulärA!Företag.Form!txtFöretagNr" till "Formulär!FormulärA!Företag.Formulär!txtFöretagNr". Det blir fel eftersom formulär heter samma sak i singularis och pluralis och programmet därför inte kan skilja mellan collection "Forms" och objektet "Form".
Lösningen är att envisas och skriva tillbaka den engelska koden och spara igen.