Avatar billede ducks Nybegynder
15. marts 2004 - 23:12 Der er 7 kommentarer og
1 løsning

Operation is not allowed when the object is closed.

Når jeg skriver:
RS = Conn.Execute("Select * From tbl_calender")
Får jeg fejlen:
ADODB.Connection error '800a0e78'
Operation is not allowed when the object is closed.

Jeg har prøvet mig lidt frem og fundet ud af, at det kun kan være noget med databasen den er gal med(?) Jeg bruger MySQL
Avatar billede eagleeye Praktikant
15. marts 2004 - 23:15 #1
Der mangler Set foran RS, men det ikke fejlen:

Set RS = Conn.Execute("Select * From tbl_calender")


Fejlen betyder at Conn ikke er en åben forbindelse til databasen. Har du en Conn.Open før i koden?
Avatar billede ducks Nybegynder
15. marts 2004 - 23:32 #2
Jeg havde været dum nok til at glemme en hel linie i forbindelsen til databasen :\

Men jeg har et andet problem du måske kan hjælpe med, jeg skal have lavet en kalender, men har lidt problemer med at få lavet så den finder ud af hvornår der står noget i kalenderen. Det jeg har lavet indtil videre ser sådan ud (en udbyggelse af det før):

If isNull(Conn.Execute("Select * From tbl_calender Where clanID=" & clanID & " And eventDate=" & Date + iDay)) Then clndrClass = "clndrEmpty"

Jeg ved ikke helt hvad problemerne er, det ene er ihvertfald at Date + iDay (en variable i løkken der har fra 1 til antal tage i måneden), giver mere end 30 dage. Tabellen eventDate er Date format, men jeg kan ikke helt gennemskue hvordan det skal gøres.
Avatar billede eagleeye Praktikant
15. marts 2004 - 23:36 #3
En connection rutnere et recordet så og hvis det er tom er .EOF og .BOF sat til true. Så prøv at ændre:

If isNull(Conn.Execute("Select * From tbl_calender Where clanID=" & clanID & " And eventDate=" & Date + iDay)) Then clndrClass = "clndrEmpty"

Til:

Set rs = Conn.Execute("Select * From tbl_calender Where clanID=" & clanID & " And eventDate=" & Date + iDay)
If rs.EOF Then clndrClass = "clndrEmpty"
Avatar billede ducks Nybegynder
15. marts 2004 - 23:42 #4
Men hvordan løser jeg problemet med, at sammenligne med datoer der har været der?
For denne måned ser den fx sådan ud:

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

Så skal den også registrere om der er arrangeret noget, for de dage der har været der. I det her tilfælde før d. 15.
Avatar billede eagleeye Praktikant
15. marts 2004 - 23:47 #5
Det man typisk gør er at lave en tæller for dagen og så bygger datoen ud var variable:

for iDay = 1 to 31
  dato = Year(Date) & "-" & Month(Date) & "-" & iDay
  Set rs = Conn.Execute("Select * From tbl_calender Where clanID=" & clanID & " And eventDate=" & dato)


next
Avatar billede eagleeye Praktikant
15. marts 2004 - 23:52 #6
Jeg smutter for i dag, så god nat og sov godt når du kommer til det :)
Avatar billede ducks Nybegynder
16. marts 2004 - 13:24 #7
Takker, jeg har lavet en lille ændring. Satte ' udenom dato og gjorde eventDate til Char. Så det bliver:

Set rs = Conn.Execute("Select * From tbl_calender Where clanID=" & clanID & " And eventDate='" & dato & "'")

Lægger du et svar
Avatar billede eagleeye Praktikant
16. marts 2004 - 22:01 #8
ok det gør jeg da :)
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