Avatar billede tma_oksboel Nybegynder
06. juli 2003 - 21:05 Der er 13 kommentarer

Forskel i forespørgsel ved MSDE contra Access

Hej
Jeg har en forespørgsel i Access 2000 som virker fint. Jeg forsøger at oprette tilsvarende i MSDE, men det giver problemer. Forespørgslen refererer til et felt på en formular og ser i Access således ud:

[Forms]![Udskrivning af varelabels]![cmbVarer]

Forsøger jeg det samme i MSDE, rettes det automatisk til:

= N'[Forms]!Udskrivning af varelabels!cmbVarer'

Og her kommer så ingen poster igennem.

Hvordan skrives tilsvarende i MSDE??

Hilsen Torben
Avatar billede terry Ekspert
06. juli 2003 - 21:26 #1
:o)
Hi Torben,
You cant reference fields on your form when you make query, or at least I dont think you can.
Avatar billede terry Ekspert
06. juli 2003 - 21:32 #2
I am assuming that you have made an DAP (Data Access Page) so the query (view) is on the Server and it cant see your forms!
Avatar billede tma_oksboel Nybegynder
06. juli 2003 - 21:33 #3
Prøv i hjælpen at søge på: Kriterier
Vælg derefter underpunktet: 'Oprette en formular til at indtaste rapportkriterier'
Se punkt 9 og 10

Jeg tror at det er det rigtige emne, men jeg kender ikke nok til at kunne se det helt korrekt. Jeg har kikket i NorthWind projektet, her er der en Stored Procedure 'Sales by year', som benytter det der er beskrevet i hjælpen.

Torben
Avatar billede tma_oksboel Nybegynder
06. juli 2003 - 21:37 #4
Nej, Jeg har importeret formen fra Access databasen, og den fungerer fint på selve projektet.
Avatar billede terry Ekspert
06. juli 2003 - 21:40 #5
I only have teh English version, I'll see if I can see anything in Northwind.
Avatar billede terry Ekspert
06. juli 2003 - 21:41 #6
´Torebn, is it a VIEW you are making or what?
Avatar billede tma_oksboel Nybegynder
06. juli 2003 - 21:46 #7
No, I trying to make a stored procedure, as it seems as if I can refer to the form in a view
Avatar billede terry Ekspert
06. juli 2003 - 21:49 #8
If you make a stored procedure you will be able to pass the values on the form as paramaters
Avatar billede tma_oksboel Nybegynder
06. juli 2003 - 21:50 #9
Hvis jeg lige skal præcisere:
Jeg har en formular hvor man kan bladre igennem nogle poster. Derudover har jeg en rapport som skal udskrive nogle data, udfra hvilken unik post der er valgt i formularen. I Access normalt er det lavet således at jeg har en forespørgsel som linker til nøglefeltet på formularen. Forespørgslen er datakilde for rapporten.
Avatar billede tma_oksboel Nybegynder
06. juli 2003 - 21:51 #10
OK, but how??
Avatar billede terry Ekspert
06. juli 2003 - 22:45 #11
Sorry I'e been gone for a while.

If you remove the criteria fields from the query the report is based on. Then when you open the report you add the criteria to the WHERE paramater.

stDocName = "YourReport"
DoCmd.OpenReport stDocName, acNormal,,"SomeField = '" & Me.fld1 & "'"
Avatar billede tma_oksboel Nybegynder
07. juli 2003 - 09:34 #12
I will test tomorrow, i am out of time for now.

Torben
Avatar billede hugopedersen Nybegynder
19. juli 2003 - 14:29 #13
Du er ude i det tilbagevendende 'problem' der er med MSDE og SQL Server contra Access.  MSDE og SQL udfører forespørgsler på serverdelen uden at den i princippet kender din klientdel og derfor kender den ikke dine formularer i Access og dermed ikke feltnavnene på formularerne.
Jeg gør selv det at jeg bygger en SQL streng ud fra de data jeg vælger på en formular. Denne SQL streng gemmer jeg i en global variabel og så har jeg lavet en function hvis eneste formål er at returnere denne streng som jeg så har sat på mine rapporter som recordsource.  Det er ikke helt fint i kanterne at gøre det på den måde, men det virker.
Ellers skal du til at lege med at lave en stored procedure og så sende paramtre til den fra åbning af din rapport. Det er den rigtige SQL server måde, men den er lidt mere besværlig.

Hvis det i stedet skal være 'quick and dirty' ja så har Terry jo givet svaret :-)
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