![]() |
|
Модераторы: Akina |
![]()
|
|
| I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 12 Всего: 15 |
Добрый день.
Мне нужно подключить к проекту на ВБ базу данных FoxPro. Как сделать в Аксесс - я знаю. Я создаю там БД и подключаю в свойствах контрола Data. А с ФоксПро я так не могу. Потому что он сейчас - 9 версии, а в ВБ поддержка только до 3. Я хотел создать с помощью Data Manager (Визуальный Менеджер Данных). Но там при создании ФоксПро (в отличие от Аксесс) не создается файл, а вводится имя базы, а потом вообще - непонятно что. Я вот хочу спросить - как мне создать эту базу? :( |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
Поставить FoxPro и в нём создать. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 12 Всего: 15 |
Так ФоксПро сейчас - 9 версии. А в VB только FoxPro 3.0.
Это сообщение отредактировал(а) I_Am_Rock - 8.11.2009, 22:44 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
I_Am_Rock, тебе же сказали - через ODBC-драйвер. Хочешь, ADO используй, хочешь - DAO... у тебя 9 версия фокса? значит, и ODBC должен понимать эту версию.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 12 Всего: 15 |
А он у меня есть? - этот драйвер. И как его подключить?
Допустим я создам в ФоксПро БД. Но как дальше? - чтобы контрол Data с ним работал... |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Чтобы заставить контрол работать с нужным источником данных, следует начать с чтения справки по самому контролу и его свойствам. Посмотреть примеры. И делать по образу и подобию. Искать этот контрол надо в подразделе Intristic Controls раздела Reference справки по VB6 в MSDN. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 12 Всего: 15 |
Ну, я сейчас вроде как решил эту проблему.
Я сделал так. Создал Базу данных в Вижуал ФоксПро. Создал Таблицу с полями и заполнил пару записей. Экспортировал в ФоксПро 3.0 (File -> Export...) Затем приступил к VB и поначалу всё пошло как по маслу - я разместил контрол на форме, выбрал файл с таблицей 3 версии фокса, разместил на форме три текстбокса, настроил их DataField DataSource. В итоге все запустилось и те две-три записи норм отображаются. А вот как решил сделать так, чтобы записи можно было новые добавить - так никак не могу и всё тут! Вроде как Data1.Recordset.AddNew должно работать, но ругается ошибкой 3027, мол только для чтения. Хотя свойство контрола риад-онли выставлено в фэлс и какого рожна ей еще надо - непонятно. :( Это все также - по поводу ФоксПро, так что думаю я не отошел от темы. Что делать? Это сообщение отредактировал(а) I_Am_Rock - 9.11.2009, 00:44 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Контрол Data работает с рекордсетом. Ему плевать, по какой технологии и через какую библиотеку рекордсет создан, какого он типа и т.п. - все недопустимые для рекордсета операции заканчиваются ошибкой, которую контрол, не разбираясь, преподнесёт юзеру. Создай рекордсет, допускающий обновление и добавление, и укажи его контролу как источник данных. И будет тебе щастье. И не будет ошибок. И не надо будет формат преобразовывать. Это не в VB. Это в Jet. Используй иную технологию доступа к данным - и тебе будет сиренево до версии. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 12 Всего: 15 |
Путем научных изысканий я установил (красиво звучит, правда? Ну т.е., как ты и говоришь - рекордсет не допускает обновление и добавление. А как мне создать такой рекордсет, который допускал бы это? Это сообщение отредактировал(а) I_Am_Rock - 9.11.2009, 16:31 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Ну наверное ручками создать и открыть такой рекордсет, а потом сказать контролу, что этот рекордсет и есть его источник данных.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| I_Am_Rock |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 12 Всего: 15 |
Пробую так
не хочет - так же ругается на реад-онли в строке rs.AddNew Я проверил - MsgBox rs.Updatable - пишет False А как, чтобы тру? :cry Это сообщение отредактировал(а) I_Am_Rock - 9.11.2009, 17:16 |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Повторю ещё раз.
По наитию такие вещи не делают. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| I_Am_Rock |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 12 Всего: 15 |
Akina
Я пытаюсь изучать. Читаю на сайтах о методах и свойствах контрола. И вижу примеры применения. Но везде в примерах - Access. И видимо для фокспро нужно по-другому. Вот, например отсюда - http://www.eduhmao.ru/info/1/3655/22644/
Я адаптировал этот код под свой (наверху), а он не работает. Как я уже сказал - Updatable рекордсета стоит в False. |
||||||
|
|||||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Ну ты всё фигню какую-то читаешь.
Где собсно создаётся и открывается рекордсет? в строке
Вот и прочти справку по OpenRecordset - у него ж дохрена параметров! Разберись, для чего каждый из них, какие значения принимает и как они влияют на свойства рекордсета. PS. У тебя на рабочем столе есть корзина? выброси туда DAO и используй Adodb -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 12 Всего: 15 |
Akina, если у тебя есть хорошие ссылки на сайты, где есть хорошая инфа по свойстам и методам рекордсета DAO, то укажи их, пожалуйста.
Инфе об Adodb тоже буду рад. |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |