Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сделать поле индексированным (Access 2003)
 
 автор: Мария   (08.10.2010 в 17:39)   личное сообщение
 
 

Подскажите, пожалуйста, как программно изменить свойство "Индексированное поле" одного из полей таблицы на "Да (Совпадения не допускаются)". Спасибо.

  Ответить  
 
 автор: Гоблин   (09.10.2010 в 08:53)   личное сообщение
 
 

Недопонятка а зачем? А если в нем будут совпадения в то время, когда оно не будет индексированным с допустимыми совпадениями, тогда что будет? Да и зачем менять индексацию поля в принципе?

  Ответить  
 
 автор: Мария   (09.10.2010 в 19:58)   личное сообщение
 
 

Я хочу сделать копию всех данных, хранящихся на SQL сервере в базе данных Access. Необходимость возникла после преобразования моего Access-проекта в связку данные на SQL-сервере + Access приложение. Сервер "виден" только в локальной сети организации, а мне необходимо, чтобы в случае сбоев в работе программы я могла по электронной почте или иным способом получить все данные из базы для отладки уже по системе Access-данные + Access-приложение.
Делаю так: Программно создаю новую базу данных и копирую в нее каждую таблицу. Для копирования таблицы я создаю новую таблицу в базе данных, создаю все поля, которые есть в таблице-источнике, и копирую туда данные. При создании поля я умею указывать только тип и размер данных, а для полноценной работы нужно уметь также сделать некоторые поля ключевыми.
Надеюсь получить конструктивный совет.

  Ответить  
 
 автор: Гоблин   (10.10.2010 в 15:00)   личное сообщение
 
 

Вопрос явно не по окладу. Но зачем все данные по почте или еще как.
1. Там мегабайты могут быть сугубо персональной информации, которую нельзя сливать. Нито нарушение 152ФЗ
2. Зачем создавать таблицу с полями. Не проще ли импортировать таблицы в новую базу. (Сделать связи) и не городить огород.

  Ответить  
 
 автор: Мария   (10.10.2010 в 20:54)   личное сообщение
 
 

Если бы Вы мне рассказали, как их импортировать, я была бы счастлива. Пробовала просто копировать методом CopyObject - создается прилинкованная таблица, а мне нужна локальная с данными.

  Ответить  
 
 автор: Гоблин   (10.10.2010 в 21:02)   личное сообщение
83 Кб.
 
 

=>
ну а там из нужного места выбрать базу, отметить что надо и удачи.

  Ответить  
 
 автор: Мария   (10.10.2010 в 21:07)   личное сообщение
 
 

Спасибо, но мне нужна программная реализация, чтобы поместить на форму кнопку сброса данных. Это точно будет часто используемая операция, и делать ее придется далеко не всегда тем, кого можно научить сложным действиям.

  Ответить  
 
 автор: snipe   (11.10.2010 в 03:38)   личное сообщение
 
 

Откройте редактор макросов
разберитесь в командах
КопироватьОбъект
ПреобразоватьБазуДанных

заполните в макросе нужные данные
сохраните макрос
сервис-макрос-преобразовать макросы
откройте редактор VBA
осталось посмотреть что получилось

  Ответить  
 
 автор: osmor   (11.10.2010 в 08:33)   личное сообщение
 
 

Начну с замечания, парадигма программирования для mdb и SQL server сильно различаются. Так что использовать для отладки сиквельного приложения MDB . IMHO, не самый разумный подход.
Решения работающие на MDB могут быть нерабочими в slq, и наоборот, то что легко решается средствами SQL server на ACCESS требует тысяч строк кода либо вообще не решается.

SQL server умеет экспортировать данные в MDB причем может это делать автомтически (с тарых версиях это называлось DTS, c 2005 SSIS (SQL Server Integration Services))
Кроме того можно создать на sql сервере связанный (linked) сервер "привязав" базу mdbс тажными таблицами нужной структуры, тогда таблицы ACCESS видны из базы сервера и можно будет простыми запросами добавлять в них данные их серверных таблиц.

НО!!!
исходя из замечания, IMHO, самый привильный путь использовать бакап SQL базы. Который можно поднять на любом другом SQL cервере установленном локально (например Express или старые версии MSDE) и уже с этой базой вести отладку. Т.е. и разработка и отладка и собственно работа будут в однородной среде.

По существу вопроса, нужно не только поменять свойство поля но и создать ключ, сделат ьэто можно
- SQL
см. Help по Alter Table, alter column и create Index,
- с помощью ADOX
http://hiprog.com/index.php?option=com_content&task=view&id=251661555
или dao
http://hiprog.com/index.php?option=com_content&task=view&id=327

  Ответить  
 
 автор: Мария   (11.10.2010 в 10:32)   личное сообщение
 
 

Большое спасибо! Разбираюсь.

  Ответить  
 
 автор: osmor   (11.10.2010 в 14:28)   личное сообщение
 
 

cвойство поля но и создать ключ


читать как
"cвойство поля но и создать ИНДЕКС"

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList