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

Access VBA

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

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

Как заполнить базу данных Access с помощью vba в том же access и считать из нее инфу?
Прошу помочь в азах. Как заполнить базу данных Access с помощью vba в том же access и считать из нее инфу? Спасибо.

Можно ли в VBA скопировать в вставить запрос или таблицу из одного файла Access в другой файл Access
Вопрос такой можно ли скопировать и вставить запрос, таблицу или другой объект базы данных Access в другой файл Access средствами VBA?

VBA и Access
У нас в универе начался предмет Базы данных. Препод полный идиот. На лекциях расказывает про то какой он ахрененный разработчик БД и ничего...

6
 Аватар для Alex77755
11523 / 3810 / 682
Регистрация: 13.02.2009
Сообщений: 11,227
24.10.2013, 23:52 2
но я совсем не шарю

Не по теме:

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


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

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

Я сделал 2 таблицы, связал их и задания по части запросов, нужны программы.
0
 Аватар для Alex77755
11523 / 3810 / 682
Регистрация: 13.02.2009
Сообщений: 11,227
25.10.2013, 02:32 4
Перебрать записи в таблице можно так:
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  [ТС] 5
Ого, спасибо большое, но честно говоря, я слабо себе представляю как эти коды подогнать под мои задачки и связать с моей бд. =(
Вложения
Тип файла: rar bd2.rar (20.0 Кб, 9 просмотров)
0
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 13
25.10.2013, 12:46  [ТС] 6
Смог решить задачу по подсчёт количества записей и сумирования поля.
Такой вопрос: Как обновить поле таблицы ( надо изменить стоимость) в зависимости от значения другого поля.
0
 Аватар для Alex77755
11523 / 3810 / 682
Регистрация: 13.02.2009
Сообщений: 11,227
25.10.2013, 15:11 7
Ну так же перебором строк и проверкой с поиском нужного.
Только когда найдёшь нужно строку открыть на редактирование
RSn.AddNew - добавляет строку. Поставишь точку после RSn и выберешь из списка типа Edit
Внесёшь изменения и не забудь сделать RSn.Update
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2013, 15:11
Помогаю со студенческими работами здесь

Access+VBA
Доброго времени суток. Просьба немного помочь. Есть таблица Словарь, в ней указаны товары и их свойства. Есть форма основанная на этой...

VBA в Access
Не могу разобраться,не работает кнопка "Добавить выбывших в архив". Где ошибка?

VBA access
Доброе время суток! Помогите пожалуйста решить проблему с запросом. Я хочу что по вводимому ФОИ если оно сущ. то что бы заполнялись...

VBA в MS ACCESS
Дан упорядоченный по неубыванию массив A из N чисел и число X. Получить массив B, вставив X в A так, чтобы B был упорядочен по...

VBA в Access
Ребят, нужна помощь следующего плана... На MS Access нужно сделать форму, одну единственную, чтобы из нее можно было делать следующее: ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Вопросы на собеседовании по Android
mobDevWorks 14.03.2025
По данным статистики, Android занимает более 70% мирового рынка мобильных операционных систем, что делает платформу привлекательной как для начинающих разработчиков, так и для опытных профессионалов. . . .
Лучшие игровые движки для Python
py-thonny 14.03.2025
Python обеспечивает разработчиков игр мощными движками и фреймворками, которые позволяют воплотить практически любую идею — от простой аркады до визуального романа с разветвленным сюжетом. Главное. . .
Бессерверный JavaScript: Разработка масштабируемых API с AWS Lambda
run.dev 14.03.2025
Но что такое бессерверные вычисления на самом деле? По сути, это модель облачных вычислений, где разработчик фокусируется исключительно на создании бизнес-логики, не тратя время на настройку. . .
Безопасность кода в C++26: Менеджеры ресурсов и висячие ссылки
NullReferenced 14.03.2025
C++ всегда был языком, предоставляющим разработчикам большие возможности и гибкость, но вместе с тем требующим ответственности. Одной из самых коварных проблем даже для опытных программистов остаются. . .
smart-agent proper interface settings (2025)
jigi33 14.03.2025
Smart-agent proper interface settings (mart 2025). (see screenshots to look at "Etalon" ARM)
Продвинутые настройки JVM
Javaican 14.03.2025
Стандартные параметры запуска JVM хороши для повседневной разработки, но совершенно недостаточны для высоконагруженных систем. Представьте, что вы запускаете финансовую платформу, обрабатывающую. . .
CI/CD для приложений Java с Azure DevOps и Docker
Mr. Docker 14.03.2025
Разработка современных Java-приложений немыслима без системы непрерывной интеграции и доставки (CI/ CD). Azure DevOps в сочетании с Docker предоставляет мощный инструментарий для создания таких. . .
Разработка на PHP и интернет вещей (IoT)
Jason-Webb 14.03.2025
Интернет вещей (IoT) произвел настоящую революцию в способах взаимодействия устройств с окружающим миром. В эпоху, когда холодильники сами заказывают молоко, а термостаты учатся вашим привычкам,. . .
Node.js 20: Новые возможности и улучшения производительно­сти
Reangularity 14.03.2025
Что же принёс нам релиз Node. js 20? В первую очередь, это существенные улучшения в производительности. Движок V8 получил серьёзные оптимизации, благодаря чему JavaScript-код выполняется заметно. . .
Безопасность кластеров Apache Kafka
Javaican 14.03.2025
Apache Kafka стал одним из ключевых компонентов современных архитектур, обрабатывающих потоки данных в режиме реального времени. Его используют тысячи компаний от стартапов до технологических. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер