Torgath
Mitglied
So, hab ein kleines Proplem...
Ich hab diese beiden Quellcodes:
list.asp:
edit.asp:
list.asp ist wie ihr sicher seht für die Auflistung einer Tabelle zuständig und edit.asp für die Editierung! (Luzie sollte list.asp noch kennen... )
Nun will ich einen Datensatz editieren, aber es kommt nur dieser Fehler:
Microsoft JET Database Engine Fehler "80040e14'
Syntaxfehler in FROM-Klausel. /list.asp, line 119
Ich hab schon alles mögliche versucht, aber keine Lösung gefunden... könnt ihr mir helfen?
Ich hab diese beiden Quellcodes:
list.asp:
Code:
<%@ Language=VBScript %>
<%
dim vararray(16)
dim vartable
vartable = Request("vtable")
Response.Write vartable%><br>
<%Response.Write vtable%><br>
<%="test123"%>
<%
Select Case vartable
Case "mitarbeiter"
'Response.Write "1"
vararray(0) = "glo_Mitarbeiter"
vararray() = ""
vararray() = ""
vararray() = ""
vararray() = ""
vararray() = ""
Case "kunden"
'Response.Write "2"
vararray(0) = "tbl_customer"
vararray(1) = "fcompany"
vararray(2) = "fzip"
vararray(3) = "flocation"
vararray(4) = "vcompany"
vararray(5) = "vzip"
vararray(6) = "vlocation"
vararray(7) = "id"
vararray(8) = "company"
vararray(9) = "street"
vararray(10) = "zip"
vararray(11) = "location"
vararray(12) = "ID"
vararray(13) = "Firma"
vararray(14) = "Strasse"
vararray(15) = "PLZ"
vararray(16) = "Ort"
Case else
'Response.Write "3"
'Response.Write vartable
'Request.QueryString (vartable)
vararray(0) = "tbl_contact"
vararray(1) = "fname"
vararray(2) = "ffirstname"
vararray(3) = "fzip"
vararray(4) = "vname"
vararray(5) = "vfirstname"
vararray(6) = "vzip"
vararray(7) = "id"
vararray(8) = "name"
vararray(9) = "firstname"
vararray(10) = "zip"
vararray(11) = "location"
vararray(12) = "ID"
vararray(13) = "Vorname"
vararray(14) = "Name"
vararray(15) = "PLZ"
vararray(16) = "Ort"
end Select%>
<%
dim vname ' ---
dim vfirstname ' ---
dim vzip ' ---
dim vcompany ' ---
dim vlocation ' ---
dim counter ' ---
counter = 1
dim intpagecounter
intpagecounter = 1
dim pagesize ' --- Definieren der Seitengröße (Anzahl Datensätze pro Seite)
pagesize = 5
dim actpage
actpage = Request("PN")
'Response.Write vararray(1)%><br><%
'Response.Write vararray(2)%><br><%
'Response.Write vararray(3)%><br><%
vararray(4) = Request(vararray(1))
if vararray(4) <> "" Then
strCond = "and " & vararray(8) & " like " & chr(34) & "%" & vararray(4) & "%" & chr(34)
End if
vararray(5) = Request(vararray(2))
if vararray(5) <> "" Then
strCond = strCond & " and " & vararray(9) & " like " & chr(34) & "%" & vararray(5) & "%" & chr(34)
End if
vararray(6) = Request(vararray(3))
if vararray(6) <> "" Then
strCond = strCond & " and " & vararray(10) & " like " & chr(34) & vararray(6) & "%" & chr(34)
End if
'Response.Write vararray(1)%><br><%
'Response.Write vararray(2)%><br><%
'Response.Write vararray(3)%><br><%
'Response.Write strCond %><br><%
set ors = CreateObject("ADODB.RECORDSET") ' --- ors = objetrecordset
set ocn = CreateObject("ADODB.Connection") ' --- ocn = objectconnect
ors.PageSize = pagesize
ors.CacheSize = pagesize
ocn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(".") & "\db\adb.mdb;"'Verbindung zur Datenbank wird erstellt
ors.open "Select * from " & vartable & " where 1=1 " & strCond & " order by ID ",ocn,3,3
if actpage = "" or not isnumeric(actpage) or cint(actpage) > cint(ors.PageCount) then
actpage = 1
end if
dim datarec
datarec = ors.RecordCount
dim maxpage
maxpage = fix(datarec/pagesize)
if (maxpage*pagesize) < datarec then maxpage = maxpage + 1
if counter > maxpage then counter = maxpage
%>
<%
sub arrowleft
if cint(actpage) <= 1 then
response.Write Server.HTMLEncode("<<")
else
Response.Write "<a href='list.asp?PN=" & actpage - 1 & "&" &vararray(1) & "=" & Request(vararray(1)) & "&" &vararray(2) & "=" & Request(vararray(2)) & "&" &vararray(3) & "=" & Request(vararray(3)) & "&vtable=" & vartable & "'> " & Server.HTMLEncode("<<") & "</a>"
end if
end sub
sub arrowright
if cint(actpage) < cint(maxpage) then
Response.Write "<a href='list.asp?PN=" & actpage + 1 & "&" & vararray(1) & "=" & Request(vararray(1)) & "&" & vararray(2) & "=" & Request(vararray(2)) & "&" &vararray(3) & "=" & Request(vararray(3)) & "&vtable=" & vartable & "'> " & Server.HTMLEncode(">>") & "</a>"
else
response.Write Server.HTMLEncode(">>")
end if
end sub
sub sitenumber
for intpagecounter = 1 to ors.PageCount
if cint(intpagecounter) = cint(actpage) then
Response.Write intpagecounter & ""
else
Response.Write "<a href='list.asp?PN=" & intpagecounter & "&" & vararray(1) & "=" & Request(vararray(1)) & "&" & vararray(2) & "=" & Request(vararray(2)) & "&" & vararray(3) & "=" & Request(vararray(3)) & "&vtable=" & vartable & "'> " & intpagecounter & " </a>"
end if
next
end sub
%>
<%
if not ors.EOF then
ors.AbsolutePage = actpage
end if
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<table border=1 align=center>
<tr>
<td colspan="9">Adressliste; Seite <%=actpage%>; Anzahl Datensätze: <%=datarec%>; <%=maxpage%></td>
</tr>
<tr>
<td>Check</td>
<td><%=vararray(12)%></td>
<td><%=vararray(13)%></td>
<td><%=vararray(14)%></td>
<td><%=vararray(15)%></td>
<td><%=vararray(16)%></td>
<td>Detail</td>
<td>Editieren</td>
<td>Löschen</td>
</tr>
<%
if ors.RecordCount > 0 then
do while not ors.EOF and counter <= pagesize%>
<tr>
<td>
<input type="checkbox" name="Auswahl" value="Check">
</td>
<td>
<%=ors("" & vararray(7) & "")%>
</td>
<td>
<%=ors("" & vararray(9) & "")%>
</td>
<td>
<%=ors("" & vararray(8) & "")%>
</td>
<%'=ors("street")%>
<%'=ors("number")%>
<td>
<%=ors("" & vararray(10) & "")%>
</td>
<td>
<%=ors("" & vararray(11) & "")%>
</td>
<%'=ors("phone")%>
<%'=ors("fax")%>
<%'=ors("e_mail")%>
<td>
<a href="contact.asp?ident=<%=ors("" & vararray(7) & "")%>&vtable=<%=vartable%>" target="Edit">Detail</a>
</td>
<td>
<a href="edit.asp?ident=<%=ors("" & vararray(7) & "")%>&vtable=<%=vartable%>" target="Edit">Editieren</a>
</td>
<td>
<a href="delete.asp?ident=<%=ors("" & vararray(7) & "") & vararray(1) & "=" & Request(vararray(1)) & vararray(2) & "=" & Request(vararray(2)) & vararray(3) & "=" & Request(vararray(3))%>&vtable=<%=vartable%>" onClick="return confirm('Wirklich Löschen?')">Löschen</a>
</td>
</tr>
<%counter = counter + 1
ors.MoveNext
loop
else
response.Redirect "ask.asp" 'Sollte die Abfrage keinen geeigneten Wert finden wird die Seite neu geladen.
end if
%>
</table>
<table align=center>
<tr>
<td>
<%
arrowleft
%>
</td>
<td>
<%
sitenumber
%>
</td>
<td>
<%
arrowright
%>
</td>
</tr>
</table>
<br>
<br>
<center><%Response.Write "<a href='select.asp?=&vararray(1)=" & Request("vararray(1)") & "&vararray(2)=" & Request("vararray(2)") & "&vararray(3)=" & Request("vararray(3)") & "'>Tabellenauswahl</a>" ' target='_parent'%> -
<%Response.Write "<a href='ask.asp?=&vararray(1)=" & Request("vararray(1)") & "&vararray(2)=" & Request("vararray(2)") & "&vararray(3)=" & Request("vararray(3)") & "'>Neue Abfrage starten</a>" ' target='_parent'%>
</center>
<%ors.Close
set ors = nothing
ocn.Close
set ocn = nothing
%>
</BODY>
</HTML>
edit.asp:
Code:
<%@ Language=VBScript %>
<%
dim nID
dim vartable
dim vararray
nID = Request("ident") ' mitgeliederte ID
vartable = Request("vtable") ' mitgelieferter Tabellenname
set ors = CreateObject("ADODB.RECORDSET") 'ors = objetrecordset
set Ocn = CreateObject("ADODB.Connection") 'ocn = objectconnect
ocn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath(".") & "\db\adb.mdb;"'Verbindung zur Datenbank wird erstellt
ors.Open "Select * from " & vartable & " where id= " & nID,ocn,1,3 'Abfrage
vararray = split(space(ors.Fields.count)," ")
textfldvararray = vararray
i = 0 ' i wird als 0 definiert
for each fld in ors.Fields ' for each...next-Schlaufe fld = ein Feld
vararray(i) = fld.value ' Feldinhalt ist Variabler Array
textfldvararray(i) = "TBOX_" & fld.Name ' TBOX_Feldname ist Variabler Textfeldarray
i = i + 1 ' Zähler
next
if Request("Save") <> "" then
i = 0
for each fld in ors.Fields
if i > 0 then
'on error resume next
'ors.Fields(fld.name) = request(textfldvararray(i))
'if err <> 0 then
' Response.Write fld.name
' Response.End
'End if
'on error goto 0
End if
i = i + 1
next
ors.Update
Response.Redirect "list.asp?" & Request.QueryString()
end if
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY><form target="Liste" action="edit.asp" method="post" id=form1 name=form1>
<table border=1 align=center>
<%=Request.QueryString()%><br>
<%=vartable%>
<%
i = 0
for each fld in ors.Fields ' for each...next-Schlaufe
if i > 0 then ' %>
<tr>
<td><%=Fld.name%></td>
<td><input type="text" value="<%=vararray(i)%>" name="<%=textfldvararray(i)%>"></td>
</tr>
<%
End if
i = i + 1
Next%>
<tr>
<td colspan="2" align="center"><input type="submit" value="Ändern" id="submit1" name="Save">
<input type="hidden" value="<%=nID%>" name="ident">
<input type="hidden" value="<%=vartable%>" name="vtable">
</td>
</tr>
</table></form>
</BODY>
</HTML>
<%ors.Close
set ors = nothing
ocn.Close
set ocn = nothing
%>
list.asp ist wie ihr sicher seht für die Auflistung einer Tabelle zuständig und edit.asp für die Editierung! (Luzie sollte list.asp noch kennen... )
Nun will ich einen Datensatz editieren, aber es kommt nur dieser Fehler:
Microsoft JET Database Engine Fehler "80040e14'
Syntaxfehler in FROM-Klausel. /list.asp, line 119
Ich hab schon alles mögliche versucht, aber keine Lösung gefunden... könnt ihr mir helfen?