Страница: 1 |
Люди, помогите пожалуйста... я заучился и всё перепутал кажись... Итак, есть база данных (Access) для спортшколы. Одной из задач программы (на VB) явл-ся подготовка к соревнованиям. В базе данных есть таблица Tournaments, где есть поля TournID, TournName. Другая таблица называется TournDetails. В ней такие поля: TournDetID, TournID, TournDate, TournCountry, TournCity, TournAddress, AmountFirst, AmountSec, AmountThird. Три последние поля для записи результатов соревнований – Кол-во первых, вторых и третьих мест. Но вопрос не в этих полях. Две таблицы связаны между собой по полю TournID. (Один ко многим). Есть в программе форма, в которую тренер сможет вносить название соревнований (если название опр-х соревнований уже не стоит в списке соревнований). Затем необходимо внести в базу данных дату и место проведения соревнований, для чего есть другая форма, на которой присутствуют такие поля, как TournDate, TournCountry, TournCity, TournAddress. Но когда я пытаюсь вносить данные туда ( deTWD.rscNextTourn.AddNew ), то получаю сбой программы и сообщение об ошибке. Мне выскакивает сообщение, что Либо EOF либо BOF, пустую строку не вставит в рекордсет и таблицу и что данный рекордсет связан с другой таблицей, поле которой отсутствует в данном наборе записей. Все эти сообщения я получал в результате и соединения таблиц в одну ( в этом случае имеет место переполнение данных по полю TournName ) и в результате экспериментов с набором записей и попыткой вставки новых записей в него. Как мне быть, подскажите, знатоки, крыша уже сползает.... знаю, что на ерунде где-то фаршманулся, но найти ошибку не могу.... Заранее за помощь благодарю. Костя.
Скажу честно с БД написал только 1 прогу... так что... Но, слыхал, что в некоторых случаях рекомендуется открывать БД в монопольном режиме, т.к. выскакивают различные ошибки, даже если с базой больше ни чего не работает... вот Вдруг поможет?) Если имеется связь между таблицами, то одна из них главная, другая подчинённая. Если в главной таблице в связанном поле нет значения соответствующего вводимому в подчинённую таблицу, то будет выдано сообщение об ошибке. Переполнение скорее всего является следствием ввода более длинной строки нежели размер поля базы. Т.е., например, вводится в текстовое поле строка длиной 25 символов, и эта строка вносится в поле базы где только 20 символов. Нужно или расширить поле базы, или обрезать вводимую строку. Привет Проблема вто что когда ты делаешь связь между таблицами то одна из них должна быть главной , а вторая второстепеной. тепер ты должен проверять что-бы в второстепеной таблиции поле ID соотвесвала перевой таблиции. вот и всё. 2 GoldZero: Обе таблицы у меня связаны по полю TournID которое является Primary key в таблице Tournaments и Foreign key в таблице TournDetails. Нее... тут где-то в другом месте собака зарыта. Всем, кто откликнулся на моё сообщение, большое спасибо. Но проблема пока ещё существует и посему продолжаю ждать ваших советов, братцы. Страница: 1 |
Вопрос: Ошибка в БД или в VB коде? Помогите плз...
Добавлено: 28.05.03 23:50
Автор вопроса: Незнайка
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Дeнис
Вопросов: 14
Ответов: 42
Профиль | | #1
Добавлено: 29.05.03 00:51
Номер ответа: 2
Автор ответа:
Alex&r
Вопросов: 10
Ответов: 105
Профиль | | #2
Добавлено: 29.05.03 10:30
Номер ответа: 3
Автор ответа:
MAGNUS
Вопросов: 12
Ответов: 430
Профиль | | #3
Добавлено: 29.05.03 16:24
Посмотри тип и Location курсора он должен поддерживать букмарки и быть клиентским.
Номер ответа: 4
Автор ответа:
ColdZero
ICQ: 163821935
Вопросов: 3
Ответов: 1
Профиль | | #4
Добавлено: 30.05.03 14:16
Номер ответа: 5
Автор ответа:
Незнайка
Вопросов: 3
Ответов: 3
Профиль | | #5
Добавлено: 30.05.03 17:30