Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 98
от 30.05.2006, 09:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 301, Экспертов: 38
В номере:Вопросов: 1, Ответов: 1


Вопрос № 44177: Добрый день всем! Подскажите реализацию вопроса: VB6, БД на Access98. имеются две таблицы Tabl1 и Tabl2 с одинаковой структурой (индентичны). В таблицах есть поле "InvNumber", где обьявлено в конструкторе:"Совпадение не допуска...

Вопрос № 44.177
Добрый день всем!
Подскажите реализацию вопроса:
VB6, БД на Access98. имеются две таблицы Tabl1 и Tabl2 с одинаковой структурой (индентичны). В таблицах есть поле "InvNumber", где обьявлено в конструкторе:"Совпадение не допускается". Как при занесении данных в Tabl1 проконтролировать в Tabl2, чтобы не было индентичной записи по данному полю, что-2:
то наподобие:

код Visual Basic

Private Sub Data1_Validate(Action As Integer, Save As Integer)
Set dbBibliot = OpenDatabase(gDataBaseName) 'здесь хранится путь к БД
Data2.RecordSource = "SELECT InvNumber FROM StudTitDolg=" & DBGrid1.Columns("InvNumber").Text 'Поиск в Tabl2 такой же записи
If Tabl2.InvNumber=Tabl1.InvNumber THEN
Action = 0
Save = False
MsgBox ("Повторяющийся Инв.Номер.")
Exit Sub
dbBibliot.Close
End If
End Sub

Если не понятно, объясню.
С уважением
Отправлен: 25.05.2006, 08:57
Вопрос задал: Робатько Анатолий Васильевич (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Игорь Елизаров
Здравствуйте, Робатько Анатолий Васильевич!
А кто занимается занесением данных в эти таблицы ?
Может разграничить индексы в момент занесения ?
вариант - в таблицу 1 заносим четные индексы с шагом 2
а в таблицу 2 - нечетные, тоже с шагом 2
тогда индексы будут уникальны сразу в момент создания
но для учета и инвентаризаций этот вариант может не подойти, там номера должны быть сквозными

Другой вариант, если индексное поле не числовое, то к обычному индексу добавляем префикс в зависимости от таблицы, например _tab1 _tab2
(или номер отдела или еще что..)
таким образом мы получим уникальный индекс в пределах нескольких таблиц

ну и третий путь, может быть самый интересный.
если две таблицы одинаковы, зачем их две ?
сделай одну общую и дополнительное поле, указывающее тип таблицы
по этому полю ты всегда сможешь сформировать как первую так и вторую табличку обычным запросом, а уникальность индекса будет обеспечена тем, что данные лежат не в двух таблицах, а в одной, и это поле общее..
Ответ отправил: Игорь Елизаров (статус: 4-ый класс)
Ответ отправлен: 25.05.2006, 18:29
Оценка за ответ: 5
Комментарий оценки:
Благодарю за оперативный ответ!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

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

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.33 от 25.05.2006
Яндекс Rambler's Top100

В избранное