powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Update к таблице MSysObjects
10 сообщений из 10, страница 1 из 1
Update к таблице MSysObjects
    #32415234
Nikro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, к Вам два вопроса:
1) не подскажите как можно изменить значение в таблице MSysObjects поле Flags к примеру, обойдя защиту.

2) как можно программно создать таблицу в mdb файле, не используя оболочку аксеса, т.е. через OleDB или ADOX ... чтобы она была скрыта
...
Рейтинг: 0 / 0
Update к таблице MSysObjects
    #32416633
Nikro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... судя по ответам ...
либо ни кто не знает как это сделать, либо это не возможно ... :(
...
Рейтинг: 0 / 0
Update к таблице MSysObjects
    #32416923
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1, на фиг нада
2, создание таблы
в тек. базе.
естли табе нада в другой
то вместо CurrentProject.Connection
исп. другой.

Public Sub CreateOrdersTable()
Dim cat As ADOX.Catalog
Dim tblOrders As ADOX.Table
Dim col1 As ADOX.Column
Dim col2 As ADOX.Column

Set cat = New ADOX.Catalog
cat.ActiveConnection = CurrentProject.Connection

' Delete the table, if it exists.
On Error Resume Next
cat.Tables.Delete "tblOrders1"
On Error GoTo 0

Set tblOrders = New ADOX.Table
tblOrders.Name = "tblOrders1"

Set col1 = New ADOX.Column
col1.Name = "OrderID"
col1.Type = adInteger
Set col2 = New ADOX.Column
col2.Name = "CustomerName"
col2.Type = adVarWChar
col2.DefinedSize = 30

With tblOrders.Columns
.Append col1
.Append col2
End With

With tblOrders.Columns("OrderID")
.ParentCatalog = cat
.Properties("AutoIncrement") = True
End With

With cat.Tables
.Append tblOrders
.Refresh
End With

Application.RefreshDatabaseWindow
Set col1 = Nothing
Set col2 = Nothing
Set cat = Nothing
Set tblOrders = Nothing
End Sub

Public Sub CreateOrdersTable2()
Dim cat As ADOX.Catalog
Dim tblOrders As ADOX.Table

Set tblOrders = New ADOX.Table
Set cat = New ADOX.Catalog
cat.ActiveConnection = CurrentProject.Connection

' Delete the table, if it exists.
On Error Resume Next
cat.Tables.Delete "tblOrders2"
On Error GoTo 0

' The table object is already created, so
' just assign its properties
tblOrders.Name = "tblOrders2"

' Create the columns by appending them
With tblOrders.Columns
.Append "OrderID", adInteger
.Append "CustomerName", adVarWChar, 30
End With

With tblOrders.Columns("OrderID")
.ParentCatalog = cat
.Properties("AutoIncrement") = True
End With

With cat.Tables
.Append tblOrders
.Refresh
End With

Application.RefreshDatabaseWindow
Set cat = Nothing
Set tblOrders = Nothing
End Sub
...
Рейтинг: 0 / 0
Update к таблице MSysObjects
    #32417827
Nikro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Хам трамвайный :
... ты наверно меня не правильно понял,
я говорил о возможности поставить на существующую
табличку Invisible или создать табличку так, что бы она сразу была скрыта ...
... какое свойство за это отвечает в объекте Table и если его нет то какое
надо создать, что бы аксес его правильно понял ... (полазил по пропертям объекта и даже ни какого намека на это)
...
Рейтинг: 0 / 0
Update к таблице MSysObjects
    #32417854
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не нашел. Сенин Виктор, кажется, говорил, как это можно сделать.

Хотя...

Вот, попробовал:

Этот код
Код: plaintext
1.
2.
3.
4.
5.
  Dim t As DAO.TableDef
  Dim p As Property
  For Each t In CurrentDb.TableDefs
    MsgBox t.Name & vbNewLine & t.Attributes
  Next
  CurrentDb.TableDefs( "repid" ).Attributes =  1 

спрятал таблицу repid из окна БД, из окна импорта, но запросы по ней строятся, и в коллекции tabledefs она видна. Этого достаточно?
...
Рейтинг: 0 / 0
Update к таблице MSysObjects
    #32420509
Nikro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Geo :
Что напрягся, спасибо...
А ты часом не подскажешь как это через ADOX реализовать,
просто не хочется DAO использовать ...
...
Рейтинг: 0 / 0
Update к таблице MSysObjects
    #32421512
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА ты часом не подскажешь как это через ADOX реализовать
Не подскажу, т.к. не знаю. А вот почему другие молчат - неужели через ADO(X) нельзя менять свойства таблицы?
...
Рейтинг: 0 / 0
Update к таблице MSysObjects
    #32421548
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
 Dim adoxc As New ADOX.Catalog
 adoxc.ActiveConnection = CurrentProject.Connection
 adoxc.Tables( "TableName" ).Properties( "Jet OLEDB:Table Hidden In Access" ).Value = True
...
Рейтинг: 0 / 0
Update к таблице MSysObjects
    #32422050
Nikro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Geo, IgorM :
спасибо мужики ... (мир в безопасности или наоборот ... пока есть вы :) )

А про [Microsoft.Jet.OLEDB.4.0.] провайдер можете сказать что нить ? :)
... TSQL запросом такое сотворить реально ?
...
Рейтинг: 0 / 0
Update к таблице MSysObjects
    #32422110
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikroА про [Microsoft.Jet.OLEDB.4.0.] провайдер можете сказать что нить ?
А что ты про него хочешь услышать?

Nikro... TSQL запросом такое сотворить реально ?
Странное желание. :) Может быть можно, но только имхо не запросом. Разбирайся: нажимать здесь
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Update к таблице MSysObjects
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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