Данные в форму никак не хотят поступать... а в чем ошибка не пойму
в соединении с базой... или еще где-нибудь напутала....
Она запускается, но выдает ошибку на странице при любых действиях
помогите плиз разобраться в чем ошибка!!!!
Заранее спасибо
<HTML>
<HEAD>
<TITLE> Форма ввода факультетов </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<LINK REL="STYLESHEET" TYPE="text/css" HREF="TabStyle.css">
<SCRIPT language="VBScript">
Public rs0, dd(40)
Const adOpenDynamic=2
Const adLockPessimistic=2
Const adCmdText=1
FlEnd=0
FlBeg=0
Hd=array("Код :","Название:","Кор.назв.:","Усл .назван.:","Дата :")
N=4
'---- открыть базу данных -----
FileName="Teachers.mdb"
tt=document.location.pathname
'msgbox tt
v=instrRev(tt,"\")
'msgbox v
PathName=mid(left(tt,v),2)
'msgbox "-->" & PathName
FullNameFile=PathName & FileName
'msgbox "-->" & FullNameFile
'----------- открытие базы данны ------
Set obj = CreateObject("ADODB.Connection")
strOpen = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FullNameFile & ";Persist Security Info=False"
obj.Open strOpen
'------------
NameTab="Faculty"
NameKodZap="KodZap"
'-----------------------------------------------
call Open_List(NameTab,"KodZap")
'================================================= ====================
sub Open_List(NameTab,NameKodZap )
'----------------------------------
StrSQL = "SELECT " & NameKodZap & " FROM " & NameTab & ";"
'msgbox "--->" & strSQL
Set rs0 = CreateObject("ADODB.Recordset")
rs0.Open StrSQL, obj, adOpenDynamic, adLockPessimistic, adCmdTex
' msgbox rs0.EOF
End sub
'---------------------------------------------ПОДГОТОВКА СПИСКА-------
Sub ListOption(StrSQL)
'------------открытие записи --------
Set rs = CreateObject("ADODB.Recordset")
rs.Open StrSQL, obj, adOpenDynamic, adLockPessimistic, adCmdText
'---------------
Do Until rs.EOF
rr0=rs.Fields(0).value
rr1=rs.Fields(1).value
document.write "<OPTION value='" & rr0 & "'>" & rr1 & "</OPTION>"
rs.MoveNext
Loop
'-----
rs.Close
Set rs = Nothing
'Set obj = Nothing
End Sub
'-------------------------------------------- ОЧИСТКА ФОРМЫ ------------------
Sub ClearForm()
With document.frm
.T0.value=Empty
.T1.value=Empty
.T2.value=Empty
.T3.value=Empty
.T5.value=Empty
End With
End Sub
'-------------------------------------------- ЧТЕНИЕ ИЗ ФОРМЫ ------------------
Sub ReadForm()
With document.frm
dd(0)= .T0.value
dd(1)= .T1.value
dd(2)= .T2.value
dd(3)= .T3.value
dd(4)= .T5.value
End With
End Sub
'-------------------------------------------- ЗАПИСЬ В ФОРМУ ------------------
Sub WriteForm()
With document.frm
.T0.value=dd(0)
.T1.value=dd(1)
.T2.value=dd(2)
.T3.value=dd(3)
.T5.value=dd(4)
End With
End Sub
'-------------------------------------------- ТЕСТ для ФОРМЫ ------------------
Sub TestForm()
With document.frm
.T0.value="000005"
.T1.value="Социологии"
.T2.value="Соц."
.T3.value="Соц."
.T5.value="10.02.2004"
End With
End Sub
'-----------------------------------------------------------------------------
Sub Searche()
'MsgBox "НАЙТИ"
End Sub
'-----------------------------------------------------------------------------
Sub Test()
'MsgBox "ТЕСТ"
'--------------------------------- ТЕСТОВОЕ ЗАПОЛНЕНИЕ ФОРМЫ ----------
call TestForm()
End Sub
'-----------------------------------------------------------------------------
Sub WriteZap()
'MsgBox "ЗАПИСЬ"
'-------------------------------------------------ЗАПИСЬ НОВОГО -----------
Dim dd1(20)
'-----------------------
call ReadForm()
'---------------------
if len(dd(0))>6 then
msgbox "Длинна кода больше 6-х"
exit sub
end if
if dd(0)="" then
msgbox "Введите код записи"
exit sub
end if
'---------------------------------
tt=""
for i=0 to N
tt=tt & Hd(i) & dd(i) & chr(10)
next
rep=msgbox( tt, 308, "Проверка ввода")
if rep=vbNo then exit sub
'------ проверка кода записи ----
'------------открытие записи --------
Set rs = CreateObject("ADODB.Recordset")
StrSQL = "SELECT * FROM " & NameTab & " WHERE " & NameKOdZap & "='" & dd(0) & "';"
'msgbox StrSQL
rs.Open StrSQL, obj, adOpenDynamic, adLockPessimistic, adCmdText
'---------------
if rs.EOF=False then
' ---- чтение записи перед -----
for i=0 to N
dd1(i)=rs.Fields(i).value
next
tt=""
for i=0 to N
tt=tt & Hd(i) & dd(i) & chr(10)
next
tt=tt & "Уже есть в базе" & chr(10)
tt=tt & "ЗАМЕНИТЬ (ДА/НЕТ)"
rep=msgbox (tt,308,"ЗАПИСЬ УЖЕ ЕСТЬ")
if rep=vbno then exit sub
'------ замена записи-----------------------------
rs.MoveFirst
for i=1 to N
' msgbox "i=" & i & " - " & dd(i)
rs.fields(i).value=dd(i)
next
rs.update
msgbox "Редактирование записи #" & dd(0) & chr(10 )& " успешно закончено"
exit sub
else
'--- Запись нового преподаватедя в базу -------
rs.close
msgbox "Запись новой группы с кодом #" & dd(0)
StrSQL = "SELECT * FROM " & NameTab & ";"
'msgbox StrSQL
rs.Open StrSQL, obj, adOpenDynamic, adLockPessimistic, adCmdText
'--- добовление новой записи -----
rs.AddNew
rs.fields(0).value=KodZap
for i=0 to N
'msgbox "i=" & i & " - " & dd(i)
rs.fields(i).value=dd(i)
next
rs.Update
end if
msgbox "Сохранение новой записи #" & dd(0) & chr(10) & " успешно закончено"
rs.close
rs0.close
'--------------------
call Open_List(NameTab,"KodZap")
'---------------------
End Sub
'-----------------------------------------------------------------------------
Sub DelZap()
'MsgBox "УДАЛИТЬ"
'-----------------------------------------УДАЛЕНИЕ ЗАПИСИ --------
KodZap=document.frm.T0.value
if len(KodZap)>6 then
msgbox "Длинна кода больше 6-х"
exit sub
end if
pp1=document.frm.T1.value
tt="Вы действительно хотите удалить запись :" & chr(10) & "Код =" & KodZap
rep=msgbox(tt,308,"Внимание !!!")
if rep=7 then
exit sub
end if
' msgbox rep
'------ проверка кода преподавателя ----
'------------открытие записи --------
Set rs = CreateObject("ADODB.Recordset")
StrSQL = "SELECT * FROM " & NameTab & " WHERE KodZap='" & KodZap & "';"
'msgbox StrSql
rs.Open StrSQL, obj, adOpenDynamic, adLockPessimistic, adCmdText
'---------------
if rs.EOF=True then
msgbox "Записи с кодом=" & KodZap & " нет в списке"
exit sub
end if
rs.close
strSql="DELETE KodZap, * FROM " & NameTab & " WHERE (((" & NameTab & ".KodZap)='" & KodZap & "'));"
'msgbox StrSql
rs.Open StrSql
msgbox "Запись с кодом # " & KodZap & " удалена "
rs0.close
'--------------------
call Open_List(NameTab,"KodZap")
End Sub
'-----------------------------------------------------------------------------
Sub ClearZap()
'MsgBox "ОЧИСТИТЬ"
Call ClearForm()
End Sub
'-----------------------------------------------------------------------------
Sub ReportFull()
'MsgBox "ОТЧЕТ"
'----------------------------------------ПОЛНЫЙ ОТЧЕТ ---------------
tt0="отчет на " & date()
'--- просмотр списка -----
'------------открытие записи --------
Set rs = CreateObject("ADODB.Recordset")
StrSQL="SELECT * FROM " & NameTab
KodZap=document.frm.T0.value
if KodZap<>"" then
StrSQL=StrSQL & " WHERE " & NameTab & ".KodZap='" & KodZap & "'"
end if
'msgbox StrSQL
rs.Open StrSQL, obj, adOpenDynamic, adLockPessimistic, adCmdText
'---------------
'msgbox rs.EOF
if rs.EOF=True Then
Msgbox "Список групп пуст"
exit sub
End If
tt= "<h3><center></hr>" & tt0 & " </h3></center><hr>"
tt=tt & "<TABLE border='1'>"
tt=tt & "<tr>"
'--- заголовок таблицы ----
For Each el In Hd
tt=tt & "<td>" & el & "</td>"
next
tt=tt & "</tr>"
'----- тело таблицы _----
rs.MoveFirst
do Until rs.EOF
tt=tt &"<tr>"
For Each el In rs.Fields
rr=el.value
tt=tt & "<td>" & rr & "</td>"
next
tt=tt & "</tr>"
rs.MoveNext
loop
document.writeln tt & "</TABLE>"
'---------------
rs.close
'------------------------
call menu()
End Sub
'-----------------------------------------ПРОКРУТКА ---------------------------------
Sub ReadNext()
FlBeg=0
'msgbox "next " & rs0.EOF
if rs0.EOF=True or FlEnd=1 then
rs0.MoveFirst
FlEnd=0
else
rs0.MoveNext
end if
KodZap=rs0.fields(0).value
'msgbox KodZap
call ReadZap(KodZap)
End sub
Sub ReadPrev()
'msgbox "Prev"
FlEnd=0
if rs0.BOF=True or FlBeg=1 then
rs0.MoveLast
FlBeg=0
else
rs0.MovePrevious
end if
KodZap=rs0.fields(0).value
'msgbox KodZap
call ReadZap(KodZap)
End sub
Sub ReadBeg()
FlEnd=0
FlBeg=1
rs0.MoveFirst
KodZap=rs0.fields(0).value
'msgbox KodZap
call ReadZap(KodZap)
End sub
Sub ReadEnd()
rs0.MoveLast
KodZap=rs0.fields(0).value
FlEnd=1
'msgbox KodZap
call ReadZap(KodZap)
End sub
'-----------------------------------------
sub ReadZap(KodZap)
'msgbox KodZap
'------------открытие записи --------
Set rs = CreateObject("ADODB.Recordset")
StrSql="SELECT * FROM " & NameTab & " Where " & NameKodZap & " ='" & KodZap & "'"
'msgbox StrSQL
rs.Open StrSQL, obj, adOpenDynamic, adLockPessimistic, adCmdText
'--------------------
For k=0 to N
dd(k)=rs.Fields(k).value
next
call WriteForm()
end sub
'================================================= ========================
'---------------------- функция даты ---------------------
Sub DateT()
Document.frm.T5.value=Date()
End Sub
'----------------------------------------- ФУНКЦИЯ МЕНЮ _----------------------
Sub menu()
tt = "<h6><hr>"
tt=tt & "|<a href='MainMenu.html'>Главная страница<a>"
tt=tt & "|<a href='NewTeachers.html'>Ввод преподавателя<a>"
tt=tt & "|<a href='NewSubjects.html'>Ввод программы<a>"
tt=tt & "|<a href='NewNormativ.html'>Ввод норматива<a>"
tt=tt & "|<a href='RegAudNagr.html'>Регистрация нагрузки<a>"
tt=tt & "|<a href='Reports.html'>Отчеты<a>"
tt = tt & "| <hr></h6>"
document.writeln tt
End Sub
</SCRIPT>
<BODY ><FORM name=frm>
<h3><center>ВВОД ДАНЫХ ПО ФАКУЛЬТЕТУ</center></h3><hr>
<TABLE border=1>
<TR>
<TD>Код записи</TD><TD><INPUT name=T0 type=text size=10>
<INPUT type=button Name=b12 value='|<' OnClick='ReadBeg()'>
<INPUT type=button Name=b13 value='<' OnClick='ReadPrev()'>
<INPUT type=button Name=b11 value='>' OnClick='ReadNext()'>
<INPUT type=button Name=b14 value='>|' OnClick='ReadEnd()'>
</TD>
</TR>
<TR>
<TD>Название факультета полное</TD><TD><INPUT name=T1 type=text size=60>
</TD>
</TR>
<TR>
<TD>Короткое название факультета</TD><TD><INPUT name=T2 type=text size=30>
</TD>
</TR>
<TR>
<TD>Условное сокращение факультета</TD><TD><INPUT name=T3 type=text size=10>
</TD>
</TR>
<TR>
<TD>Дата создания записи</TD><TD><INPUT name=T5 type=text size=10>
<INPUT type=button Name=b15 value='Дата' OnClick='DateT()'>
</TD>
</TR>
<TR>
</TABLE><hr>
<INPUT type=button name=b0 value=НАЙТИ OnClick="Searche()">
<INPUT type=button name=b1 value=ТЕСТ OnClick="Test()">
<INPUT type=button name=b2 value=ЗАПИСЬ OnClick="WriteZap()">
<INPUT type=button name=b3 value=УДАЛИТЬ OnClick="DelZap()">
<INPUT type=button name=b4 value=ОЧИСТИТЬ OnClick="ClearZap()">
<INPUT type=button name=b5 value=ОТЧЕТ OnClick="ReportFull()">
<SCRIPT language='VBScript'> call Menu() </SCRIPT>
</FORM></BODY></HTML>