Wolfgang: Fehler 800a0cc1

Ich bekomme den ADODB.Recordset-Fehler 800a0cc1, Ein Object, das dem angeforderten Namen oder dem Ordinalhinweis entspricht, kann nicht gefunden werden. (in der Zeile talk_teilnehmer=rs("id_nr") siehe Code)
Das Code-Fragment:
db_dsn="daten"
  db_user=""
  db_table="talk"
  db_password=""
  ' Datenbank öffnen
  set db=Server.CreateObject("ADODB.Connection")
  db.Open "dsn=" & db_dsn & ";uid=" & db_user & ";pwd=" & db_password
  sql="SELECT zuname, passwort FROM talk WHERE zuname=" & benutzer &" AND passwort =" & passwort_eingabe
  set rs = db.Execute(sql)
  if rs.EOF then
   %> ...<%
  else
   talk_teilnehmer=rs("id_nr")
                end if
                usw...

Das spannende ist, dass der Fehler nur beim Feld "id_nr" (ACCESS Autowertfeld LongInteger) auftritt, wenn ich nach z.B. einem Feld rs("zuname") (ein Textfeld) frage, funktionierts.
Danke im Voraus

  1. Ich bekomme den ADODB.Recordset-Fehler 800a0cc1, Ein Object, das dem angeforderten Namen oder dem Ordinalhinweis entspricht, kann nicht gefunden werden. (in der Zeile talk_teilnehmer=rs("id_nr") siehe Code)
    Das spannende ist, dass der Fehler nur beim Feld "id_nr" (ACCESS Autowertfeld LongInteger) auftritt, wenn ich nach z.B. einem Feld rs("zuname") (ein Textfeld) frage, funktionierts.
    Danke im Voraus

    Hallo Wolfgang,

    mit obiger Fehlermeldung will ADO sagen, das es das Feld id_nr nicht der angesprochenen Tabelle findet. Am besten überprüfst Du einmal, ob die Schreibweise mit dem Feldnamen identisch ist.
    Der Felddatentyp ist hier nicht von Belang.

    Gruss
    Uwe Nohl

  2. Hallo Wolfgang

    ich nochmal

    ---> wo ist das Feld id_nr ????>   sql="SELECT zuname, passwort FROM talk WHERE zuname=" & benutzer &" AND passwort =" & passwort_eingabe

    set rs = db.Execute(sql)
      if rs.EOF then
       %> ...<%
      else
       talk_teilnehmer=rs("id_nr")

    »»

    Hoffe geholfen zu haben
    Gruss
    Uwe Nohl

    1. Sehr peinlich,
      hab mir ein paarmal auf den hinterkopf gehaut, hoffe das hilft jetzt.
      Vielen Dank

  3. Hallo Wolfgang

    Das spannende ist, dass der Fehler nur beim Feld "id_nr" (ACCESS Autowertfeld LongInteger) auftritt, wenn ich nach z.B. einem Feld rs("zuname") (ein Textfeld) frage, funktionierts.

    Logisch ;-)

    Du versuchst ein Feld (eine Spalte) im Recordset anzusprechen, die Du (im SQL-Statement) nicht definiert hast.
    Das SQL-Statement müsste so aussehen:

    sql="SELECT id_nr, zuname, passwort FROM talk WHERE zuname=" & benutzer &" AND passwort =" & passwort_eingabe
                   ^^^^^

    Da Du 'zuname' als Feld definiert hast, kannst Du es im Recordset auch ansprechen, 'id_nr' jedoch nicht.

    Grüsse
    Tom

    1. hab mir ein paarmal auf den hinterkopf gehaut, hoffe das hilft jetzt.
      Vielen Dank