Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
Не удаляются таблицы из локальной БД, error 3211 The database engine couldn't lock 'p6' because it's already in use by another person or process базу делал в аксесе, доступ монопольный, таблицы делаются и добавляются програмно, dbDB.TableDefs.Append tbTable, удалить пытаюсь - dbDB.TableDefs.Delete strID связей с другими таблицами нет, в программе есть 3 Data, все к одной базе, подсоединял их в пропертях, пробовал двоих убивать, одно и то же с открытием-закрытием dbDB вроде все правильно, пробовал разные Ws(), проходит только (0), даты используют (1) "другие пользователи или процесы" могут быть только в программе что бы абстрагироваться сделал макет программы - две кнопки "создать" и "удалить", с теми же процедурами и одной Data + таблица + грид, базу снова в аксесе. Результат: все прекрасно создается и удаляется, правда есть глюк: имя таблицы делается как "p" & Cstr(j), а в базе прописывается как pp2, откуда то второе 'p', даже когда "" & Cstr(j) или просто Cstr(j) - все равно p2 ??? ну это мне пополам, а вот с удалением ... Похоже. что "все очень просто" но не догоню, не программист, подскажите плиз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2004, 01:20 |
|
||
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
Код в студию плиз. Поглядим. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2004, 03:21 |
|
||
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
Про Ws() загнул, метод Count просто показал их количество Подскажите где рыть, вот обрезки кода: Для всех Data 1...3 : Connect = "Access" DatabaseName = "D:\...\15402Prob.mdb" DefaultType = 2 'UseODBC Exclusive = -1 'True Options = 0 ReadOnly = 0 'False RecordsetType = 1 'Dynaset Для Data1 - RecordSource = "Oborud" Для Data2 и Data3 - RecordSource = "" При Load формы окрывается dbDB для создания и удаления таблиц в процессе работы: Set dbDB = OpenDatabase(strDBPath, True, False) Создание таблицы, все "по руководствам для начинающих " Public Sub CreatTablePoz(strID As String, dbDB As Database) Dim tbTable As TableDef Dim strName As String Dim F1 As Field, F2 As Field, F3 As Field, F4 As Field Dim Idx1 As Index strName = "p" & strID Set tbTable = dbDB.CreateTableDef(strName) ... и так далее .... tbTable.Indexes.Append Idx1 dbDB.TableDefs.Append tbTable End Sub таблица получается рабочая, dbDB в программе нигде не закрывается вот место где возникает ошибка в процедуре удаления таблицы ... перепись столбца из удаляемой таблицы в отстойник - таблицу DelPoz strID = "p" & strID Data2.RecordSource = "SELECT Handl FROM " & strID & ";" Data2.Refresh If Data2.Recordset.EOF = False Then Data3.RecordSource = "SELECT * FROM DelPoz;" Data3.Refresh Do While Data2.Recordset.EOF = False Data3.Recordset.AddNew Data3.Recordset("Handl") = Data2.Recordset("Handl") Data3.Recordset.Update Data2.Recordset.MoveNext Loop End If 'предыдущий код нормально работает, а дальше последняя версия мыслей Data1.Recordset.Close Data2.Recordset.Close 'Data3.Recordset.Close если эту строку разремить, то на ней возникает ошибка '91', может здесь собака порылась? dbDB.TableDefs.Delete strID ' наэтой строке все и заканчивается - '3211' strID="p6" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2004, 15:03 |
|
||
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
Пока не разобрался в чем проблема. Копироние записей лучше делать так. Код: plaintext 1. 2. 3. 4. 5. 6. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2004, 18:45 |
|
||
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
Магнус, не путай человека. Он работает через DAO , а не ADO. И вообще , этот вопрос лучше задать в форуме по Access ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2004, 21:51 |
|
||
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
DAO выбрал с начала т.к. мне он показался менее трудоемким (VB юзаю 3 недели), да и + DBGrid + база локальная. Сейчас сунулся в ADO, там для меня сложновато. Проблему решу и так, просто не буду удалять базы, пусть висят, но вот скажите можно ли вышеуказанный метод Execute или SQL запрос типа "Inseret into SELECT FROM ;" как то применить с DAO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2004, 22:34 |
|
||
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
2 (c)VIG При всем ужажении :), человек еще ничего не юзает, он и сам запутается , без нас. Я как раз пытаюсь на верный(ИМХО) путь направить. Модель АДО гораздо проще ДАО. И работать с ним проще. И лучше. И быстрее. И вообще. :) А проблема как раз очень смахивает на незабитые обьекты. Тут вообще всю модель менять надо. ИМХО если человек только начинает то стоит это делать с АДО а не ДАО. Кстати, тексты ошибок можно озвучить? 91 - догадываюсь, а вторую не помню. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2004, 04:45 |
|
||
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
2 Magnus23 Код был с использованием DAO ,а ты без всяких предисловий -сразу cn.Execute :) То что ADO лучше ,тут спору нет .Я сам уже лет 5 как DAO не использую , многих нюансов уже не помню ,поэтому и посоветовал обратиться в форум по Access ЗЫ А что это за новая команда "INSERET " ? Что-то я такой не помню :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2004, 10:08 |
|
||
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
у меня, когда баловался акцесс, такая ошибка выскакивала, если не было прав на создание *.ldb файла на расшаренном ресурсе, где лежала сама база. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2004, 10:56 |
|
||
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
Господа, спасибо за внимание, я сам уже понял, что БД надо было делать програмно для полного контроля и непеняния на аксес и использовать ADO как более универсальное. Просто я все делаю как инженер, т.е. сначала быстренько долепливаю макет проекта до конца, хоть с г.., и абы как, потом гляжу что получилось и уже с чувством с толком с расстановкой переделываю. Тему закрываю, т.к. проблемы уже нет - перелепил с того что есть. Когда буду переделывать буду спрашивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2004, 12:03 |
|
||
|
Не удаляются таблицы из локальной БД
|
|||
|---|---|---|---|
|
#18+
(c)VIG ЗЫ А что это за новая команда "INSERET " ? Что-то я такой не помню :) Это новая модификация, Insert для блекушников слушающих Nazareth :) Я это, хотел как лучше :). 5 лет назад и слова-то такого "ADO" не знал :) Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 03:04 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32511329&tid=2169607]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
91ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 417ms |

| 0 / 0 |
