powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как программно скопировать таблицу?
12 сообщений из 12, страница 1 из 1
Как программно скопировать таблицу?
    #34356948
Girl from Russia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли программно скопировать таблицу из одного файла базы данных в другой, находясь при этом в третьей базе данных? Или это что-то из области фантастики?

DoCmd.TransferDatabase acExport..., DoCmd.TransferDatabase acImport... - знаю как использовать для импорта/экспорта в текущую базу данных, т.е. из которой строчка кода выполняется.
...
Рейтинг: 0 / 0
Как программно скопировать таблицу?
    #34357026
Karfaqen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто данные качнуть можно так:
Код: plaintext
1.
SELECT * INTO [c:\base1.mdb].[Table1] FROM [c:\base0.mdb].[Table0]

Если надо структуру (в т.ч. индексы) строго соблюсти, то можно сначала скопировать TableDef, а потом аналогично запросом INSERT...
...
Рейтинг: 0 / 0
Как программно скопировать таблицу?
    #34357071
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KarfaqenПросто данные качнуть можно так:
Код: plaintext
1.
SELECT * INTO [c:\base1.mdb].[Table1] FROM [c:\base0.mdb].[Table0]

Если надо структуру (в т.ч. индексы) строго соблюсти, то можно сначала скопировать TableDef, а потом аналогично запросом INSERT...
только без INTO
...
Рейтинг: 0 / 0
Как программно скопировать таблицу?
    #34357146
Karfaqen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barrabasтолько без INTOЭто как. Речь о копировании данных. Обязательно INTO.
...
Рейтинг: 0 / 0
Как программно скопировать таблицу?
    #34357151
Girl from Russia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы, я сделала так:

DoCmd.TransferDatabase acImport... 'импорт таблицы в текущую db из db-источника
DoCmd.TransferDatabase acExport... ''экспорт таблицы из текущей db в третью db
...
Рейтинг: 0 / 0
Как программно скопировать таблицу?
    #34357168
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karfaqen barrabasтолько без INTOЭто как. Речь о копировании данных. Обязательно INTO.
да блин, не так выразился, имел ввиду чтобы он не сделал
Код: plaintext
SELECT * INTO [c:\base1.mdb].[Table1] FROM [c:\base0.mdb].[Table0]
после копирования таблицы , вобщем пардоны приношу.
...
Рейтинг: 0 / 0
Как программно скопировать таблицу?
    #34357402
sdfgsdfgsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот кусок из хелпа, в другой базе данных создает пустую таблицу, может пригодится, можно доработать под себя, а данные скопировать с помощью SELECT into

Код: 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.
32.
33.
34.
Dim dbsNorthwind As Database
	Dim tdfNew As TableDef
	Dim prpLoop As Property

	Set dbsNorthwind = OpenDatabase("Борей.mdb")

	' Создает новый объект TableDef.
	Set tdfNew = dbsNorthwind.CreateTableDef("Контакты")

	With tdfNew
		' Создает поля и добавляет их в новый объект TableDef.
		' Это необходимо сделать до добавления объекта TableDef
		' в семейство TableDefs базы данных "Борей".
		.Fields.Append .CreateField("Имя", dbText)

.Fields.Append .CreateField("Фамилия", dbText)
		.Fields.Append .CreateField("Телефон", dbText)
		.Fields.Append .CreateField("Примечания", dbMemo)

		Debug.Print "Свойства нового объекта TableDef " & _
			"до добавления в семейство:"

		' Отображает семейство Properties нового объекта TableDef.
		For Each prpLoop In .Properties
			On Error Resume Next
			If prpLoop <> "" Then Debug.Print "    " & _
			    prpLoop.Name & " = " & prpLoop

On Error GoTo  0 
		Next prpLoop

		' Добавляет новый объект TableDef в базу данных "Борей".
		dbsNorthwind.TableDefs.Append tdfNew

...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как программно скопировать таблицу?
    #39919035
vremennyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Karfaqen
Просто данные качнуть можно так:
Код: vbnet
1.
SELECT * INTO [c:\base1.mdb].[Table1] FROM [c:\base0.mdb].[Table0]




Добрый день!
Если источник c:\base0.mdb под паролем, то получаем сообщение "Ошибочный пароль". Как нужно изменить запрос, чтобы все таки качнуть данные?
...
Рейтинг: 0 / 0
Как программно скопировать таблицу?
    #39919042
vremennyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, разобрался.

Код: vbnet
1.
SELECT * INTO [c:\base1.mdb].[Table1] FROM [c:\base0.mdb;PWD=123].[Table0]
...
Рейтинг: 0 / 0
Как программно скопировать таблицу?
    #39919045
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
...
Рейтинг: 0 / 0
Как программно скопировать таблицу?
    #39919078
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чё отредактировал?
Интересно,однако.
...
Рейтинг: 0 / 0
Как программно скопировать таблицу?
    #39919182
ИВП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
Наверное, просто раздумал писать. Сообщение удалить нельзя, а почистить можно )))))
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как программно скопировать таблицу?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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