Avatar billede sonos Nybegynder
11. september 2003 - 10:50 Der er 23 kommentarer og
1 løsning

rette datoér i 18 forskellige forespørgelser på en gang

hejsa,

Kan man rette datoerne i 18 forskellige forespørgelser på en gang, datoen stå i samme felt. og ser sådan ud "between 01-01-2000 and 01-08-2003", jeg vil nu gerne have ændret den ene dato sådan at den bliver en måned senere "between 01-01-2000 and 01-09-2003". kan man gøre det på en smart måde???

Mvh

Sonos
Avatar billede terry Ekspert
11. september 2003 - 10:58 #1
It could be done in VBA code with a bit of work, otherwise NO!
Avatar billede terry Ekspert
11. september 2003 - 10:59 #2
Add "maybe" after could :o)
Avatar billede terry Ekspert
11. september 2003 - 11:01 #3
You should NEVER hard code dates or ANY criteria for that matter into queries if you know they could change!
Avatar billede terry Ekspert
11. september 2003 - 11:03 #4
If you run your queries direclty from the dB window then you could replace the criteria field with between 01-01-2000 and [Indtast dato]

This will allow you to cahnage
Avatar billede terry Ekspert
11. september 2003 - 11:08 #5
This will allow you to cahnage
=
This will allow you to enter any date
Avatar billede sonos Nybegynder
11. september 2003 - 11:20 #6
Hej Terry,

Det med [] kender jeg godt, men jeg kan ikke bruge den, fordi jeg bruger Excel til at hente data i access og så bliver jeg nødtil at have en fast dato i feltet.
Avatar billede sonos Nybegynder
11. september 2003 - 11:20 #7
kan du hjælpe med noget VBA code, det kender jeg overhovedet ike noget til.
Avatar billede terry Ekspert
11. september 2003 - 11:26 #8
I can maybe this evening as it isnt something which takes five minutes. Can you send the dB to eksperten@santhell.dk and give a reference to this question so I know what I am receiving!
Avatar billede sonos Nybegynder
11. september 2003 - 11:31 #9
jeg kan ikke sende den, den henter tabeldata fra en ODBC kilde, men det felt hvor datoen ligger i hedder "REGISTRERET_TIDSPUNKT" og det felt er i en tabel der hedder "VISIT-CAS_DRIFTSRAP" hvis det kan hjælpe dig.
Avatar billede terry Ekspert
11. september 2003 - 12:03 #10
I will give you an explanation as to what I was intending to do!
In VBA code it is possible to create a query. So I would make a function which deletes the existing query(s) and then creates them again. The function would take two paramaters start date and end date and these whould be included in the query(s).

But lets make sure that this is necessary! Where do you use the queries?
Avatar billede terry Ekspert
11. september 2003 - 12:06 #11
Oh yes Excel!

Do you open Excel from Access? If you do then it would be possible to change the query as I mentioned and then open Excel.

I can see if I can make an example on how to delete/create a query and then you can maybe implement it in your application
Avatar billede sonos Nybegynder
11. september 2003 - 12:08 #12
jeg ved ikke om det er det du mener, men jeg bruger excel til at hente data fra access forespørgelser, og det er datoerne i acces forespørgelserne jeg vil ændre.

men det du siger med at slette de eksisterende datoer og sætte nogle nye ind er ok med mig, det lyder som det jeg kan bruge.
Avatar billede sonos Nybegynder
11. september 2003 - 12:10 #13
ja du må gerne lave et eks. jeg kan afprøve
Avatar billede terry Ekspert
11. september 2003 - 12:36 #14
Function ChangeQueryDates(startDt As Date, StopDt As Date)
Dim db As DAO.Database
Dim qdfTemp As DAO.QueryDef


    Set db = CurrentDb
   
    Set qdfTemp = db.CreateQueryDef()

    On Error Resume Next
   
    db.QueryDefs.Delete "qryTest"


    qdfTemp.Name = "qryTest"
    qdfTemp.SQL = "SELECT * FROM tblTest WHERE Dato Between #" & startDt & "# AND #" & StopDt & "#"
   
    db.QueryDefs.Append qdfTemp

End Function
Avatar billede terry Ekspert
11. september 2003 - 12:36 #15
you need a reference to DAO (tools+references menu)
Avatar billede sonos Nybegynder
11. september 2003 - 12:41 #16
ok, kan du skrive det sidste på dansk, for det fatter jeg ikke noget af.

hvor skal jeg sætte den kode ind henne??
Avatar billede terry Ekspert
11. september 2003 - 12:49 #17
Du kan sætte koden ind i en modul!

Du kalder funktionen

ChangeQueryDates SomeDateField, SomeOtherDateField
Avatar billede terry Ekspert
11. september 2003 - 12:52 #18
Når du er i koden kan to åben Tools+References menuen og sikre dig at Microsoft DAO 3.X er afkrydset. Hvis ikke den er findes den i listen.
Avatar billede sonos Nybegynder
11. september 2003 - 12:58 #19
ok, det tror jeg jeg har klaret, hvad så?
Avatar billede sonos Nybegynder
11. september 2003 - 13:35 #20
hvordan kommer der til at virke??
Avatar billede terry Ekspert
11. september 2003 - 14:14 #21
You could start by making a form with two fields for entering your two dates, and also a button. In the On Click event for the button you call the function like this.

ChangeQueryDates SomeDateField, SomeOtherDateField

Then YOU need to replace this line

qdfTemp.SQL = "SELECT * FROM tblTest WHERE Dato Between #" & startDt & "# AND #" & StopDt & "#"

with the SQL from the query as it is at the moment, at the same time you need to alter the Between so that it is similar to my example.

Sonos, as I said in my first answer "It could be done in VBA code with a bit of work, otherwise NO!"

If you dont know much about VBA then it si going to be a problem :o(
Avatar billede terry Ekspert
11. september 2003 - 18:42 #22
sonos>Do you still need help here?
Avatar billede sonos Nybegynder
12. september 2003 - 11:05 #23
Hej Terry,

jeg kender ikke noget til VBA, og jeg synes det er meget svært at finde ud af, hvad jeg skal gøre.

men tak for hjælpen alligevel

Sonos
Avatar billede terry Ekspert
12. september 2003 - 11:21 #24
Hi sonos, I understand your frustration. Its difficult to help if you dont know anything about VBA and you cant send the dB.

Thanks for the points anyway :o)
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