09. december 2004 - 12:19Der er
8 kommentarer og 1 løsning
Sætte recordsource på kontrol
Jeg har en formular, som bruges til at filtrere data på en anden formular efter.
Koden på min filtreringsformular:
Private Sub Form_Open(Cancel As Integer) Initialize Me.RecordSource = Forms!Ordreseddel.RecordSource 'Me.felt_8.RowSource = ??? End Sub
Dvs. min filterformular bruger de samme data som formularen Ordreseddel. Jeg vil gerne udfylde en dropdown boks (kombinationsboks), felt_8, med værdier fra det recordset som min formular bygger på, men hvordan skal det se ud?
Med koden Me.RecordSource = Forms!Ordreseddel.RecordSource "linker" jeg jo min søgeformular til de samme data som min Ordreseddel formular bruger, men jeg kan ikke se hvordan jeg skal få min combobox til at bruge de rette data.
Måske skal den anskues/forklares fra et andet synspunkt: Man kan sætte en formulars datasource ved at sætte den lig med datasourcen fra en anden formular: Me.RecordSource = Forms!Ordreseddel.RecordSource Men kan man også sætte en kontrols datasource lig med "en bestemt del" af den anden formulars datasource?
Me!felt_8.RowSource = Me.RecordSource Giver mig en liste over Ordrenumre, som er det første felt på "den anden" formular (samt det felt der står først i "den anden" formulars tabel), men jeg vil have feltet Kundenavn.... :(
:) (nej, det kan godt være lidt svært at se hvor jeg vil hen, men jeg ved det selv og dit foreslag er ikke helt i den retning) Du vil nemlig tage fat i en tabel, det vil jeg ikke, men i de data (recordsource) som min formular bygger på.
Tager det helt fra bunden igen. Min formular bygger på data fra flere tabeller, som er valgt i VBA kode, med SELECT bla bla FROM bla osv. De data der vises på formularen vil jeg filtrere, det gør jeg med en anden formular, hvor brugeren har mulighed for f.eks. at sætte et datointerval (2 tekstbokse, startdato og slutdato). Dataene på denne formular, som jeg kalder min søgeformular, "hentes" ved denne kodelinie: Me.RecordSource = Forms!Ordreseddel.RecordSource (dvs. begge formularer benytter de samme data) Nu vil jeg gerne lave en liste over kunder, en combobox, som skal blive fyldt med de FILTREREDE data! combobox'en hedder felt_8 og jeg troede jeg kunne sætte dens data (RowSource) til Me.felt_8.RowSource = Me.RowSource("Kundenavn") (syntaksen er forkert og måske er det ikke RowSource men noget andet der skal sættes på combobox'en) Sagen er den at min "ikke-søgeformular"'s data sættes til data fra forskellige tabeller, afhængig af valget i en combobox.
Hmmm...det ser ikke til at man KAN lave det på den måde jeg ville, så jeg bruger din løsning, mugs. Tak.
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.