Avatar billede stewen Praktikant
30. august 2006 - 14:33 Der er 7 kommentarer og
1 løsning

Rapport udelukkende med informationer fra VBA?

Som skrevet står - er det muligt at danne en rapport udelukkende med informationer fra VBA?

Jeg har en del data, hvor jeg laver mange beregninger - alle mine beregninger foretages via VBA (Det er ikke umiddelbart en løsning af lave almindelige forespørgsler)!

Nu skal jeg så bare have lavet en udskrift med de her informationer, hvordan gør jeg det direkte fra VBA?

Jeg havde forestillet mig noget noget med at man via VBA "skrev" til en tabel/forespørgsel, som dog kun eksisterer i koden, hvorefter man kan udlæse disse informationer i en rapport?
Avatar billede phuc69 Juniormester
30. august 2006 - 14:51 #1
Uden at have tænkt videre over det kan du så ikke lade din kode skrive til en tabel og så lave din raport udfra den tabel.
Avatar billede stewen Praktikant
30. august 2006 - 15:03 #2
Jo - det har jeg også overvejet - men ville helst undgå det :-)
Avatar billede terry Ekspert
30. august 2006 - 15:31 #3
what is wrong with having a TEMP table for this? You can obviously create a table in your VBA code and then when your finished delete it again, but all that takes time. So why not use  same table?
Avatar billede stewen Praktikant
30. august 2006 - 15:37 #4
Det er helt korrekt - det er ikke noget problem at lave det og evt. lave en midlertidig tabel, skrive det i (for så efterfølgende at slette det igen). Jeg skriver ikke ned til nogen tabel - bruger det udelukkende i formularer.

Det er lige så meget fordi jeg ikke synes det er en særlig praktisk løsning (vi har alle vores særheder ;-)

Men jeg har desuden også fundet det jeg søgte (www.mvps.org\access):

In the Open event of the report:

Private Sub Report_Open(Cancel As Integer)
  Me.RecordSource = grst.Name
End Sub

In a standard module:

'
' This code was originally written by Andy Baron
' It is not to be altered or distributed,
' except as part of an application.
' You are free to use it in any application,
' provided the copyright notice is left unchanged.
'
' Code Courtesy of
' Andy Baron
'
Public grst As Recordset

Public Sub testreport()
  Set grst = CurrentDb.OpenRecordset( _
        "Select * from tblTest1 where longfield=4")
  DoCmd.OpenReport "rptTest1", acViewPreview 
  grst.Close 
  Set grst = Nothing
End Sub

Nå - tak for hjælpen anyway
Avatar billede terry Ekspert
30. august 2006 - 15:46 #5
isnt there table involved here?
Avatar billede stewen Praktikant
30. august 2006 - 15:52 #6
jo/nej - jeg ved ikke om vi skriver forbi hinanden (eller jeg faktisk ikke har gennemarbejdet, den kode jeg fandt!)....

Som jeg umiddelbart forstår (og vil bruge koden), så erstatter jeg "Select * from tblTest1" med de beregninger jeg laver i koden og på den måde undgår jeg brug af tabeller! Viser det sig at jeg har taget fejl, er jeg ikke bleg for at indrømme det og fører dermed gerne pointene "tilbage" og tildeler dem til jer..

I hører nærmere!
Avatar billede terry Ekspert
30. august 2006 - 19:12 #7
Public grst As Recordset
This declares a variable with type recordset

Set grst = CurrentDb.OpenRecordset( _
        "Select * from tblTest1 where longfield=4")

This line open a recorset which will contain fields which are from then table tblTest1 and then grst points at this recordset.
Sothe recordset now has a number of known fields with known types and is filled with data.

I may be wrong, but I dont see how your going to get your calculated fields into a recordset which you dont know the layout of.

Hav eyou tried it? If so I would lik eto see ho wyou do it, we can maybe learn something.
Avatar billede stewen Praktikant
31. august 2006 - 08:24 #8
Ok - jeg var lidt for hurtig. Man kan gøre det på en sql-database, men ikke umiddelbart i Access. Undskyld at jeg var så hurtig på aftrækkeren :-(

Jeg har oprettet et spørgsmål, hvor I kan afgive et svar og få pointene...

http://www.eksperten.dk/spm/729479
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