Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 13
Access

Создать базу данных музея

24.10.2013, 23:30. Показов 2187. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать программки на VBA, вроде и простые, но я совсем не шарю) Надо использовать только VBA, без SQL.
Миниатюры
Создать базу данных музея  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.10.2013, 23:30
Ответы с готовыми решениями:

Нужно создать базу данных по ученикам
Помогите пожалуйста сделать работу: Нужно создать базу данных по ученика в VB

Можно-ли создать программно на VB базу данных FoxPro (*.dbf)?
Подскажите пожалуйста, а можно-ли создать программно на VB базу данных FoxPro (*.dbf) или так и...

создать графический файл и внести его в базу данных
Подскажите, пожалуйста, можно ли с помощью VB создавать .gif файлы и не пользуясь файловой системой...

6
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
24.10.2013, 23:52
но я совсем не шарю

Не по теме:

Похоже и читать уже разучился: даже правила лень прочитать
Или просто плюёшь на них?
И когда на сайте начнут банить или удалять посты с нарушением правил!?


Запрещено размещать задания в виде картинок и других файлов с их текстом.
Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены.

Добавлено через 7 минут
А по сути? А уверен, что база должна быть именно в Access?
Access без SQL?
0
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 13
25.10.2013, 00:23  [ТС]
Alex77755
Я извиняюсь, просто я немного запарился и мозги вскипают, этот форум последняя надежда.
Да именно в Access, по поводу sql, ну вроде они должны решаться и без него. На вид простые.

Я сделал 2 таблицы, связал их и задания по части запросов, нужны программы.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
25.10.2013, 02:32
Перебрать записи в таблице можно так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub SOZD()
 
Dim RS As Recordset
Dim R
 
Set RS = CurrentDb.TableDefs("Titles").OpenRecordset
RS.MoveLast
RS.MoveFirst
For R = 1 To RS.RecordCount
Debug.Print RS(1)
RS.MoveNext
Next
End Sub
Добавлено через 23 секунды
Отбирай по условию

Добавлено через 8 минут
А вот создать таблицу...
Кликните здесь для просмотра всего текста
Программное создание таблицы и ее полей в MS Access 2003

Задача: создать в базе данных MS Acces 2003 таблицу, в таблице ключевое поле типа счетчик, поля с разными типами данных

Способ решения:





Sub СоздатьТаблицу()
Dim db As Database ' бд, в которой будет создаваться таблица
Dim Tbl As TableDef ' создаваемая таблица

Dim Fld1 As Field ' добавляемое поле
Dim Fld2 As Field
Dim Fld3 As Field
Dim Fld4 As Field
Dim Fld5 As Field
Dim Fld6 As Field
Dim Fld7 As Field
Dim Fld8 As Field
Dim Fld9 As Field
Dim Fld10 As Field
Dim Fld11 As Field
Dim Fld12 As Field
Dim Fld15 As Field
Dim Fld16 As Field


Dim Indx As Index ' индекс таблицы
Dim IndxFld As Field ' поле индекса таблицы

' определяю бд, в которой создаю таблицу
Set db = CurrentDb
' создаю таблицу
Set Tbl = db.CreateTableDef("Таблица")
' ========================================
' создаю ключевое поле
Set Fld1 = Tbl.CreateField("КлючевоеПоле", dbLong)
' делаю поле счетчиком
Fld1.Attributes = Fld1.Attributes + dbAutoIncrField
' добавляю поле в таблицу
Tbl.Fields.Append Fld1
' создаю индекс по полю "КлючевоеПоле"
Set Indx = Tbl.CreateIndex("Ключевое поле")
Set IndxFld = Indx.CreateField("КлючевоеПоле", dbLong)
' добавляю индекс
Indx.Fields.Append IndxFld
' делаю первичным ключем
Indx.Primary = True
' добавляю индекс
Tbl.Indexes.Append Indx

' ========================================
' создаю поле. тип данных -- логический
Set Fld2 = Tbl.CreateField("Поле1", 1)
Tbl.Fields.Append Fld2

' ========================================
' создаю поле. тип данных -- числовой (байт)
Set Fld2 = Tbl.CreateField("Поле2", 2)
Tbl.Fields.Append Fld2


' ========================================
' создаю поле. тип данных -- числовой (целое)
Set Fld3 = Tbl.CreateField("Поле3", 3)
Tbl.Fields.Append Fld3


' ========================================
' создаю поле. тип данных -- числовой(длинное целое)
Set Fld4 = Tbl.CreateField("Поле4", 4)
Tbl.Fields.Append Fld4


' ========================================
' создаю поле. тип данных -- денежный
Set Fld5 = Tbl.CreateField("Поле5", 5)
Tbl.Fields.Append Fld5


' ========================================
' создаю поле. тип данных -- числовой (Одинарное с плавающей точкой)
Set Fld6 = Tbl.CreateField("Поле6", 6)
Tbl.Fields.Append Fld6


' ========================================
' создаю поле. тип данных -- числовой (Двойное с плавающей точкой)
Set Fld7 = Tbl.CreateField("Поле7", 7)
Tbl.Fields.Append Fld7


' ========================================
' создаю поле. тип данных -- дата/время
Set Fld8 = Tbl.CreateField("Поле8", 8)
Tbl.Fields.Append Fld8


' ========================================
' создаю поле. тип данных -- двоичный
Set Fld9 = Tbl.CreateField("Поле9", 9)
Tbl.Fields.Append Fld9


' ========================================
' создаю поле. тип данных -- текстовый (150 символов)
Set Fld10 = Tbl.CreateField("Поле10", 10, 150)
Tbl.Fields.Append Fld10


' ========================================
' создаю поле. тип данных -- поле объекта
Set Fld11 = Tbl.CreateField("Поле11", 11)
Tbl.Fields.Append Fld11


' ========================================
' создаю поле. тип данных -- поле МЕМО
Set Fld12 = Tbl.CreateField("Поле12", 12)
Tbl.Fields.Append Fld12


' ========================================
' создаю поле. тип данных -- числовой (код репликации)
Set Fld15 = Tbl.CreateField("Поле15", 15)
Tbl.Fields.Append Fld15


' ========================================
' создаю поле. тип данных -- числовой (действительное)
Set Fld16 = Tbl.CreateField("Поле16", 16)
Tbl.Fields.Append Fld16



' добавляю таблицу
db.TableDefs.Append Tbl
' обновляю данные о таблицах
db.TableDefs.Refresh


Set db = Nothing
End Sub
Добавлено через 1 час 14 минут
Самому стало интересно. На базе BIBLIO.MDB
Visual Basic
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
41
42
43
44
45
46
47
Sub SOZD()
Dim TB As TableDef
Dim TB0 As TableDef
Dim myF As Field
Dim RS As Recordset
Dim RSn As Recordset
Dim R, c
Dim N, A
Dim Q As Field
 
Set TB = CurrentDb.CreateTableDef("NEV_t")
For R = 0 To CurrentDb.TableDefs("Titles").Fields.Count - 1
N = CurrentDb.TableDefs("Titles").Fields(R).Name
A = CurrentDb.TableDefs("Titles").Fields(R).Attributes
Set Q = CurrentDb.TableDefs("Titles").Fields(R)
 
Select Case R
Case 1 ' числовой (целое)
    Set myF = TB.CreateField(N, 3): TB.Fields.Append myF
Case 3 'числовой(длинное целое)
    Set myF = TB.CreateField(N, 4): TB.Fields.Append myF
Case 7 ' поле МЕМО
    Set myF = TB.CreateField(N, 12): TB.Fields.Append myF
Case Else ' текстовый (150 символов)
    Set myF = TB.CreateField(N, 10, 150): TB.Fields.Append myF
End Select
 
Next
CurrentDb.TableDefs.Append TB
CurrentDb.TableDefs.Refresh
 
Set RS = CurrentDb.TableDefs("Titles").OpenRecordset
RS.MoveLast
RS.MoveFirst
For R = 1 To RS.RecordCount
 
If RS(1) = 1994 Then
    Set RSn = CurrentDb.OpenRecordset("NEV_t")
    RSn.AddNew
        For c = 0 To CurrentDb.TableDefs("Titles").Fields.Count - 1
            RSn(c) = RS(c)
        Next
    RSn.Update
End If
RS.MoveNext
Next
End Sub
0
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 13
25.10.2013, 08:52  [ТС]
Ого, спасибо большое, но честно говоря, я слабо себе представляю как эти коды подогнать под мои задачки и связать с моей бд. =(
Вложения
Тип файла: rar bd2.rar (20.0 Кб, 9 просмотров)
0
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 13
25.10.2013, 12:46  [ТС]
Смог решить задачу по подсчёт количества записей и сумирования поля.
Такой вопрос: Как обновить поле таблицы ( надо изменить стоимость) в зависимости от значения другого поля.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
25.10.2013, 15:11
Ну так же перебором строк и проверкой с поиском нужного.
Только когда найдёшь нужно строку открыть на редактирование
RSn.AddNew - добавляет строку. Поставишь точку после RSn и выберешь из списка типа Edit
Внесёшь изменения и не забудь сделать RSn.Update
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2013, 15:11
Помогаю со студенческими работами здесь

Как грамотно создать базу данных
планирую создать базу даных и для етого нужна ваша помощь: 1. В чем хранить даные а acsess или...

Создать базу данных "Абитуриент(Поступление)"
На вряд ли, кто то поможет, но всё же попробую Задали курсовую сделать на тему - База данных...

Создать форму для ввода информации в базу данных
Здравствуйте имеется такое вот задание, никогда не работал с VBA и не знаю, что там и как. Не...

Создать базу данных Регистрация поступления товара
Магазин с одним продавцом. Компьютер вместо кассового аппарата. База наличия товаров: наименование,...

Создать базу данных по учету неисправностей
помогите плиз с кодом Исходные данные : название неисправности , количество неисправностей ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru