powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблемы с удалением таблицы
11 сообщений из 11, страница 1 из 1
Проблемы с удалением таблицы
    #32196982
Фотография dannis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В функции ОткрытьНаборДень должна удаляться и вновь создаваться таблица TempTbd:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
ОткрытьНаборДень Пн,  2 
Пн.MoveFirst
MsgBox (Пн!Начало &  ":"  & Пн!Окончание & Пн!Наименование)
' все выводится окей
ОткрытьНаборДень Вт, 3
'здесь сообщение  "Таблица TempTbd уже существует'

Private Sub ОткрытьНаборДень(rs As Recordset, ДеньНедели As Byte)
    'удалить врем. таблицу, если она существует
    On Error Resume Next
    db.TableDefs.Delete " TempTbd "
    On Error GoTo 0 
    Dim TempTbd As TableDef
    Set TempTbd = db.CreateTableDef("TempTbd ")
    With TempTbd
        .Fields.Append .CreateField(" Начало ", dbDate)
        .Fields.Append .CreateField(" Окончание ", dbDate)
        .Fields.Append .CreateField(" Наименование ", dbText)
    End With
    db.TableDefs.Append TempTbd
    'когда ф-ия вызывается вторично, ошибка происходит здесь
    Set rs = TempTbd.OpenRecordset
    With rs
        .AddNew
        !Начало = #6 : 00 : 00  AM#
        !Окончание = # 6 : 45 : 00  AM#
        !Наименование = "Массаж"
        .Update
    End With
    Set TempTbd = Nothing
End Sub


Вопрос: почему "таблица уже существует ?" Я ж ее удалил. И ставил breakpoint - все действительно удаляется ...
Access 2000
...
Рейтинг: 0 / 0
Проблемы с удалением таблицы
    #32196991
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
могут помочь - db.TableDefs.Refresh , DoEvents

З.Ы.
Кстати таблицы тоже можно через DDL создавать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE Employees
(empid int NOT NULL,
 mgrid int NULL,
 empname varchar( 25 ) NOT NULL,
 salary money NOT NULL,
 lvl int NULL,
 hierarchy varchar( 255 ) NULL,
 CONSTRAINT PK_Employees_empid PRIMARY KEY(empid),
 CONSTRAINT FK_Employees_mgrid_empid
   FOREIGN KEY(mgrid)
   REFERENCES Employees(empid))
...
Рейтинг: 0 / 0
Проблемы с удалением таблицы
    #32197002
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
после удаления таблицы сделай db.TableDefs.Refresh
...
Рейтинг: 0 / 0
Проблемы с удалением таблицы
    #32197006
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну всё... вот точно прежде чем отослать надо жать F5 :( Сорри за повтор...
...
Рейтинг: 0 / 0
Проблемы с удалением таблицы
    #32197025
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нуф-нуф, там кнопка есть - предварительный просмотр называется.
...
Рейтинг: 0 / 0
Проблемы с удалением таблицы
    #32197030
Фотография Нуф-нуф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лох, да какой предварительный просмотр при коммутироемом подключении да еще за свои кровные Поэтому и тормоза кстати :(
...
Рейтинг: 0 / 0
Проблемы с удалением таблицы
    #32197032
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня почему-то, новые топики показывается сразу в момент набора ответа? автообновление?

2Нуф-нуф
В следующий раз пиши не "Сорри за повтор..."
а
АпАздАл (с) Лох Позорный
...
Рейтинг: 0 / 0
Проблемы с удалением таблицы
    #32197098
Фотография dannis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>после удаления таблицы сделай db.TableDefs.Refresh

не помогло :-(
...
Рейтинг: 0 / 0
Проблемы с удалением таблицы
    #32197177
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>не помогло :-(

Ты сними Resume next.
Убедись что удаляется,
убедись что создается с тем же именем (так же попробуй с другим именем)
...
Рейтинг: 0 / 0
Проблемы с удалением таблицы
    #32197195
Фотография dannis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Ты сними Resume next.
>Убедись что удаляется,

эт-то я уже пробовал. Если существует, то удаляется и в первом вызове нормально создается.
Мда, странно ...

Щас пока обошел через задний проход: создаю таблицу с именем Temp & static номер, а потом все temp-таблицы удаляю сразу (их получается всего 7, все небольшого размера)
Но это не окей.
...
Рейтинг: 0 / 0
Проблемы с удалением таблицы
    #32197292
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот код работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Private Sub ОткрытьНаборДень()
    'удалить врем. таблицу, если она существует
    On Error Resume Next
    Dim rs As DAO.Recordset
    CurrentDb.TableDefs.Delete "TempTbd"
    On Error GoTo 0
    Dim TempTbd As DAO.TableDef
    Set TempTbd = CurrentDb.CreateTableDef("TempTbd")
    With TempTbd
        .Fields.Append .CreateField("Начало", dbDate)
        .Fields.Append .CreateField("Окончание", dbDate)
        .Fields.Append .CreateField("Наименование", dbText)
    End With
    CurrentDb.TableDefs.Append TempTbd
    'когда ф-ия вызывается вторично, ошибка происходит здесь
    Set rs = CurrentDb.OpenRecordset( "TempTbd" )
    With rs
        .AddNew
        !Начало = # 6 : 00 : 00  AM#
        !Окончание = # 6 : 45 : 00  AM#
        !Наименование =  "Массаж" 
        .Update
    End With
    Set TempTbd = Nothing
End Sub
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблемы с удалением таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]