Avatar billede snowflake7 Nybegynder
18. marts 2004 - 15:13 Der er 4 kommentarer og
1 løsning

har prøvet alt

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression '[Apparat].[apparat_ID]= And [Language].[field_ID]=[Apparat].[field_ID]'.
/sandberg/functioner/db_functioner.asp, line 100


------------db_functioner.asp---------------------



<%
Dim arr_apparat_List
Dim arr_stik_List
Dim arr_kabel_List
Dim arr_sidedata_List

Dim arr_vaelgt_StikA
Dim arr_vaelgt_StikB

Dim arr_aaa_List

sub getAAAFromDB()
    Dim rs, Conn, DSN
    Dim tempAssignTo
    tempAssignTo = assignTo
   
' line  ---------- opretter forbindelse til databasen ----------------
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("databaser/stikDB.mdb")
    Conn.Open DSN
   
    Dim sqlSetning
    sqlSetning = "select apparat_ID from Apparat"
       
    Set rs = Conn.Execute(sqlSetning)
   
    Dim aaa_List
    aaa_List = ""
       
    Dim f
    f = ""
    Dim seperator   
    seperator = "¤%&"
   
    do       
        f = "" & rs(0)

        aaa_List = aaa_List & f & seperator
        rs.MoveNext
    loop While Not rs.EOF
   

    Conn.Close
    Set Conn = Nothing
   
    arr_aaa_List = Split(aaa_List, seperator)

    Response.Write ""&aaa_List&""
    Response.Write "<br>"   

    if isArray(arr_aaa_List) then
              Response.Write "YesYes"
        else
              Response.Write "NoNo"
        End If
   
End Sub

Function getaaaFromArr(s)
    getaaaFromArr = arr_aaa_List(s)
End Function

Function getaaaStoerrelseUFromArr()
    getaaaStoerrelseUFromArr = UBound(arr_aaa_List)
End Function

Function getaaaStoerrelseLFromArr()
    if isArray(arr_aaa_List) then
              getaaaStoerrelseLFromArr = LBound(arr_aaa_List)
        else
              getaaaStoerrelseLFromArr = 0
        End If
End Function


Function getSelectTextA(tempAAA)
    Dim rs, Conn, DSN
    Dim tempAssignTo
    tempAssignTo = assignTo
    Dim tempTempAAA
    tempTempAAA = tempAAA
   

' line  ---------- opretter forbindelse til databasen ----------------
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("databaser/stikDB.mdb")
    Conn.Open DSN
   
    Dim sqlSetning
    sqlSetning = "select * from Language, Apparat where [Apparat].[apparat_ID]="& tempTempAAA &" And [Language].[field_ID]=[Apparat].[field_ID]"
    Response.Write "hallo "&tempTempAAA&" hallo"   

   
    Set rs = Conn.Execute(sqlSetning)
   
   
    If (not rs.EOF) And (not rs.bof) then
        If (isnull(rs("danish"))) then
            Response.write "1"
            aaaAAA = "no1"
           
        Else
            Response.write "2"
            aaaAAA = rs("danish")   
               
        End If
    Else
        Response.write "Ingen resultater"
        aaaAAA = "no3"
    End If   


    Conn.Close
    Set Conn = Nothing

    getSelectTextA = aaaAAA   
   
End Function


'============================================================================================
'============================================================================================
'============================================================================================
'============================================================================================
'============================================================================================


Sub getGetLanguage()

    getLanguage("apparat")
    getLanguage("stik")
    getLanguage("kabel")
    getLanguage("sidedata")

End Sub


Sub getLanguage(assignTo)

    Dim rs, Conn, DSN
    Dim tempAssignTo
    tempAssignTo = assignTo
   
' line  ---------- opretter forbindelse til databasen ----------------
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("databaser/stikDB.mdb")
    Conn.Open DSN
   
    Dim sqlSetning
   
   
'---------- ud fra session finder vi hvilket sprog brugeren har valgt og laver vores sql setning efter det ----------
    if (tempAssignTo = "apparat") then
        If (session("language") = "Da") then
            sqlSetning = "select danish from Language where tilhoere='apparat'"
        Elseif (session("language") = "Swe") then
            sqlSetning = "select swedish from Language where tilhoere='apparat'"
        Elseif (session("language") = "No") then
            sqlSetning = "select norwegian from Language where tilhoere='apparat'"
        Elseif (session("language") = "Fin") then
            sqlSetning = "select finnish from Language where tilhoere='apparat'"
            Else sqlSetning = "select english from Language where tilhoere='apparat'"
        End if

    Elseif (tempAssignTo = "stik") then
                If (session("language") = "Da") then
            sqlSetning = "select danish from Language where tilhoere='stik'"
        Elseif (session("language") = "Swe") then
            sqlSetning = "select swedish from Language where tilhoere='stik'"
        Elseif (session("language") = "No") then
            sqlSetning = "select norwegian from Language where tilhoere='stik'"
        Elseif (session("language") = "Fin") then
            sqlSetning = "select finnish from Language where tilhoere='stik'"
            Else sqlSetning = "select english from Language where tilhoere='stik'"
        End if

    Elseif (tempAssignTo = "kabel") then
        If (session("language") = "Da") then
            sqlSetning = "select danish from Language where tilhoere='kabel'"
        Elseif (session("language") = "Swe") then
            sqlSetning = "select swedish from Language where tilhoere='kabel'"
        Elseif (session("language") = "No") then
            sqlSetning = "select norwegian from Language where tilhoere='kabel'"
        Elseif (session("language") = "Fin") then
            sqlSetning = "select finnish from Language where tilhoere='kabel'"
            Else sqlSetning = "select english from Language where tilhoere='kabel'"
        End if
' -------- line 73 -------
    Elseif (tempAssignTo = "sidedata") then
        If (session("language") = "Da") then
            sqlSetning = "select danish from Language where tilhoere='sidedata'"
        Elseif (session("language") = "Swe") then
            sqlSetning = "select swedish from Language where tilhoere='sidedata'"
        Elseif (session("language") = "No") then
            sqlSetning = "select norwegian from Language where tilhoere='sidedata'"
        Elseif (session("language") = "Fin") then
            sqlSetning = "select finnish from Language where tilhoere='sidedata'"
            Else sqlSetning = "select english from Language where tilhoere='sidedata'"
        End if
    End if
'---- line 86-----
' ----------- udføre sql setningen ---------------
    Set rs = Conn.Execute(sqlSetning)
   
'-------- apparat_List skal bruges til at lave et array med teksterne fra databasen LanguageDB hvor tilhoer=apparat ud fra det valgte sprog -----------
   
    Dim apparat_List
    apparat_List = ""
    Dim stik_List
    stik_List = ""
    Dim kabel_List
    kabel_List = ""
    Dim sidedata_List
    sidedata_List = ""
       
    Dim f
    f = ""
    Dim seperator   
    seperator = "¤%&"
   
    if (tempAssignTo = "apparat") then
    do       
        f = "" & rs(0)

        apparat_List = apparat_List & f & seperator
        rs.MoveNext
    loop While Not rs.EOF
' ------ ine 113 --------   
    Elseif (tempAssignTo = "stik") then
    do       
        f = "" & rs(0)

        stik_List = stik_List & f & seperator
        rs.MoveNext
    loop While Not rs.EOF
' --- line  ---------
    Elseif (tempAssignTo = "kabel") then
    do       
        f = "" & rs(0)

        kabel_List = kabel_List & f & seperator
        rs.MoveNext
    loop While Not rs.EOF
   
    Elseif (tempAssignTo = "sidedata") then
    do       
        f = "" & rs(0)

        sidedata_List = sidedata_List & f & seperator
        rs.MoveNext
    loop While Not rs.EOF
       
    End if

'----------- lukker forbindelsen til databasen -----------
    Conn.Close
    Set Conn = Nothing
   
'--------- her laves arrayet ud fra apparat_List -----------
    if (tempAssignTo = "apparat") then
        arr_apparat_List = Split(apparat_List, seperator)
    elseif (tempAssignTo = "stik") then
        arr_stik_List = Split(stik_List, seperator)
    elseif (tempAssignTo = "kabel") then
        arr_kabel_List = Split(kabel_List, seperator)
    elseif (tempAssignTo = "sidedata") then
        arr_sidedata_List = Split(sidedata_List, seperator)
' ---- line 150 -------   
    End if

    setHentetSprog("yes")
       
End Sub


Function getApparat(s)
    getApparat = arr_apparat_List(s)
End Function

Function getStik(s)
    getStik = arr_stik_List(s)
End Function

Function getKabel(s)
    getKabel = arr_kabel_List(s)
End Function

Function getSidedata(s)
    getSidedata = arr_sidedata_List(s)
End Function


Function getApparatStoerrelseU()

  getApparatStoerrelseU = UBound(arr_apparat_List)-1

End Function
'---- line 180 ------
Function getApparatStoerrelseL()

  getApparatStoerrelseL = LBound(arr_apparat_List)

End Function


Sub get_Valgt_StikA(v)

Dim rs, Conn, DSN
Dim Valgt_Stik_ListA
Valgt_Stik_ListA =""
Dim f
Dim seperator
seperator="¤%&"
f=""
Dim strSQL
Dim tempv
tempv = v



    Set rs = Server.CreateObject("ADODB.Recordset")
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("databaser/stikDB.mdb")
    Conn.Open DSN

' ---- line 210 -----   

    strSQL = "select stik_ID from App_stik_ref Where apparat_ID="& tempv &""

    Set rs = Conn.Execute(strSQL)

   
   
       
    If (not rs.EOF) And (not rs.bof) then
        If (isnull(rs(0))) then
            Response.write "1"
            SetVaelgStikSvarA("no")
           
        Else
            Response.write "2"
            do       
                f = "" & rs(0)
                Valgt_Stik_ListA = Valgt_Stik_ListA & f & seperator
                rs.MoveNext
            loop While Not rs.EOF
            arr_vaelgt_StikA = Split(Valgt_Stik_ListA, seperator)
            SetVaelgStikSvarA("yes")
        End If
    Else
        Response.write "Ingen resultater"
        SetVaelgStikSvarA("no")
    End If   
' ---- line 238 ------
    Conn.Close
    Set Conn = Nothing
   

End Sub


Sub get_Valgt_StikB(v)

Dim rs, Conn, DSN
Dim Valgt_Stik_ListB
Valgt_Stik_ListB =""
Dim f
Dim seperator
seperator="¤%&"
f=""
Dim strSQL
Dim tempv
tempv = v



    Set rs = Server.CreateObject("ADODB.Recordset")
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("databaser/stikDB.mdb")
    Conn.Open DSN

' ---- line 210 -----   

    strSQL = "select stik_ID from App_stik_ref Where apparat_ID="& tempv &""

    Set rs = Conn.Execute(strSQL)

   
   
       
    If (not rs.EOF) And (not rs.bof) then
        If (isnull(rs(0))) then
            Response.write "1"
            SetVaelgStikSvarB("no")
           
        Else
            Response.write "2"
            do       
                f = "" & rs(0)
                Valgt_Stik_ListB = Valgt_Stik_ListB & f & seperator
                rs.MoveNext
            loop While Not rs.EOF
            arr_vaelgt_StikB = Split(Valgt_Stik_ListB, seperator)
           
            SetVaelgStikSvarB("yes")
        End If
    Else
        Response.write "Ingen resultater"
        SetVaelgStikSvarB("no")
    End If   
' ---- line 238 ------
    Conn.Close
    Set Conn = Nothing
   

End Sub



Function getVaelgtStikA(s)
    getVaelgtStikA = arr_Vaelgt_StikA(s)
End Function

Function getValgtStikStoerrelseUA()
    getValgtStikStoerrelseUA = UBound(arr_Vaelgt_StikA)-1
End Function

Function getValgtStikStoerrelseLA()
    if isArray(arr_Vaelgt_StikA) then
              getValgtStikStoerrelseLA = LBound(arr_Vaelgt_StikA)
        else
              getValgtStikStoerrelseLA = 0
        End If
End Function




Function getVaelgtStikB(s)
    getVaelgtStikB = arr_Vaelgt_StikB(s)
End Function


Function getValgtStikStoerrelseUB()
    getValgtStikStoerrelseUB = UBound(arr_Vaelgt_StikB)-1
End Function

Function getValgtStikStoerrelseLB()
    if isArray(arr_Vaelgt_StikB) then
              getValgtStikStoerrelseLB = LBound(arr_Vaelgt_StikB)
        else
              getValgtStikStoerrelseLB = 0
        End If
End Function










Function getadmin(tempUsername, tempPassword)

'---------- opretter forbindelse til databasen ----------------
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath ("databaser/userDB.mdb")
    Conn.Open DSN
   
    Dim sqlSetning
    sqlSetning = "select admin FROM User WHERE username='" & tempUsername & "' AND password='" & tempPassword & "'"
    Set rs = Conn.Execute(sqlSetning)

    Dim svar
    svar = ""

    If (not rs.EOF) And (not rs.bof) then
        If (isnull(rs(0))) then
            Response.write "1"
            svar = "no"
        Elseif (rs(0) = "Webmaster") then
            Response.write "2"
            svar = "Webmaster"
        Elseif (rs(0) = "Marketing") then
            Response.write "2"
            svar = "Marketing"
        Else
            Response.write "3"
            svar = "no"
        End If
    Else
        Response.write "Ingen resultater"
        svar = "no"
    End If   

    getAdmin = svar

'----------- lukker forbindelsen til databasen -----------
    Conn.Close
    Set Conn = Nothing

End Function

%>



--------------vaelg_apparat_indhold.asp--------------


<%

Sub get_vaelg_apparat_indhold()

    Dim tempAa
    Dim tempAb

    Response.Write "<form action='Vaelg_stik.asp' method='post'>"
        Response.Write "<select name='vaelgapparata'>"
       
            For ta = getaaaStoerrelseLFromArr() to getaaaStoerrelseUFromArr()
                'Dim tempAa
                setTempAa(getaaaFromArr(ta))
                Response.Write "<option value='"&ta&"'>'hej "&getSelectTextA(2)&"</option>"
            Next 
       
        Response.Write "</select>"

        Response.Write "dav" &getSelectTextA(tempAa)& ""
        Response.Write "dav2 " &INT(getTempAa())& " dav2"

        Response.Write "<select name='vaelgapparatb'>"
            For tb = getaaaStoerrelseLFromArr() to getaaaStoerrelseUFromArr()
                'Dim tempAa
                setTempAb(getaaaFromArr(tb))
                Response.Write "<option value='"&tb&"'>'hej "&getSelectTextA(2)&"</option>"
            Next   
        Response.Write "</select>"

        Response.Write "<input type='submit' value='Ok'>"

    Response.Write "</form>"
   
End Sub

Sub setTempAa(Aa)
    tempAa = "" & Aa & ""
End Sub

Function getTempAa()
    getTempAa = tempAa
End Function


Sub setTempAb(Ab)
    tempAb = "" & Ab & ""
End Sub

Function getTempAb()
    getTempAb = tempAb
End Function



'============================================================================================
'============================================================================================
'============================================================================================
'============================================================================================
'============================================================================================


'Sub get_vaelg_apparat_indhold()
'
'    Response.Write "<form action='Vaelg_stik.asp' method='post'>"
'        Response.Write "<select name='vaelgapparata'>"
'            For t1 = getApparatStoerrelseL() to getApparatStoerrelseU()
'                dim t11
'                t11 = t1 + 1 
'                    Response.Write "<option value='"&t11&"'>"&getApparat(t1)&"</option>"
'            Next   
'        Response.Write "</select>"
'
'        Response.Write "<select name='vaelgapparatb'>"
'            For t2 = getApparatStoerrelseL() to getApparatStoerrelseU() 
'                    Dim t22
'                t22 = t2 + 1
'                Response.Write "<option value='"&t22&"'>"&getApparat(t2)&"</option>"
'            Next   
'        Response.Write "</select>"
'
'        Response.Write "<input type='submit' value='Ok'>"
'
'    Response.Write "</form>"
'
'    For t1 = getApparatStoerrelseL() to getApparatStoerrelseU()
'                'dim t11
'                't11 = t1 + 1 
'                    Response.Write ""&getApparat(t1)&""
'                Response.Write "<br>"
'    Next
'
'End Sub


%>
Avatar billede medions Nybegynder
18. marts 2004 - 15:26 #1
Prøv lige sådan her:

    sqlSetning = "select * from [Language], Apparat where Apparat.apparat_ID="& tempTempAAA &" And Language.field_ID=Apparat.field_ID"

//>Rune
Avatar billede nute Nybegynder
18. marts 2004 - 17:10 #2
det er nok denne linie der går galt:

Response.Write "dav" &getSelectTextA(tempAa)& ""

du dimmer 'tempAa' inde i 'get_vaelg_apparat_indhold' men sætter værdien af den inde i en anden sub ('setTempAa')*uden* at sende den med som reference ?!?! tempAa vil jo aldrig få sin værdi ... *derfor* fungerer det ikke ...

jeg kan godt forstå du ikke kan finde ud af det, for dette er godt nok noget af det mest uoverskuelige kode jeg har set i laaaaang tid ...

/nute
Avatar billede snowflake7 Nybegynder
20. marts 2004 - 15:55 #3
medions det virkede ikke
Avatar billede snowflake7 Nybegynder
20. marts 2004 - 15:58 #4
kom til at give dig point medions, men det skulle du ikke have haft, jeg kom til at trykke på den forkerte knap.


nute?
Avatar billede nute Nybegynder
20. marts 2004 - 17:02 #5
nute ?
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