Avatar billede cpn80 Nybegynder
17. oktober 2005 - 15:08 Der er 16 kommentarer og
1 løsning

brug af sql i vba

Hej


Følgende kode genererer fejlen

Set dbMyDB = OpenDatabase("C:\Documents and Settings\CPN\Desktop\ismaskine anno torsdag morgen\ismaskine anno torsdag morgen/ismaskine.mdb")
Set rsMyRS = dbMyDB.OpenRecordset("Ismaskine_statistik", dbOpenDynaset)
   
rsMyRS.AddNew
rsMyRS!samlet_pris = Samlet_ispris
rsMyRS.Update

rsMyRS.AddNew
rsMyRS!Samlet_Joule = samletjoule
rsMyRS.Update

sSQL = "SELECT SUM(Samlet_Pris) FROM Ismaskine_statistik"
    DoCmd.RunSQL sSQL


Runtime error 424, object required

Den markerer denne linie i debugging
DoCmd.RunSQL sSQL
... Er der nogen der kan forklare en stakkels hjælpeløs newb om hvad der er galt og hvordan det løses ?
Avatar billede darth-domino Nybegynder
17. oktober 2005 - 15:29 #1
/ismaskine.mdb") = \ismaskine.mdb")
Avatar billede cpn80 Nybegynder
17. oktober 2005 - 15:31 #2
den har fint fat i databasen, og samlet_ispris og samletjoule bliver begge smidt ned i den, så det er ikke det
Avatar billede darth-domino Nybegynder
17. oktober 2005 - 15:34 #3
Jamen skal denne her "Samlet_Pris" så ikke hedde "Samlet_ispris"
Avatar billede cpn80 Nybegynder
17. oktober 2005 - 15:41 #4
Samlet_Pris er en kolonne i databasen i tabellen Ismaskine_statistik.
Samlet_ispris er en global int i programmet
Avatar billede cpn80 Nybegynder
17. oktober 2005 - 15:51 #5
har fri nu. er tilbage imorgen. hvis der er nogen der kan finde en løsning blir jeg glad 8), men svarer først igen imorgen på denne tråd
Avatar billede terry Ekspert
17. oktober 2005 - 16:30 #6
DoCmd.RunSQL sSQL

you can not use DoCmd.RunSQL to return records!
Avatar billede kabbak Professor
17. oktober 2005 - 17:06 #7
Finder summen af feltet  Samlet_Pris

A = Dsum("Samlet_Pris","Ismaskine_statistik")
Avatar billede cpn80 Nybegynder
18. oktober 2005 - 08:18 #8
Terry : If I can´t use DoCmd.RunSQL, what can I use instead ?

Kabbak : uddyb venligst din kommentar. Hvordan skal jeg implementere det du skrev ?
Avatar billede kabbak Professor
18. oktober 2005 - 08:29 #9
det kommer an på hvad du skal bruge det til:

du kan skrive  = Dsum("Samlet_Pris","Ismaskine_statistik")
i et ubundet tekstfelt i en formular og så se værdien der.

du kan skrive det i et felt i en forespørgsel som:
Samlet_ispris:Dsum("Samlet_Pris","Ismaskine_statistik")

du kan sætte kriterier på

Dsum("Samlet_Pris","Ismaskine_statistik","Is = 1")

prøv at kikke i hjælpen for Dsum
Avatar billede cpn80 Nybegynder
18. oktober 2005 - 08:38 #10
jeg arbejder i Words vba miljø, og i hjælpen kommer der intet frem om Dsum. Google viser mig et tilhørsforhold til Access for den funktion, men den blir vist ikke genkendt i word. Kan jeg få den integreret i words funktionalitet eller må jeg bruge en anden løsning ?
Avatar billede kabbak Professor
18. oktober 2005 - 08:43 #11
Du skal sætte reference til Microsoft Accesss x.x object library

Tools References
Avatar billede kabbak Professor
18. oktober 2005 - 08:45 #12
Jeg har aldrig prøvet fra Word , så bær over med mig, hvis det ikke er korrekt.
Avatar billede cpn80 Nybegynder
18. oktober 2005 - 08:59 #13
hehe, helt i orden

Jeg har tilføjet det bibliotek og indsat

Samlet_ispris = Dsum("Samlet_Pris","Ismaskine_statistik")

Den giver mig fejlen runtime error '2950'  reserved error
I debugging kan jeg se at Samlet_ispris har antaget en værdi, som burde være rigtig, men den laver som sagt stadig ged i det
Avatar billede terry Ekspert
18. oktober 2005 - 13:50 #14
you can do it using a recordset just like you do at the satrt of the code you gave. But instead of opening a table you use an SQL statement. OR make a query in Access and then use the query in the OpenRecordset instead of the table.
Avatar billede cpn80 Nybegynder
18. oktober 2005 - 14:45 #15
Hvis jeg følger det eksempel med Dsum får jeg det funktionsdugtigt ud, men jeg skal have databasen åben først. At få svar på hvorfor jeg skal det, må jeg hellere oprette i et nyt spørgsmål, men får nu vil jeg lukke dette. Det var kabbaks svar der førte mig til det resultat jeg har nu, så hvis han vil smide et svar, blir pointene givet til ham. Håber dette er i orden med de andre som har brugt tid på spørgsmålet.
Jeg takker for hjælpen mange gange

Hilsen CPN
Avatar billede kabbak Professor
18. oktober 2005 - 18:23 #16
Nu kom huskeren i gang igen, ja det er rigtig, jeg har prøvet i Excel, der skal Access også være åben, så virker Dsum, jeg har ikke tjekket vider hvordan man ungår det.

;-))
Avatar billede cpn80 Nybegynder
19. oktober 2005 - 08:23 #17
det er helt i orden. Tak for hjælpen hr
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
Kurser inden for grundlæggende programmering

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