Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблемы с удалением таблицы / 11 сообщений из 11, страница 1 из 1
02.07.2003, 11:18
    #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
02.07.2003, 11:22
    #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
02.07.2003, 11:26
    #32197002
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением таблицы
после удаления таблицы сделай db.TableDefs.Refresh
...
Рейтинг: 0 / 0
02.07.2003, 11:28
    #32197006
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением таблицы
ну всё... вот точно прежде чем отослать надо жать F5 :( Сорри за повтор...
...
Рейтинг: 0 / 0
02.07.2003, 11:34
    #32197025
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением таблицы
Нуф-нуф, там кнопка есть - предварительный просмотр называется.
...
Рейтинг: 0 / 0
02.07.2003, 11:36
    #32197030
Нуф-нуф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением таблицы
Лох, да какой предварительный просмотр при коммутироемом подключении да еще за свои кровные Поэтому и тормоза кстати :(
...
Рейтинг: 0 / 0
02.07.2003, 11:37
    #32197032
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением таблицы
У меня почему-то, новые топики показывается сразу в момент набора ответа? автообновление?

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

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

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

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

Щас пока обошел через задний проход: создаю таблицу с именем Temp & static номер, а потом все temp-таблицы удаляю сразу (их получается всего 7, все небольшого размера)
Но это не окей.
...
Рейтинг: 0 / 0
02.07.2003, 13:58
    #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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Проблемы с удалением таблицы / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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