Avatar billede schoesler Nybegynder
06. august 2003 - 16:00 Der er 26 kommentarer og
1 løsning

Query forsvinder ud i den blå luft

Når jeg laver en Query så forsvinder den anden gang den skal bruges? Er der en forkklaring på det?


SELECT [crew database].count, [crew database].Onboard, [crew database].Surname
FROM [crew database]
WHERE ((([crew database].ID)=[Forms]![agreement-crewlist]![ID]));
Avatar billede Jørgen Kirkegaard Professor
06. august 2003 - 16:43 #1
Forsvinder dit query? Først gemt (lagret) og så bliver det væk, 2. gang du kører det?
Avatar billede schoesler Nybegynder
06. august 2003 - 16:47 #2
Det er lige hvad der sker
Avatar billede overchord Nybegynder
06. august 2003 - 17:09 #3
Hvor koerer du queryen fra? Jeg antager at der ligger en knap paa din agreement-crewlist form. Er der en knap der aabner queryen eller hvad?
Avatar billede schoesler Nybegynder
06. august 2003 - 17:13 #4
Den er på en knap. Har haft 'terry' til at importere til en ny access fil og det virker. Men når jeg laver en ny query forsvinder den
Avatar billede overchord Nybegynder
06. august 2003 - 17:37 #5
Proev at benytte denne kode istedet og se om det virker. I kode oprettes en query, men slettes igen med det samme (efter at den har udfoert jobbet)

Sub Dinknap_click()
dim db1 as database
dim qdf as querydef
dim strsql as string

set db1 = currentdb

strsql = "SELECT [crew database].count, [crew database].Onboard, [crew database].Surname FROM [crew database] WHERE ((([crew database].ID)=[Forms]![agreement-crewlist]![ID]));"

set qdf = db1.createquerydef("temp",strsql)

'Overfor data fra queryen eller aabn queryen her

db1.querydefs.delete qdf.Name
Avatar billede schoesler Nybegynder
06. august 2003 - 17:52 #6
det vil jeg prøve. lidt senere
Avatar billede terry Ekspert
06. august 2003 - 21:14 #7
Hi Jan,
Yes it puzzled me too, and I have NO idea as to why! Overchords solution could be a work around but it would be nice to know why it gets deleted.
Avatar billede schoesler Nybegynder
11. august 2003 - 11:32 #8
Sømanden er iland efter en lille sejltur i sejlbåden, undskyld jeg ikke har svaret.

Har prøvet koden fra 'overchord' men får fejl på 'dim db1 as database' hvad er det for et object jeg mangeler at implementere.?

Skal den færdige kode ikke se sådan ud

Sub Dinknap_click()
dim db1 as database
dim qdf as querydef
dim strsql as string

set db1 = currentdb

strsql = "SELECT [crew database].count, [crew database].Onboard, [crew database].Surname FROM [crew database] WHERE ((([crew database].ID)=[Forms]![agreement-crewlist]![ID]));"

set qdf = db1.createquerydef("temp",strsql)

DoCmd.OutputTo acOutputQuery, "qdf", acFormatXLS, "C:\New Product.xls"

db1.querydefs.delete qdf.Name
Avatar billede schoesler Nybegynder
13. august 2003 - 10:45 #9
Terry kan du ikke hjaelpe?
Avatar billede overchord Nybegynder
13. august 2003 - 12:20 #10
beklager den lange ventetid - var selv paa ferie :-0

Den eneste mulige fejl jeg kan finde i koden er at du proever at eksportere en query kaldet qdf:
DoCmd.OutputTo acOutputQuery, "qdf", acFormatXLS, "C:\New Product.xls"

proev at erstat med:
DoCmd.OutputTo acOutputQuery, qdf.Name, acFormatXLS, "C:\New Product.xls"

Koden koerer i Access 97, hvilken version bruger du?
Avatar billede schoesler Nybegynder
13. august 2003 - 12:30 #11
Ja, ferie skal der til. Jeg bruger Access 2000. Vil proeve med din kode
Avatar billede schoesler Nybegynder
13. august 2003 - 12:34 #12
'overcord' når ikke længere end til:
Sub Dinknap_click()
dim db1 as database
Får fejlmelding hvad mangler jeg at installere "reference"
Avatar billede schoesler Nybegynder
13. august 2003 - 12:43 #13
Har installeret microsoft DAO 3.6 object liabry og nu får jeg fejl på

DoCmd.OutputTo acOutputQuery, "qdf.name", acFormatXLS, "C:\New Product.xls"
Avatar billede terry Ekspert
13. august 2003 - 17:46 #14
Hi Jan,
I am on my holidays at the moment with family from the UK so I dont have too much time for eksperten. I'll see if I can get tiemto look at this but no promises :o)
Avatar billede overchord Nybegynder
14. august 2003 - 12:05 #15
ok du skal ikke laegge anfoerselstegn omkring qdf.name

DoCmd.OutputTo acOutputQuery, qdf.name, acFormatXLS, "C:\New Product.xls"

qdf er queryobjektet, saa du peger bare paa en funktion der returnerer navnet.
Avatar billede schoesler Nybegynder
14. august 2003 - 12:24 #16
hej igen, får fejl på set qdf = db1.createquerydef("temp",strsql)
Avatar billede overchord Nybegynder
14. august 2003 - 17:25 #17
hmmmm det var da underligt!!! Hvad er fejlmeddelelsen?
Avatar billede schoesler Nybegynder
14. august 2003 - 19:01 #18
'overchord' får compile error
Avatar billede overchord Nybegynder
15. august 2003 - 10:55 #19
Jeps det er en compile error, men er det en syntax fejl, Invalid expression eller hvad?
Avatar billede schoesler Nybegynder
15. august 2003 - 10:59 #20
undskyld det er en syntax fejl
Avatar billede overchord Nybegynder
15. august 2003 - 12:35 #21
Det var dog mystisk. Jeg ved ikke om det kan have noget med versioner af access at goere, men jeg har denne linje liggende i en access 97 db, og den virker fint:
Set qdf = db1.CreateQueryDef("temp", strsql)

hvilken version af access bruger du?
Avatar billede schoesler Nybegynder
15. august 2003 - 12:40 #22
bruger Access 2000
Avatar billede overchord Nybegynder
15. august 2003 - 12:47 #23
Kan du evt paste hele koden ind saa jeg kna se den. Some tider stopper debuggeren i linjen foer problem-koden
Avatar billede schoesler Nybegynder
15. august 2003 - 12:56 #24
her er den

Private Sub Command324_Click()
Dim db1 As Database
Dim qdf As querydef
Dim strsql As String

Set db1 = CurrentDb

strsql = "SELECT [products].[Product Name], FROM products WHERE ((([products].ID)=[Forms]![products]![ID]));"

Set qdf = db1.CreateQueryDef("temp", strsql)

DoCmd.OutputTo acOutputQuery, qdf.name, acFormatXLS, "C:\New CrewMember.xls"

db1.querydefs.Delete qdf.name
End Sub
Avatar billede overchord Nybegynder
15. august 2003 - 13:33 #25
Det eneste jeg kan finde omkring aendringer fra 97 til 2000 er omkring genereing af select queries

istedet for:
Set qdf = db1.CreateQueryDef("temp", strsql)


Proev med
Set qdf = db1.CreateQueryDef("temp")
qdf.SQL = strsql

Og dobbeltcheck at der er reference til DAO 3.6 (Tools -> References -> Kryds ved "Microsoft DAO 3.6 Object Library")
Avatar billede schoesler Nybegynder
15. august 2003 - 14:35 #26
'overchord' så lykkedes det. Tak for hjælpen. Hvis du ikke vil nøjes med 15 point, så dig lige til
Avatar billede overchord Nybegynder
15. august 2003 - 14:59 #27
15 point er ok
Glad for at det kom til at virke - saa fik jeg ogsaa laert lidt om forskel mellem 97 0g 2000 :-)
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