powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Простая база данных VB6 DAO+Access
14 сообщений из 14, страница 1 из 1
Простая база данных VB6 DAO+Access
    #37637779
Фотография alix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня, хочу научиться писать базы данных на VB6. Поэтому поставил себе задачу написать программу хранения данных на складе, с использованием технологии DAO.
Допустим есть список вещей на складе, а также список фамилий владельцев этих вещей. Нужно написать программу в которой будут хранится эти данные. Как я понимаю, в базе данных нужно завести 3 таблицы:

1таблица - список фамилий (ID, ФАМИЛИЯ)
2таблица - список вещей (ID, ВЕЩЬ)
3таблица - список ID фамилий и список ID вещей (ID, ID)

Мне непонятно, как сделать запрос, чтобы выводился отчет: ФАМИЛИЯ - ВЕЩЬ, а не ID - ID, тоесть данные должны браться из таблицы 1 и 2, и показываться в виде таблицы 3.

Второй вопрос, заведение/удаление новых фамилий и вещей. Например человек перестал пользоваться складом, а его вещи остались. Надо удалить его фамилию из таблицы, но в таком случае, кому будет принадлежат вещь в таблице 3 ?
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37637823
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alixс использованием технологии DAO.Лучше использовать ADO. DAO - устаревшая и более глючная технология
alixчтобы выводился отчет: ФАМИЛИЯ - ВЕЩЬДля начала надо прочитать книжку для начинающих по языку SQL и в принципе построению реляционных БД. Я, конечно, могу написать конкретный запрос (потребуется использование JOIN), но лучше ОСНОВЫ все-таки изучить
alixНадо удалить его фамилию из таблицыЛибо использовать каскадное удаление (встроенное в БД или вручную), то есть удалять сначала вещь, потом фамилию. Но правилом хорошего тона будет не удаление записи из таблицы, а присвоение ей признака "удалено"
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37637844
Фотография alix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЛучше использовать ADO. DAO - устаревшая и более глючная технология

Думаю до ADO дойду в последствии, но пока хочу понять как работает DAO

авторДля начала надо прочитать книжку для начинающих по языку SQL и в принципе построению реляционных БД. Я, конечно, могу написать конкретный запрос (потребуется использование JOIN), но лучше ОСНОВЫ все-таки изучить

да основы изучаю, но запрос лучше все таки написать )
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37637892
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблицы:
Код: sql
1.
2.
3.
Users (ID int, Name nvarchar(50))
Things (ID int, Name nvarchar(50))
ThingsMM (User int, Thing int)


Запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT   Users.Name AS Фамилия,
         Things.Name AS Вещь
FROM     ThingsMM
         INNER JOIN Users ON ThingsMM.User=Users.ID
         INNER JOIN Things ON ThingsMM.Thing=Things.ID
ORDER BY Users.Name,
         Things.Name
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37637896
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант с признаком удаления


Таблицы:
Код: sql
1.
2.
3.
Users (ID int, Name nvarchar(50), IsDeleted bit)
Things (ID int, Name nvarchar(50))
ThingsMM (User int, Thing int)


Запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT   Users.Name AS Фамилия,
         Things.Name AS Вещь
FROM     ThingsMM
         INNER JOIN Users ON ThingsMM.User=Users.ID
         INNER JOIN Things ON ThingsMM.Thing=Things.ID
WHERE    Users.IsDeleted=0
ORDER BY Users.Name,
         Things.Name
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37637948
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProТаблицы:не заметил, что в заголовке топика указано, что СУБД Аксесс, типы данных написал как для MSSQL.
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37638062
Фотография alix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторе заметил, что в заголовке топика указано, что СУБД Аксесс, типы данных написал как для MSSQL.

Благодарю. Сделал базу по примеру вашего кода. Не посмотрите правильно или нет?
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37638087
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alixНе посмотрите правильно или нет?неправильно

alix3таблица - список ID фамилий и список ID вещей (ID, ID)вот же правильный подход был
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37638095
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proнеправильновиноват

слишком умный аксесс мне отобразил таблицу не в том виде, в котором я ожидал увидеть
посмотрел в конструктор - все правильно

И то, что счетчик добавлен к третьей таблице - правильно, хоть я его и не упоминал
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37638202
Фотография alix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь вопрос как добавлять/редактировать данные.
1 вариант - фамилия есть в таблице Users
2 вариант - фамилии нет
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37638254
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Средствами DAO по добавлению данных.
2) Выполнением запроса "INSERT.... "
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37640059
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37641334
Фотография alix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05adm,

Лекция не показывается: 404 Not Found
...
Рейтинг: 0 / 0
Простая база данных VB6 DAO+Access
    #37641922
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alix,
должно показывать просто зарегистрируйся там
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Простая база данных VB6 DAO+Access
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]