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

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

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

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

DoCmd.TransferDatabase acImport... 'импорт таблицы в текущую db из db-источника
DoCmd.TransferDatabase acExport... ''экспорт таблицы из текущей db в третью db
...
Рейтинг: 0 / 0
27.02.2007, 12:20
    #34357168
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно скопировать таблицу?
Karfaqen barrabasтолько без INTOЭто как. Речь о копировании данных. Обязательно INTO.
да блин, не так выразился, имел ввиду чтобы он не сделал
Код: plaintext
SELECT * INTO [c:\base1.mdb].[Table1] FROM [c:\base0.mdb].[Table0]
после копирования таблицы , вобщем пардоны приношу.
...
Рейтинг: 0 / 0
27.02.2007, 13:12
    #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
Период между сообщениями больше года.
27.01.2020, 12:37
    #39919035
vremennyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как программно скопировать таблицу?
Karfaqen
Просто данные качнуть можно так:
Код: vbnet
1.
SELECT * INTO [c:\base1.mdb].[Table1] FROM [c:\base0.mdb].[Table0]




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

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


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