LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Access не может...
 Access не может определить CurrentProject
 
 16.09.2008 15:37:53
aulo
5 сообщения


Access не может определить CurrentProject

Добрый день!

Прощу прощения за ещё один вопрос, но тут происходит что-то для меня совсем непонятное.

Пишу код для вставки данных в таблицу, служащую источником комбобокса.

Private Sub Список_NotInList(NewData As String, Response As Integer)
    Dim cnn As New ADODB.Connection
    Dim bytOtvet As Byte

    Dim strSQL As String
    Set cnn = CurrentProject.Connection
   
    bytOtvet = MsgBox("Ввести новые данные?", vbYesNo + vbExclamation)

    If bytOtvet = vbYes Then
        strSQL = "INSERT INTO Таблица.[Код ТТ] VALUES ('" & _
        NewData & "')"
        Debug.Print strSQL
        cnn.Execute strSQL
        Response = acDataErrAdded
    ElseIf byrResponse = vbNo Then
        Response = acDataErrContinue
        Me![Код ТТ].Undo
    End If

End Sub

Пишет ошибку, что файл "...My Documents/Таблица.mdb" не найден. Т. е. Jet или что там, работающее с SQL, видит в названии таблицы имя файла, причём прописывание строки подключения ни отдельной строкой, ни в выражении SQL дела не меняют (!!!!!!!!!). Ситуация повторяется уже во второй форме (причём в разных базах). Может, не подключена какая-то библиотека? Но какая?

Ответов нигде найти не могу, извините, если повторяюсь.

 16.09.2008 20:48:46
Admin1
731 сообщения
1-ый


Re: Access не может определить CurrentProject

1. Вообще CurrentProject.Connection без проверки не используют (по крайней мере это верно для adp проектов). Выход такой, надо проверить наличие данных в этой переменной, если там нет ничего, то создать новое соединение (открыть его). Можно сделать этот объект глобальным, т.е. при открытии формы открыть, а при закрытии закрыть


2. Анализ кода.
    Dim cnn As New ADODB.Connection
    Set cnn = CurrentProject.Connection

    New выделяет дополнительное место в памяти для класса, а нам нужна ссылка, память уже выделена в CurrentProject.Connection. Все не так просто, лучше создать новое соединение см. пункт 1
   

  Программирование  Microsoft Access. Файлы mdb и accdb  Access не может...
ПоискПоиск  Список форумовСписок форумов  
right