03. marts 2004 - 18:30Der er
11 kommentarer og 1 løsning
Udskriv liste fra en formular.
Jeg har en formular i Access 2000, hvor en bekendt har lagt noget kode ind, således at den henter nogle oplysninger fra forskellige underliggende tabeller. Han har kodet direkte i formularen. De hentede data vil jeg gerne have skrevet ud. Jeg har prøvet at lave en rapport, men hvordan fortæller jeg, at den skal udskrive de data der er hentet på listen i formularen. ? Eller kan man udskrive listen direkte fra formularen ? Formularen bygger jo ikke på en bestemt tabel eller forespørgsel, da han har kodte direkte på formularen.
Hvis du har en rapport baseret på en tabel eller forespørgsel, er der formentlig en primærnøgle eller et unikt felt for hver post i tabellen. Hvis dette felt f.eks hedder ID, kan denne linie kode lægges på en knap: Docmd.openreport "din nye rapport", acviewpreview,,,"ID = " & Me!ID
"den skal udskrive de data der er hentet på listen i formularen. ?"
D.v.s at der kan være valgt mere end een post, og så duer et unikt felt jo ikke som kriterie. Jeg har selv rodet lidt med det uden held. Det nå være noget med at referere til SelectedItems i listen.
Alle posterne vil have et cirkulærenummer (cirknr), som er unikt for hver post. Jeg selv er ikke så stiv i at udvikle koderne, kun til at rette dem til. Så jeg vil meget gerne have forslag til en udskrivningskode som evt. kan lægges på en kommandoknap i formularen.
nå, jeg havde åbentbart helt misforstået spørgsmålet - sorry :o)
Men en multiselect på en listeboks kan nemt løses således:
Dim Itm as variant Dim SQLStr as String SQLStr = "cirknr In (" For each Itm In Me!DinListeboks.ItemsSelected SQLStr = SQLStr & Me.DinListeboks.ItemData(Itm) & ", " Next Itm SQLStr = Left(SQLStr, len(SQLStr)-2) & ")" Docmd.openreport "din nye rapport", acviewpreview,,,SQLStr
(jeg håber ikke at der er nogle 'dumme'-fejl, da jeg bare har skrevet koden direkte efter hovedet)
Vi har kigget på koden, men ikke fået det til at virke endnu. Hvordan skal rapporten se ud ? Da den ikke bygger på en forespørgsel, eller en bestemt tabel, så har jeg lavet den uden postkilde og med en ubundet liste. Kan det være rapporten, der er problemet ? Skal den henvise til formularen på en eller anden måde ?
Jeg tror, at jeg havde misset det med at rapporten heller ikke byggede på en tabel eller en forespørgsel. Jeg troede kun at det var formularen.
Et eller andet sted, så forekommer det mig lidt mystisk at du har en formular og en rapport som ikke bygger på en tabel, når Access nu engang er en database.
Det er lidt besværligt, da rapporten er beregnet til at få sine data fra en tabel/forespørgsel.
Du kan prøve at lægge kode på rapportens VedÅbning-hændelse, som skriver i hvert enkelt felt. Men jeg mener at kunne huske noget om, at man ikke kan skrive direkte i tekstbokse på en rapport. Derfor er du måske nødt til at benytte labels/etiketter i stedet.
Der er i hvert fald for mange ukendte parametre til at jeg lige kan give et konkret eks. Sorry :o(
Jeg har en hjælper der kan programmere, men ikke kender ret meget til Access. Han har lavet koden direkte på formularen, som henter data i forskellige tabeller. Han er vant til at arbejde med bl.a. Sql, så han har bare smidt noget kode ind. Nemt for ham. Problemer for mig. Men det virker jo det han har gjort, derfor ville det være rart bare at kunne bruge det. Jeg prøver det du siger, så snart jeg får tid.
Jeg har ikke kunnet finde en løsning. Det må gøres på en anden måde. Thanks anyway.
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.