Мне нужно создать поле выбора с данными запроса из моей базы данных, используя технику запроса, которую я успешно делал много раз. Однако сегодня, когда я создал новое поле выбора, страница продолжает сообщать мне об ошибке «Ошибка ADODB.Fields« 800a0cc1 »Элемент не может быть найден в коллекции....».
Сначала я подумал, что это мой SQL-запрос вызвал эту ошибку, однако я проверил это на ACCES, он может выдать результат, как я и ожидал. Так что теперь я застрял... я не знаю, что случилось с моим кодированием.
Поэтому, пожалуйста, помогите мне в этом.. спасибо. ниже мой код
user_id = 1
client_id = 7
response.Write "user_id = " & user_id
Dim rsClient
set rsClient = Server.CreateObject("ADODB.Recordset")
rsClient.ActiveConnection = Conn_string
rsClient.Source ="SELECT tbl_asgnClient.*, tbl_client.* FROM tbl_asgnClient INNER JOIN tbl_client ON tbl_asgnClient.client_id = tbl_client.client_id WHERE tbl_asgnClient.user_id =" & user_id & ""
rsClient.CursorType = 0
rsClient.CursorLocation = 3
rsClient.LockType = 3
rsClient.Open()
rsClient.PageSize = 20
%>
<html>
<body>
<select name = "client_id" onChange="showActivity(this.value)">
<option selected>select client</option>
<%
if rsClient.eof then
call displayNotFoundRecord
Else
Do Until rsClient.Eof
%>
<option value="<%=rsClient.fields.item("client_id")%>"><%=rsClient.fields.item("client_id")%></option>
<%
rsClient.movenext
Loop
End if
%>
</select>
Я могу гарантировать, что нет ничего, кроме SQL, который может вызвать эту ошибку... потому что я пытался изменить его SQL с помощью запросов ниже, и он работает нормально.
rsClient.Source ="SELECT tbl_asgnClient.* FROM tbl_asgnClient WHERE tbl_asgnClient.user_id =" & user_id & " "
или это...
rsClient.Source ="SELECT tbl_client.* FROM tbl_client "
Я также уверен, что тот, который я сейчас использую, сможет выводить данные в MS ACCESS. Пожалуйста, помогите мне..