Avatar billede alkrojen Nybegynder
27. juli 2001 - 14:19 Der er 3 kommentarer og
1 løsning

Problem med .OpenRecordset

Min bog (Access 2000 VBA Handbook) siger at følgende kode skulle virke, men det gør det bare ikke. Hvad kan jeg have glemt?

Sub UpdateTotallager(sk As Double)
  Dim db As Database
  Dim rs As Recordset
  Dim q As String
 
  Set db = CurrentDb
  q = \"SELECT antal FROM Lagerstatus WHERE knr=\" + Str(sk)
  Set rs = db.OpenRecordset(q)
 
  Do Until rs.EOF
    Debug.Print rs!antal
    rs.MoveNext
  Loop
End Sub

Fejlen ligger i linien med OpenRecordset. Jeg har tilføjet DAO biblioteket, og dens .Execute funktion virker fint. Jeg har flyttet koden over i et modul da den ikke ville virke i en form, men det hjalp heller ikke. Hvad kan der være galt?
Avatar billede terry Ekspert
27. juli 2001 - 16:08 #1
q = \"SELECT antal FROM Lagerstatus WHERE knr= \'\" & Str(sk) & \"\'\"
 
When you are converting sk to a string then I am assuming that knr is also a string! Strings need to be in \' \' and numbers don not!
Avatar billede alkrojen Nybegynder
29. juli 2001 - 13:35 #2
Knr er en integer, men da sk skal være en del af SQL statementet, som jo er en string, skal den konverteres til dette! således at der feks står:

\"SELECT antal FROM Lagerstatus WHERE knr=\"+\"456\"

Så nej det kan ikke være det, terry!!
Avatar billede terry Ekspert
30. juli 2001 - 08:41 #3
So your saying that you have taken the example from a book and can not get it to work.
In your references ensure that the DAO refrence comes before the ADO refrence, you can change the priority with the little up and down arrows.
Just a thought!
Avatar billede juks Novice
31. juli 2001 - 13:47 #4
prøv at åbne rs as  dynaset
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