Avatar billede celal Nybegynder
25. marts 2003 - 10:37 Der er 7 kommentarer og
1 løsning

Global Dato

Jeg skal bruge et dato interval som kriterie i en forespørgsel, men dette interval skal ikke sættes hvergang man køre forespørgslen, man skal kunne indtaste nyt dato interval når man har brug for det. Datoen skal hentes fra en global dato felt. Jeg har prøvet fra at lave Global dato variabel i et modul, men så virker min forespørgsel ikke. Er der nogen som har en løsning til mit problem?
25. marts 2003 - 10:41 #1
Du kan sagtens lave en global (public) dato. Du er bare nødt til at lave en funktion til at returnere værdien af den:

Public Function GetDato() as Date
  GetDato = varDato
End function

Dernæst kan du bruge GetDato() i din forespørgsel

/Thomas
Avatar billede celal Nybegynder
25. marts 2003 - 10:50 #2
I min forespørgsels kriterie skal jeg bruge eks:
Beetween #01-01-2003# And #01-04-2003#
Hvordan skal jeg så lave min funktion og hvad skal jeg skrive i kriterie feltet for at hente datoerne?
25. marts 2003 - 10:52 #3
Så er du enten nødt til at lave 2 funktioner (og 2 variable) med mindre, at det altid er 3 måneders intervaller, du ønsker?
Avatar billede celal Nybegynder
25. marts 2003 - 10:56 #4
Okay, Jeg har lavet den første funktion som således ud:

Public Function hentstartDato() As Date
Dim startDato As Date
startDato = 12 - 3 - 2003

hentstartDato = startDato
End Function

Og i min kriterie skriver jeg: hentstartDato()

Men min forespørsel giver ikke noget resultat
25. marts 2003 - 10:59 #5
Din dato er forkert:

Public Function hentstartDato() As Date

  hentstartDato = #2003-03-12#

End Function
Avatar billede celal Nybegynder
25. marts 2003 - 11:53 #6
Jeg har oprette en tabel "Dato" med feltet DatoStart og DatoSlut. Her efter har jeg lavet noget kode som skal hente dato felterne fra dato tabelen og bruge det i forespørgslen. ´Min kode ser således ud:

Public Function hentStartDato() As Date

Dim Rst As Recordset
Dim Dbs As Database
Dim strSQL As String
strSQL = "Select * From Dato"
Set Dbs = CurrentDb
Set Rst = Dbs.OpenRecordset(strSQL)

hentStartDato = Rst.Fields("DatoStart")

End Function


Public Function hentSlutDato() As Date

Dim Rst As Recordset
Dim Dbs As Database
Dim strSQL As String
strSQL = "Select * From Dato"
Set Dbs = CurrentDb
Set Rst = Dbs.OpenRecordset(strSQL)

hentSlutDato = Rst.Fields("DatoSlut")

End Function


Er der ikke en måde at slå op i en tabel uden at jeg skal skrive alt det kode?
25. marts 2003 - 11:57 #7
Det kan gøres en anelse lettere ;o)

Public Function hentStartDato() As Date
  hentStartDato= DFirst("DatoStart", "Dato")
End function

Public Function hentSlutDato() As Date
  hentSlutDato = DFirst("DatoSlut", "Dato")
End function
Avatar billede celal Nybegynder
25. marts 2003 - 15:20 #8
Tak for hjælpen
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