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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Большой объём данных в Access 2003
 
 автор: reggga   (02.04.2011 в 19:18)   личное сообщение
 
 

Здравствуйте! У меня проблема. В БД Access я создала две таблицы. 1-ая небольшая (Название_парам., Описание, Признак).
А 2-ая (Название_парам., Время, Значение) очень большая (больше 5 млн записей).
Во-первых, не удаётся поменять тип данных во 2-й таблице. "Не хватает места на диске или в памяти." Может, разбить её на несколько таблиц? Можно так сделать не вручную?
Во-вторых, чтобы связать таблицы, нужно, чтобы у них были ключевые поля. Я так понимаю, у меня это должны быть поля Название_парам. Но во 2-й таблице значения данного поля повторяются. Что же мне делать????

  Ответить  
 
 автор: ser60   (02.04.2011 в 19:37)   личное сообщение
 
 

а если поменять тип в маленькой таблице (как временное решение лучше чем в ручную 5 млн записей лопатить)

  Ответить  
 
 автор: Гоблин   (02.04.2011 в 20:18)   личное сообщение
 
 

1. Сделай в первой ключевым "Название параметра", если оно не повторяется там, и свяжи его с "Название параметра" во второй таблице. Одно но. Если во второй есть такое название, которого нет в первой, ничего не получится.
2. чтобы связать таблицы, нужно, чтобы у них были ключевые поля.
Не обязательно. Сделай в первой табле поле Название параметра индексированным, без разрешения повторений.
3. Лучше бы счетчик был в первой табле (КодПараметра), а во второй числовое поле. Их бы и связала. Места меньше занимает.
Попробуй на копии базы в первой табле вставить поле счетчик (ключ), запусти таблу. Должен заполниться.
Во второй вставь числовое поле
Создай запрос на обновление, где в числовое поле вставь значения счетчика соответствующие тому, что в названии_параметра. т.е. в первой табле параметр "Цвет" счетчик =1. Значит во второй везде где параметр цвет, в числовом должна быть 1. Параметр "Ширина" счетчик =2, значит во второй везде где ширина в числовое вставить 2 и т.д. Запрос на обновление все сделает.

PS Не факт что я прав
более 5 млн!!! И такое бывает

  Ответить  
 
 автор: reggga   (04.04.2011 в 20:10)   личное сообщение
 
 

А почему

Если во второй есть такое название, которого нет в первой, ничего не получится.

?

  Ответить  
 
 автор: Гоблин   (04.04.2011 в 20:42)   личное сообщение
 
 

Я имею в виду связь один-много. Уж коли индексированное поле делать, стало быть для этого. Если во второй табле есть то, чего нет в первой с индексированным полем, то связи не получится. Будет отбивать, что нет целостности данных.
Создай запрос без подчиненных записей.
А вообще с 5 млн записями трудно будет.

  Ответить  
 
 автор: snipe   (05.04.2011 в 06:18)   личное сообщение
 
 

Пришлите вашу базку
с данными (левыми в обоих таблицах - записей по десять)
перед отправкой пример нужно будет сжать и востановить (это сервис- служебные программы)
и соответственно заархивировать

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