Hallo Forum,

benutze dieses Forum heute zum ersten Mal und habe folgendes Problem.

In einem Formular k�nnen eine oder mehrere Checkboxen angeklickt werden. Die Werte werden mittels Request.QueryString auf der n�chsten Seite ausgelesen. Je nachdem wie viele angeklickt wurden, wird daraus dynamisch die gleiche Anzahl von Views erzeugt, siehe nachfolgenden Code. Dieser Teil funktioniert super und so wie ich ihn haben will.


for each item in Request.QueryString
 if item <> "senden" then
  Verbindung.Execute("create view test" & item & " as select
  buis.buis_id, aspekt.aspekt_id from buis, aspekt, buis_aspekt
  where buis.buis_id = buis_aspekt.buis_id and aspekt.aspekt_id =
  buis_aspekt.aspekt_id and buis_aspekt.aspekt_id = " & item)
 end if
next

Als n�chsten sollen die eben erzeugten Views dynamisch in einen Select-Befehl integriert werden. Es wird bereits am Anfang des Scriptes, hier nicht dargestellt, die Anzahl der �bermittelten Parameter gez�hlt. Wenn z.B. eine Checkbox angeklickt wurde, werden zwei Parameter �bermittelt. Der Wert der Checkbox und der Wert des Submit-Buttons. Es wird also je nach dem wie viele Parameter �bergeben werden individuell reagiert. Also hier noch einmal als Beispiel f�r 2 Parameter.
Jetzt kommt der Problemteil. Leider wei� ich nicht ob innerhalb einer Selectanweisung Schleifen erlaubt sind.


select case anzahl
case 2
 set Daten = server.CreateObject("ADODB.Recordset")
 SQL = "select distinct buis.buis_name, firmen.firmen_name from buis,
 firmen,"
 for each item in Request.QueryString
  if item <> "senden" then
   SQL = SQL & "test" & item
  end if
 next
 SQL = SQL & "where firmen.firmen_id = buis.firmen_id"
 for each item in Request.QueryString
  if item <> "senden" then
   SQL = SQL & "and buis.buis_id = test" & item & ".buis_id"
  end if
 next
Daten.Open SQL,Verbindung,adOpenStatic

Der Selectbefehl sieht z.B. bei einem item zusammengesetzt so aus:

select buis.buis_name, firmen.firmen_name from buis, firmen, test1
where firmen.firmen_id = buis.firmen_id
and buis._buis_id = test1.buis_id

Wenn ich die erzeugte(n) Views direkt eintrage funktioniert alles. Also die Schleifen fallen dann nat�rlich weg.
OK, dann geht’s so weiter:


do while not Daten.EOF
Response.Write(Daten.Fields("buis_name"))
Response.Write(Daten.Fields("firmen_name"))
Daten.MoveNext
loop

Daten.Close
set Daten = Nothing

Verbindung.Close
set Verbindung = Nothing
end select

Ist dies so m�glich? Ich erhalten folgende Fehlermeldung:

Microsoft OLE DB Provider for SQL Server Fehler "80040e14'

Der abh�ngige Name 'firmen' hat denselben offen gelegten Namen wie Tabelle 'firmen'.

/anwender/buissuche/suchergebnis_test.asp, line 43

Kann leider mit dieser Fehlermeldung nichts anfangen.
F�r Hilfe bin ich sehr dankbar.

Gru� Gregor

Antwort per Email an