Avatar billede Laitings Nybegynder
22. april 2002 - 12:18 Der er 9 kommentarer og
1 løsning

Access!! Hvad er problemet

Jeg får følgende fejlmeddelelse og jeg fatter ikke hvorfor!!!!!!

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'BandID ='.

Min kode ser således ud:

<%
SQL1 = "SELECT Bandliste FROM PlaylistTabel WHERE PersonID LIKE '" & Session("ID") & "'"
set rs = myConn.Execute(SQL1)
%>

<%
sStr = rs("Bandliste")
aStr = Split(sStr,",")
For iCnt = 0 To UBound(aStr)
  ' Gør hvad du vil med hver nummer, de kan nåes med aStr(iCnt)

  ' Vælg bandnavn hvor BandID er lig aStr(iCnt)
  SQL3 = "SELECT * FROM BandTabel WHERE BandID = " & aStr(iCnt) & ""
  Set rs3 = myConn.Execute(SQL3)
 
Next 

%>

Jeg har prøvet med Response.Write aStr(iCnt) og jeg får de rigtige resultater ud!?!

Hjælp!

-Mescalito
Avatar billede coltau Juniormester
22. april 2002 - 12:20 #1
aStr(iCnt) er blank
Avatar billede lenn Nybegynder
22. april 2002 - 12:21 #2
lav lige en response.write sql1 og læg det herind - det er lift nemmere at se sql'en
Avatar billede netsrac Praktikant
22. april 2002 - 12:21 #3
Det er sikkert noget med at der er et ekstra komma i slutningen af strengen, også indeholder den sidste plads i arrayet ikke noget, har du prøvet med:

For iCnt = 0 To UBound(aStr) - 1

eller måske:

For iCnt = 1 To UBound(aStr)
Avatar billede lenn Nybegynder
22. april 2002 - 12:21 #4
lidt!!!
Avatar billede coltau Juniormester
22. april 2002 - 12:22 #5
Det kan godt ske at du har udskrevet aStr(iCnt) - men hvis en af dem er blank ser du det jo ikke. Prøv i stedet at udskrive sql-sætningerne:

For iCnt = 0 To UBound(aStr)
  ' Gør hvad du vil med hver nummer, de kan nåes med aStr(iCnt)

  ' Vælg bandnavn hvor BandID er lig aStr(iCnt)
  SQL3 = "SELECT * FROM BandTabel WHERE BandID = " & aStr(iCnt) & ""
  response.write(sql3)
  Set rs3 = myConn.Execute(SQL3)
 
Next 

Så vil du nok opdage at den sidste er blank.
Avatar billede Laitings Nybegynder
22. april 2002 - 12:30 #6
Der kommer samme fejlmeddelelse når jeg forsøger at udskrive SQL'en, men jeg tror du godt kan have ret i den med den blanke plads!

Men hvad gør jeg ved det??

Det er lidt mystisk, for skidtet har virket én gang, men ikke siden den ene!?
Avatar billede netsrac Praktikant
22. april 2002 - 12:34 #7
Har du prøvet med det jeg skrev, så sorterer du den sidte plads fra, eller også skal du gøre det sådan her:

<%
sStr = rs("Bandliste")
aStr = Split(sStr,",")
For iCnt = 0 To UBound(aStr)
If aStr(iCnt) <> "" Then
  ' Gør hvad du vil med hver nummer, de kan nåes med aStr(iCnt)

  ' Vælg bandnavn hvor BandID er lig aStr(iCnt)
  SQL3 = "SELECT * FROM BandTabel WHERE BandID = " & aStr(iCnt) & ""
  Set rs3 = myConn.Execute(SQL3)
End if
Next 

%>
Avatar billede Laitings Nybegynder
22. april 2002 - 12:36 #8
Nej sorry! Havde ikke set dit svar...prøver lige engang!
Avatar billede Laitings Nybegynder
22. april 2002 - 12:40 #9
Jep det funkede sgu'!  Det var et komma startede! 1000 tak gamle!!

-Mescalito
Avatar billede netsrac Praktikant
22. april 2002 - 12:43 #10
Gammel og gammel *G* Det var så lidt :)
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