Ошибка после создания базы данных из

Ошибка после создания базы данных из

Сообщение Мари » Сб янв 18, 2014 3:59 pm

Здравствуйте!
После создания базы данных (с воспроизведением в ней всех настроек и произвольных свойств прошлой) в меню "реальный учет-анализ", при использовании произвольных свойств, созданных в прошлой базе, выводит ошибку OpenRecordset (Ядро базы данных Microsoft Jet не может найти входную таблицу или запрос 'Param_persons_12'. Проверьте существование таблицы или запроса и правильность имени. Далее текст запроса. И выбивает еще одну ошибку метода LoadGrid (object reference not set to an instance of an object). Ошибка выявлена не сразу, и в новой базе уже созданы документы. Как исправить, следует ли заново создавать произвольные свойства?
Мари
 
Сообщения: 2
Зарегистрирован: Ср сен 04, 2013 8:14 pm

Re: Ошибка после создания базы данных из

Сообщение dmitry » Сб янв 18, 2014 7:04 pm

Исправить так:
- Скопировать текст ниже.
- Нажать в программе Ctrl+F10,
- вставить скопированный текст, нажать "ОК".

Dim R As Predpr.TableSQL, i As Integer, TbStr As String, TbFromStr As String, QueryName As String, ParID As Integer
Dim TypeID As Integer, SQLstr As String, Q As DAO.QueryDef
For i = 1 To 4
Select Case i
Case 1
TbStr = "ArticleParamNames"
TbFromStr = "ArticleParams"
QueryName = "Param_articles_"
Case 2
TbStr = "DocumentParamNames"
TbFromStr = "DocumentParams"
QueryName = "Param_documents_"
Case 3
TbStr = "PersonParamNames"
TbFromStr = "PersonParams"
QueryName = "Param_persons_"
Case 4
TbStr = "RowParamNames"
TbFromStr = "RowParams"
QueryName = "Param_rows_"
End Select
R = DB.OpenRecordset("SELECT " & TbStr & ".*" & " FROM " & TbStr & " WHERE Flag=0")
Do While Not R.EOF
ParID = R("ID")
TypeID = R("TypeID")
Select Case TypeID
Case 7
SQLstr = "SELECT ItemID, Articles.TextName AS Val FROM " & TbFromStr & " LEFT JOIN Articles ON " & TbFromStr & ".Val_7 = Articles.ID WHERE ParamID=" & ParID
Case 8
SQLstr = "SELECT ItemID, Persons.TextName AS Val FROM " & TbFromStr & " LEFT JOIN Persons ON " & TbFromStr & ".Val_8 = Persons.ID WHERE ParamID=" & ParID
Case Else
SQLstr = "SELECT ItemID, Val_" & TypeID & " AS Val FROM " & TbFromStr & " WHERE ParamID=" & ParID
End Select
Try
If Predpr.UseSQL = False Then
Q = DB.CreateQueryDef(QueryName & ParID)
Q.SQL = SQLstr
Else
DB.Execute("CREATE VIEW " & QueryName & ParID & " AS " & SQLstr)
End If
Catch ex As System.Exception
End Try
R.MoveNext()
Loop
R.Close()
Next
dmitry
Разработчик
 
Сообщения: 3922
Зарегистрирован: Чт янв 27, 2011 3:43 pm

Re: Ошибка после создания базы данных из

Сообщение Мари » Вс янв 19, 2014 11:12 am

спасибо большое)
Мари
 
Сообщения: 2
Зарегистрирован: Ср сен 04, 2013 8:14 pm


Вернуться в Использование программы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron