Avatar billede deducer Nybegynder
13. september 2004 - 11:55 Der er 18 kommentarer og
1 løsning

Ubundet underformular skal have nyt Recordset

Jeg har et formular, hvor underformularen viser en krydstabulering. Det giver mig visse problemer, idet jeg ikke kan have felter på underformularen som jeg kan reagere på brugerens brug af.
Desuden har jeg det konkrete problem at jeg ikke ved hvordan jeg giver underformularen et nyt recordset.

Udsnit af koden ser sådan ud :

Dim rec As Recordset
Set rec = CurrentDb.OpenRecordset(strSQL) 
Set Me.frmBookingKalenderUF.Form.Recordset = rec

Brugeren kan begrænse data ved at vælge ugenr eller måned
(og år) men denne kode virker ikke efter hensigten
Avatar billede deducer Nybegynder
13. september 2004 - 11:58 #1
Middags pause....
13. september 2004 - 12:01 #2
Denne burde virke:

Dim rec As DAO.Recordset
Set rec = CurrentDb.OpenRecordset(strSQL, dbopendynaset) 
Set Me!frmBookingKalenderUF.Form.Recordset = rec

Men hvorfor siger du ikke bare:
Me!frmBookingKalenderUF.Form.Recordsource = strSQL
Avatar billede deducer Nybegynder
13. september 2004 - 12:57 #3
Hej Thomas
Ja umiddelbart burde det virke, men det gør det ikke.
Jeg har noget ligende kode i mit forrige spørgsmål, og der kører det fint.

jeg ved ikke om der er andre ting der kan have indflydelse?
Jeg tror jeg sover lidt...
Faktisk har min underformular endnu en underformular (som måske ikke er nødvendig ?) som jeg ikke kan adressere.??
Den øverste formular giver mulighed for at vælge ugenr eller måned.
Underformularen skal vise de poster der har en dato i det valgte interval.
Da der er tale om en krydstabulering (jeg tror det er derfor) kan jeg ikke umiddelbart bare angive postkilden til min forespørgsel, men har været nød til at sætte endnu en underformular ind, der så har  forespørgslen som postkilde.

underformularen frmBookingKalenderUF har en underformular som hurtigt hedder qryUF. Denne (qryUF ) kan jeg ikke "finde" - den kommer ikke med på listen over medlemmer.
Avatar billede deducer Nybegynder
13. september 2004 - 12:59 #4
Krydstabuleringen har arrangementer som kolonneoverskrifter. Disse arrangementer er en dynamisk størrelse, sådan at forstå at antallet af arrangementer kan ændres af brugeren.
Avatar billede deducer Nybegynder
13. september 2004 - 13:14 #5
Jeg har nu pillet den nederste underformular af.
Underformularen er sat til kun af blive vist som dataark
Og jeg har brugt dit foreslag med Recordsource - det ser ud til at virke....
Men der er kun vist postvælgeren (ingen kolonner med data) - meget mystisk.
13. september 2004 - 13:18 #6
Du kan godt sætte en krydstab som postkilde på en formular. Problemet er bare, at kolonnerne er dynamiske. Dette kan man programmere sig ud af.

Jeg har et eksempel liggende her:
http://www.makeiteasy.dk/eksempler/Downloads.htm

Det hedder noget med "Dynamisk rapport" og er skrevet til en rapport, men kan direkte overføres til en formular.

Det kræver bare at du navngiver dine felter korrekt og angiver hvor mange kolonner du har gjort plads til (ved at angive MaxAntalKolonner i koden)
Avatar billede deducer Nybegynder
13. september 2004 - 13:22 #7
Jeg er vist ikke helt klar i mit udtryk.
Jeg får vist postvælgere, der indikerer at koden virker (ex. der er 7 postvælgere) men der er ingen kolonner ned data
13. september 2004 - 13:45 #8
okay! Men har du overhovedet nogle bundne tekstbokse i din underformular?
Disse skal jo være bundet til de felter, som krydstab'en leverer. Og det kan jo netop være problemet, da du ikke på forhånd ved hvilke kolonner der er valgt. Det, som mit eksmpel gør, er at den scanner felterne fra krydstab'en gennem og tildeler hver felt til en tekstboks.
Avatar billede deducer Nybegynder
13. september 2004 - 13:59 #9
Ja Thomas det ser jo godt ud.
Jeg har bøvlet lidt mere dem formularen og koden og prøver at bruge din kode (med kildeangivelse :) )
Foreløbigt tak, når jeg lidt videre idag og får det til at virke får du point -
ellers imorgen
VH deducer
13. september 2004 - 14:06 #10
ja ja, det haster jo ikke (for mig altså :o)
Avatar billede deducer Nybegynder
13. september 2004 - 14:15 #11
Hvilken reference skal krydses af for at kunne bruge ADOBD ??
13. september 2004 - 14:16 #12
"Microsoft ActiveX Data Objects 2.x Library"
13. september 2004 - 14:17 #13
Bruger du Access 97?
Avatar billede deducer Nybegynder
13. september 2004 - 14:18 #14
Forøvrigt vil jeg gerne sige dig at det ert lækkeret at kunne få hjælp på denne måde. Jeg er meget taknemmelig....
HEr sidder jeg som datamatiker på bormholm - alene (i aktivering)om mit projekt, hvor jeg skal lave et bookingsystem.
Det er jo godt nok, men når jeg ikke har nogen kollegaer at spørge kan det godt gå langsomt nogengange --- så :
TAK Thomas
Avatar billede deducer Nybegynder
13. september 2004 - 14:19 #15
Jeg bruger Access 2000
13. september 2004 - 14:27 #16
Jamen det er da så lidt. Jeg er da rigtig glad for, at du siger det.
Det er ikke altid, at folk værdsætter indsatsen. Men så længe jeg selv synes, at det er sjovt at løse kryptiske problemer her på eksperten, så er jeg her :o)

ADODB (eller "Microsoft ActiveX Data Objects 2.x Library") plejer at være standard i Access 2000. Men hvis databasen har været konvereteret fra '97, så har du fået DAO i stedet. Det kan også virke, så skal koden bare skrives en anelse om. Dette skulle kunne gøre det. Så er du fri for at skulle lave en reference mere (hvilket kan give konflikter alle steder, hvor du arbejder med Recordsets:

    Dim db As Database
    Dim rs As DAO.Recordset
    Dim n As Integer
    Dim AntalKolonner As Integer
    Const MaxAntalKolonner = 5
   
    Set db = CurrentDb
    Set rs = db.OpenRecordset(Me.RecordSource, dbOpenSnapshot)
   
    AntalKolonner = rs.Fields.Count - 1
    If AntalKolonner > MaxAntalKolonner Then
        AntalKolonner = MaxAntalKolonner
    End If
   
    For n = 0 To AntalKolonner
        Me("ctrl" & Trim(CStr(n))).ControlSource = rs(n).Name
        Me("lbl" & Trim(CStr(n))).Caption = rs(n).Name
    Next n
   
    For n = n To MaxAntalKolonner
        Me("ctrl" & Trim(CStr(n))).Visible = False
        Me("lbl" & Trim(CStr(n))).Visible = False
    Next n
Avatar billede deducer Nybegynder
13. september 2004 - 14:51 #17
Jeg kan kun sige : det styrer for fedt
Hvor lækkert. Her har jeg siddet med min build and fix tilgang og klokket i det.
Og så nu - det spiller bare som en hel million.
Jeg har godtnok lidt flere ting der driller, men nu er jeg rimelig fortrøstningsfuld. - det skal sgu nok komme til at virke (med din hjælp).

Det virker fed og jeg er glad
point til dig Thomas.....
13. september 2004 - 14:55 #18
Perfekt :o))

Og tak for point!!

Forøvrigt; fed ø, du har derovre - har tilbragt en del somre derovre de sidste par år!
Avatar billede deducer Nybegynder
13. september 2004 - 15:28 #19
Ja det er en fed ø - det er også en af grundene til at jeg ikke har fået et "rigtigt" datamatiker arbejde - Vi vil ikke flytte herfra (min kone er indfødt) - der er langt mellem stillingerne herovre og de er somregel besat via interne forbindelser næsten inden inden de opstår....

fyraften - vi kører på imorgen igen
MVH Jeppe
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