Показано с 1 по 2 из 2

Тема: VBScript помогите найти ошибку пжалста!

  1. #1
    Группа удаления Аватар для Milana
    Регистрация
    05.02.2004
    Адрес
    Moscow
    Сообщений
    96
    Спасибо
    я - 1; мне - 0

    Вопрос VBScript помогите найти ошибку пжалста!

    Данные в форму никак не хотят поступать... а в чем ошибка не пойму
    в соединении с базой... или еще где-нибудь напутала....
    Она запускается, но выдает ошибку на странице при любых действиях
    помогите плиз разобраться в чем ошибка!!!!
    Заранее спасибо

    <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>
    Выход из безвыходного положения там же, где и вход...

  2. #2
    Старожил Аватар для Шогал
    Регистрация
    05.10.2002
    Адрес
    Калининград
    Сообщений
    761
    Спасибо
    я - 0; мне - 1
    Никто никогда не скажет тебе где ошибка. Потому что:
    1) сообщи точный текст ошибки
    2) в какой строке визникает
    Желательно покажи и саму базу.

    P.S> Нескоромный вопрос: какой глубокий смысл в том, чтобы хранить БД на клиенте?
    Смерть - это наше спасение

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •