|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
Как прочитать поля в таблице, я разобрался: Код: vbnet 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. 35. 36. 37. 38. 39. 40.
Не разобрался только вот с чем: 1. В каком месте прилепить строку Код: vbnet 1.
Чтобы создалось поле "Question" 2. Как прочитать тип или свойство поля, не знаю как выразится, которое бы указало, что это ключевое поле и что это счетчик P.S. Задача стоит такая: Сравнить две базы данных: 1.mdb и 2.mdb - если в базе 2 нет каких то таблиц, которые есть в базе 1 - то создать их. Если таблица существует - то проверить, все ли поля есть, как в файле 1. Если нет - то создать их. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2012, 03:06 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
Вы пишете на VBA прямо в Access? Почему бы тогда не использовать средства самого Акцесса, без ADO? Еще как вариант решения: - создать копию 1.mdb - вычистить все таблицы - импортировать данные в таблицы из 2.mdb (отсутствие полей в совпадающих таблицах 2.mdb обработается спокойно; отсутствие таблиц в 2.mdb обрабатывается on error ) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2012, 10:29 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
AndreTMВы пишете на VBA прямо в Access? Почему бы тогда не использовать средства самого Акцесса, без ADO? Еще как вариант решения: - создать копию 1.mdb - вычистить все таблицы - импортировать данные в таблицы из 2.mdb (отсутствие полей в совпадающих таблицах 2.mdb обработается спокойно; отсутствие таблиц в 2.mdb обрабатывается on error ) Нет, пишу не в Аксцесс а в VB Вычищать все таблицы нельзя, т.к. необходимо, чтобы сохранились данные ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 12:52 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
donpauls1. В каком месте прилепить строку Код: vbnet 1.
в любом, где рекордсет уже открыт ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 13:02 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
Дополнительный вопрос - а в таблицах 2 имеются поля, которых нет в таблицах 1? И еще - совпадающие поля - всегда одинаково определены? donpaulsВычищать все таблицы нельзя, т.к. необходимо, чтобы сохранились данныеА вы поняли суть совета? Имеем: 1 и 2. Надо: Получить 2 со структурой таблиц, как в 1. Делаем: - Копируем 1 в 3 - Удаляем все данные из таблиц 3 - Удаляем все остальные объекты (формы, макросы,...) из 3 - Импортируем в 3 данные из таблиц 2 - Копируем остальные объекты из 2 в 3 - Переименовываем 3 в 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 15:40 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
donpaulsНе разобрался только вот с чем: 1. В каком месте прилепить строку Код: vbnet 1.
Чтобы создалось поле "Question" Т.е. вот код - но здесь нет связи рекордсета RSBaza и AdoConnection Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
А если открыть рекордсет, то невозможно выполнить Append при открытом рекордсете Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Вопрос: Как выполнить .Append в рекордсете, который относится к AdoConnection. Не знаю, правильно ли задан вопрос, но думаю его можно понять )) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 18:02 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
AndreTMДополнительный вопрос - а в таблицах 2 имеются поля, которых нет в таблицах 1? И еще - совпадающие поля - всегда одинаково определены? donpaulsВычищать все таблицы нельзя, т.к. необходимо, чтобы сохранились данныеА вы поняли суть совета? Имеем: 1 и 2. Надо: Получить 2 со структурой таблиц, как в 1. Делаем: - Копируем 1 в 3 - Удаляем все данные из таблиц 3 - Удаляем все остальные объекты (формы, макросы,...) из 3 - Импортируем в 3 данные из таблиц 2 - Копируем остальные объекты из 2 в 3 - Переименовываем 3 в 2 При таком подходе будут созданы недостающие таблицы, а мне необходимо чтобы были созданы не только недостающие таблицы, но и недостающие поля в уже имеющихся таблицах. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 18:09 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
Shocker.Prodonpauls1. В каком месте прилепить строку Код: vbnet 1.
в любом, где рекордсет уже открыт Постом выше я писал о том, что при открытом рекордсете невозможно выполнить Append Возможно рекордсет нужно как то по другому открывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 18:10 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 18:59 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
Shocker.Pro Код: vbnet 1.
Не пойму, что я не так делаю: Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 23:16 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
Я, видимо, отвечал на вопросы как-то не находясь в контексте и не особо задумываясь в целом над вопросом, за что прошу прощения. Меня сбила изначальная постановка вопроса: "В каком месте прилепить Fields.Append" Добавление полей к рекордсету не означает добавление полей к таблице в БД. Ну хотя бы потому, что рекордсет может быть выборкой и из нескольких таблиц, и вообще не из таблиц. Если нужно добавить в таблицу поле - это называется изменением схемы данных. 1) Можно работать с объектом ADOX 2) В случае с аксессом можно использовать DAO.TableDef 3) Можно выполнять непосредственно команды SQL для работы с таблицами/полями. В MSSQL это выглядит примерно так: ALTER TABLE MyTable ADD NewField int NULL, в Аксесс не знаю - посмотрите хелп, возможно так же ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 23:38 |
|
Создание поля в таблице
|
|||
---|---|---|---|
#18+
Если необходимо создать отвязанный рекордсет то: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
И неважно есть конект с базой или нет если в бд необходимо добавить поле в таблицу, то через ALTER TABLE если есть рекордсет (rsSQL) созданный на основе запроса к бд, и в него нужно добавить новое поле то создаешь отвязанный рекордсет (rs) и: Код: vbnet 1. 2. 3. 4.
затем открываешь rs и заполняешь его записями из rsSQL ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2012, 23:56 |
|
|
start [/forum/topic.php?fid=60&fpage=85&tid=2158057]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 156ms |
0 / 0 |