0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 3
1

Проект на тему "Создание и обработка данных"

26.10.2011, 14:08. Показов 2574. Ответов 24
Метки нет (Все метки)

Ребят,задали курсовой проект на тему "Создание и обработка данных”
Помогите пожалуйста.

Вариант 0
Имеются сведения о преподавателях ВУЗ’а:
Ф.И.О. Пол Год рождения Занимаемая должность Специализация

Необходимо:
1. Создать на МД файл произвольного доступа заданной структуры.
2. Вывести содержимое файла на экран для просмотра.
3. Вывести список претендентов на замещение вакантной должности заведующего кафедрой (должность – профессор, возраст – моложе 55 лет) требуемой специализации.
4. Определить число женщин в полученном списке.


( Где Ф.И.О. пол год рождения и т.д. там таблица)
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2011, 14:08
Ответы с готовыми решениями:

Две задачи на тему "Организация и обработка массивов данных"
Прошу помочь в составлении кода программы следующих двух задач: 1) Найти максимальное из чётных...

Нужна база данных в access на тему "обработка заказов web- студии"
Ребят помощь нужна ваша, нужна база данных в access на тему "обработка заказов web- студии". Может...

Создание запросов и отчетов для базы данных на тему "Кадастрово - геодезическое предприятие"
создание отчетов в налоговую, акт выполненных работ, счёт фактура, стоимость услуг, ну и еще...

Создание Базы Данных "Дипломный Проект"
Студенты высших учебных заведений на последнем курсе сдают госэкзамены (количество варьируется в...

24
11424 / 3732 / 673
Регистрация: 13.02.2009
Сообщений: 11,069
26.10.2011, 15:58 2
МД это Моя Дача?
А в принципе вопроса-то не прозвучало!
Тебе надо сделать?
0
0 / 0 / 0
Регистрация: 26.10.2011
Сообщений: 3
26.10.2011, 17:59  [ТС] 3
МД, как я поняла магнитный дискета наверно;
ну собственно это все задание,я сама его толком не поняла,решила обратится за помощью.
0
1552 / 447 / 47
Регистрация: 10.04.2009
Сообщений: 7,698
26.10.2011, 18:04 4
Цитата Сообщение от Анастасия Добря Посмотреть сообщение
МД, как я поняла магнитный дискета наверно;
ну рассмешила, на кого учимся добрая Анастасия?
0
11424 / 3732 / 673
Регистрация: 13.02.2009
Сообщений: 11,069
26.10.2011, 18:24 5

Не по теме:

Вполне возможно на программиста


Анастасия Добря,
А методичку вам давали? Или хотя бы что изучали?
0
1552 / 447 / 47
Регистрация: 10.04.2009
Сообщений: 7,698
26.10.2011, 23:08 6
я не студент, ну подскажите, покопаю, заинтерисовало, то что создать, то есть с нуля
и так переменные
ФИО = "Иванова Анна Ивановна"
Пол = "Ж"
Год_рождения = 1917
Занимаемая_должность = "Декан"
Специализация = "Программирование"
Как дальше двигать именно чтобы создать???

Добавлено через 4 часа 18 минут
надо отталкиваться от этого:
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
Private Sub Form_Load()
 
 Dim dbFile As String
 ' Проверяет наличие файла, имеющего имя, которое будет присвоено новой базе данных. Если есть такая база, то новая база не создается, если нет то вызывается функция и база создается.
 If Dir("C:\kadrs.Mdb") <> "" Then
 dbFile = App.Path & "\kadrs.Mdb"
 Else:
 dbFile = dbgreit()
 End If
 End Sub
 Public Function dbgreit()
 Dim dbkadr As Database, NewWs As Workspace 'Описание БД и рабочей области
 Dim dbOpts As Long, dbName As String, tbWorker As TableDef
 Dim tbFam As TableDef, Rel1 As Relation ' Описание таблицы и отношения
 Dim Ind1, Ind2, Ind3, Ind4, Ind5 As Index 'Описание индексов
 Dim Fin, Fr, Fin2, Fin3, Fr2, Fin4, Fr3, Fin5, Fr4 As Field
 Dim Fin6, Fr5, Fin7, Fr6, Fin8, Fr7, Frel As Field
 Dim Ind9 As Index, Fs1, Fs2 As Field
 ReDim F(1 To 54) As Field ' Описание полей табл. Worker
 ReDim P(1 To 10) As Field ' Описание полей табл. Family
 ' Строковая переменная, указывающая на файл БД находящийся по тому же пути, что и файл программы.
 dbName = App.Path & "\kadrs.Mdb"
 Set NewWs = DBEngine.Workspaces(0) ' Создание рабочей области
 dbOpts = dbVersion35 + dnEncrypt ' Параметры БД - версия Jet-машины 3,5 и кодирование.
 Set dbkadr = NewWs.CreateDatabase(dbName, dbLangCyrillic, dbOpts) ' Создание рускоязычной БД
 ' добавление таблицы с именем Worker в БД
 Set tbWorker = dbkadr.CreateTableDef("Worker")
 ' добавление таблицы с именем Family в БД
 Set tbFam = dbkadr.CreateTableDef("Family")
 ' Создание и описание счетчика с именем Код (табл. Worker)
 Set Fin = tbWorker.CreateField("Код", dbLong) ' Создание поля в таблице с именем Код
 Set Frel = tbWorker.CreateField("Number", dbLong) ' Создаем в таблице поле связи
 Fin.Attributes = dbAutoIncrField ' Атрибуты поля - автоинкремент
 tbWorker.Fields.Append Fin ' Добавляем поля в таблицу
 tbWorker.Fields.Append Frel
 ' Первичный ключ таблицы Worker (индекс по полю Number)
 Set Ind1 = tbWorker.CreateIndex("Number")
 Ind1.Primary = True ' Устанавливаем свойство ключа - первичный ключ
 Set Frel = Ind1.CreateField("Number", dbLong) ' Создаем индексное поле аналогичное полю связи из таблицы
 Ind1.Fields.Append Frel ' Добавляем его к индексу
 tbWorker.Indexes.Append Ind1 ' Добавляем индекс к таблице
 
 ' Описание остальных полей (табл. Worker)
 Set F(1) = tbWorker.CreateField("Фамилия", dbText, 50) ' Создание текстового поля размером 50 символов
 Set F(2) = tbWorker.CreateField("Имя", dbText, 50)
 Set F(3) = tbWorker.CreateField("Отчество", dbText, 50)
 Set F(4) = tbWorker.CreateField("Дата рождения", dbDate) ' Создание поля даты
 Set F(5) = tbWorker.CreateField("Национальность", dbText, 50)
 Set F(6) = tbWorker.CreateField("Должность", dbText, 150)
 Set F(7) = tbWorker.CreateField("СемПоложение", dbText, 20)
 Set F(8) = tbWorker.CreateField("Телефон", dbText, 15)
 Set F(9) = tbWorker.CreateField("ДатаЗап", dbDate)
 Set F(10) = tbWorker.CreateField("Образование", dbText, 90)
 Set F(11) = tbWorker.CreateField("Телефон2", dbText, 15)
 Set F(12) = tbWorker.CreateField("Профессия", dbText, 200)
 Set F(13) = tbWorker.CreateField("Серия", dbText, 10)
 Set F(14) = tbWorker.CreateField("Номер", dbText, 10)
 Set F(15) = tbWorker.CreateField("Кем выдан", dbText, 200)
 Set F(16) = tbWorker.CreateField("ДатаВыдачи", dbDate)
 Set F(17) = tbWorker.CreateField("Место рождения", dbText, 250)
 Set F(18) = tbWorker.CreateField("Индекс", dbText, 10)
 Set F(19) = tbWorker.CreateField("Улица", dbText, 100)
 Set F(20) = tbWorker.CreateField("Город", dbText, 100)
 Set F(21) = tbWorker.CreateField("Область", dbText, 100)
 Set F(22) = tbWorker.CreateField("Район", dbText, 100)
 Set F(23) = tbWorker.CreateField("УчЗав", dbText, 200)
 Set F(24) = tbWorker.CreateField("ДатаОк1", dbDate)
 Set F(25) = tbWorker.CreateField("УчЗав2", dbText, 200)
 Set F(26) = tbWorker.CreateField("ДатаОк2", dbDate)
 Set F(27) = tbWorker.CreateField("СпецПоД", dbText, 200)
 Set F(28) = tbWorker.CreateField("Квалификация", dbText, 200)
 Set F(29) = tbWorker.CreateField("НомД", dbText, 50)
 Set F(30) = tbWorker.CreateField("УчЗван", dbText, 200)
 Set F(31) = tbWorker.CreateField("ОКОДТ", dbText, 10)
 Set F(32) = tbWorker.CreateField("ОКСО", dbText, 10)
 Set F(33) = tbWorker.CreateField("ГрУч", dbText, 30)
 Set F(34) = tbWorker.CreateField("КатУч", dbText, 30)
 Set F(35) = tbWorker.CreateField("Состав", dbText, 150)
 Set F(36) = tbWorker.CreateField("Звание", dbText, 200)
 Set F(37) = tbWorker.CreateField("ВУС", dbText, 50)
 Set F(38) = tbWorker.CreateField("Годность", dbText, 100)
 Set F(39) = tbWorker.CreateField("Военкомат", dbText, 200)
 Set F(40) = tbWorker.CreateField("СпецУч", dbText, 50)
 Set F(41) = tbWorker.CreateField("НомСтрах", dbText, 40)
 Set F(42) = tbWorker.CreateField("Date1", dbDate)
 Set F(43) = tbWorker.CreateField("Date2", dbDate)
 Set F(44) = tbWorker.CreateField("Date3", dbDate)
 Set F(45) = tbWorker.CreateField("Date4", dbDate)
 Set F(46) = tbWorker.CreateField("Date5", dbDate)
 Set F(47) = tbWorker.CreateField("Date6", dbDate)
 Set F(48) = tbWorker.CreateField("Date7", dbDate)
 Set F(49) = tbWorker.CreateField("Date8", dbDate)
 Set F(50) = tbWorker.CreateField("Date9", dbDate)
 Set F(51) = tbWorker.CreateField("Date10", dbDate)
 Set F(52) = tbWorker.CreateField("Причина", dbText, 200)
 Set F(53) = tbWorker.CreateField("Date11", dbDate)
 Set F(54) = tbWorker.CreateField("Стат", dbText, 200)
 
 ' Создание индекса для сортировки по фамилиям и именам (по алфавиту)
 Set Ind9 = tbWorker.CreateIndex("Name") ' Создание индекса с именем Name
 Ind9.Unique = False ' Индекс не уникальный - значения могут повторяться
 Set Fs1 = Ind9.CreateField("Фамилия")
 Set Fs2 = Ind9.CreateField("Имя")
 Ind9.Fields.Append Fs1
 Ind9.Fields.Append Fs2
 tbWorker.Indexes.Append Ind9
 
 ' Создание и описание счетчика с именем Код (табл. Family) аналогично таблице Worker
 Set Fin2 = tbFam.CreateField("Код", dbLong)
 Fin2.Attributes = dbAutoIncrField
 tbFam.Fields.Append Fin2
 
 ' Первичный ключ таблицы Family
 Set Ind2 = tbFam.CreateIndex("Код")
 Ind2.Primary = True
 Set Fin2 = Ind2.CreateField("Код", dbLong)
 Ind2.Fields.Append Fin2
 tbFam.Indexes.Append Ind2
 
 ' Описание остальных полей (табл. Family)
 Set P(1) = tbFam.CreateField("Номер", dbLong)
 Set P(2) = tbFam.CreateField("Кто", dbText, 20)
 Set P(3) = tbFam.CreateField("Фамилия", dbText, 50)
 Set P(4) = tbFam.CreateField("Имя", dbText, 50)
 Set P(5) = tbFam.CreateField("Отчество", dbText, 50)
 Set P(6) = tbFam.CreateField("Год рождения", dbText)
 
 ' Добавление полей в таблиу Worker
 For i = 1 To 54
 tbWorker.Fields.Append F(i)
 Next i
 
 ' Добавление полей в таблиу Family
 For i = 1 To 6
 tbFam.Fields.Append P(i)
 Next i
 
 ' Добавление таблицы Worker в БД
 dbkadr.TableDefs.Append tbWorker
 
 ' Добавление таблицы Family в БД
 dbkadr.TableDefs.Append tbFam
 
 ' Создание объекта Relation (связь, отношение) с именем first
 Set Rel1 = dbkadr.CreateRelation("first")
 ' Установка свойств отношения
 Rel1.Table = "Worker" ' Первичная (мастер) таблица отношения
 Rel1.ForeignTable = "Family" ' Подчиненная таблица
 Rel1.Attributes = dbRelationDeleteCascade ' Разрешить каскадное удаление данных из второй таблицы, когда удаляются связанные данные из первой
 ' Создание поля отношения и установка свойств
 Set Fr = Rel1.CreateField("Number") ' Создание поля отношения с именем Number, в первой таблице должно быть поле с таким же именем.
 Fr.ForeignName = "Номер" ' Поле отношения во второй таблице Номер.
 ' Добавление поля к объекту "отношение" и сам объект "отношение" к БД
 Rel1.Fields.Append Fr
 dbkadr.Relations.Append Rel1
 ' Закрытие БД
 dbkadr.Close
 MsgBox "Поздравляем! Вы впервые запустили программу. На Вашем диске была создана БД. Нажмите кнопку Выход, затем запустите программу снова и приступайте к работе."
 End Function
пока проверял на ВБА, пока выделяет
dbkadr As Database
видимо нужна библиотека? какая?
0
11424 / 3732 / 673
Регистрация: 13.02.2009
Сообщений: 11,069
26.10.2011, 23:15 7
Ципихович Эндрю,
А уверен, что файл произвольного доступа заданной структуры это .Mdb?
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
26.10.2011, 23:24 8
Ципихович Эндрю
в Вашем коде меня сильно заинтересовал один момент
это где же, в какой организации, или в каких случаях от человека требуют 54 сведения
0
1552 / 447 / 47
Регистрация: 10.04.2009
Сообщений: 7,698
27.10.2011, 19:09 9
да я качнул его откуда-то с сети
Цитата Сообщение от Alex77755 Посмотреть сообщение
А уверен, что файл произвольного доступа заданной структуры это .Mdb?
а как тогда??
0
11424 / 3732 / 673
Регистрация: 13.02.2009
Сообщений: 11,069
27.10.2011, 23:27 10
В прошлом году было несколько таких работ и был образец.
Переменные пользовательского типа
Любой тип данных, определяемый пользователем с помощью инструкции Type. Типы данных, определяемые пользователем, могут содержать один или несколько элементов любого типа данных, массивы или ранее определенные пользователем типы. Например:

Visual Basic
1
2
3
4
5
Type MyType
    MyName As String    ' Имя записывается в строковую переменную.
    MyBirthDate As Date ' День рождения записывается в переменную даты.
    MySex As Integer    ' Пол записывается в целую переменную
End Type                ' (0 для женщины, 1 для мужчины).
Ну и соответственно запись в структурированный текстовой файл
0
1552 / 447 / 47
Регистрация: 10.04.2009
Сообщений: 7,698
28.10.2011, 06:22 11
это середина кода, а где начало и конец?
или спрошу по другому где остальной код?
0
11424 / 3732 / 673
Регистрация: 13.02.2009
Сообщений: 11,069
28.10.2011, 10:22 12
А как на счёт записи в поисковой строке "Файлы произвольного доступа"?
примеров валом.
Коротко:
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
Type ZAP 'объявить структуру
       Tab_N As String * 10   'табельный №
       Fam  As String * 20 'фамилия
       Ima  As String * 20 'имя
       Otht  As String * 20 'отчество
       Raz As String * 5 'разряд
       Zeh As String * 5 'цех
End Type 'конец объявления
 
Public Z As ZAP 
Public Nz As Integer
 
Open App.Path & "\rab.txt" For Random As #1 Len = Len(Z) 
Nz = LOF(1) / Len(Z) + 1 
Put #1, Nz, Z 
Close #1 
 
Open App.Path & "\rab.txt" For Random As #1 Len = Len(Z) 
Nz = 1 ' начиная с первой записи
Do While Not EOF(1) 
Get #1, Nz, Z 
'Обрабатываем
Loop
Close #1
0
1552 / 447 / 47
Регистрация: 10.04.2009
Сообщений: 7,698
28.10.2011, 17:23 13
освежил память
Файлы с произвольным доступом — файлы, хранящие информацию в структурированном (для поиска и обращения) виде. Поиск в таких файлах осуществляется в области адресов (ключей) и завершается обращением непосредственно к искомому участку. Дисковое пространство, занимаемое таким файлом, поделено на одинаковые участки (записи), имеющие одинаковую структуру полей. Так, под первое поле каждой записи может быть отведено 128 бит, а под второе 1024 бита. И это место в файле будет выделено под эти поля каждой записи независимо от наличия и объёма данных в этих полях.

Примером файлов с произвольным доступом могут служить файлы DBF (*.dbf)

Файлы с произвольным доступом выигрывают у Последовательных файлов по скорости доступа, но проигрывают по компактности.


А пр чём тут приведённое у Вас в примере

Цитата Сообщение от Alex77755 Посмотреть сообщение
Open App.Path & "\rab.txt"
?????

Добавлено через 11 минут
ну даже пусть текстовый, строки Вашего кода
14-17
и
19-25
что делают
????

Добавлено через 1 час 7 минут
я про то, что запустил макрос, что-то делает, жду 15-20 минут, плюнул.
Обрываю выполнение
Смотрю в файл "С:\rab.txt"
там пусто
????????
0
11424 / 3732 / 673
Регистрация: 13.02.2009
Сообщений: 11,069
28.10.2011, 18:29 14
Смотрю в файл "С:\rab.txt"
там пусто
Я бы очень удивился если бы там что-то было!!

Я всего показал за счёт чего
Файлы с произвольным доступом выигрывают у Последовательных файлов по скорости доступа
Put #1, Nz, Z прочитай про оператор! Запись(как и чтение: Get) производится одной строкой без чтения всего файла либо перебора строк, особенно если их много.
Запрос через инпутбокс каждого пункта я не стал приводить для экономии места.
Если хочешь я процетирую тебя как это делается
0
1552 / 447 / 47
Регистрация: 10.04.2009
Сообщений: 7,698
28.10.2011, 18:32 15
Цитата Сообщение от Alex77755 Посмотреть сообщение
Если хочешь я процетирую тебя как это делается
а чего ж не согласится
0
11424 / 3732 / 673
Регистрация: 13.02.2009
Сообщений: 11,069
28.10.2011, 18:44 16
ЦЭ
Ты меня удивляешь!
я про то, что запустил макрос
О каком макросе речь? Нет в бейсике макросов!! Не путай с любимым тобой вордом.
Тя, что я показал это вообще их "трёх опер".
Певый кусок - объявление структуры. В таком варианте как приведено - должно быть в модуле: только в модуле допустимы Public.
второй кусок - как производится запись в файл.
Третий - как производится чтение.
Я думал, что и коню понятно, что если переменным не присвоить значения, то они пустые.
Стало быть надо либо присвоить им значения считывая, например, с тексбоксов, либо запрашивать через инпутбокс. Да малоли каким способом можно присвоить значение переменным. А уж потом куда-то из записывать или что-то с ними делать
0
1552 / 447 / 47
Регистрация: 10.04.2009
Сообщений: 7,698
28.10.2011, 19:01 17
понял

Добавлено через 13 минут
а заполнять данными, например так
Visual Basic
1
2
3
4
5
6
7
8
 Tab_N = "231" 'As String * 10   'табельный №
    Fam = "Ципихович" 'As String * 20    'фамилия
    Ima = "Эндрю" 'As String * 20    'имя
    Otht = "Иванович" 'As String * 20    'отчество
    Raz = "1" 'As String * 5    'разряд
    Zeh = "16" 'As String * 5    'цех
    
    Длина = Len(Z)
И почему длина = 80, это сумма длин введённых в переменные??
там не тянет на 80 поменьше будет
0
11424 / 3732 / 673
Регистрация: 13.02.2009
Сообщений: 11,069
28.10.2011, 19:09 18
немного не так

Visual Basic
1
Z.Fam = InputBox("Введите фамилию работника", "Ввод нового работника")
0
1552 / 447 / 47
Регистрация: 10.04.2009
Сообщений: 7,698
28.10.2011, 19:14 19
мультик, вокруг света за 80 дней, как было 80 так и осталось
Visual Basic
1
2
3
4
5
6
7
8
 Z.Tab_N = "231" 'As String * 10   'табельный №
    Z.Fam = "Ципихович" 'As String * 20    'фамилия
    Z.Ima = "Эндрю" 'As String * 20    'имя
    Z.Otht = "Иванович" 'As String * 20    'отчество
    Z.Raz = "1" 'As String * 5    'разряд
    Z.Zeh = "16" 'As String * 5    'цех
    
    Длина = Len(Z)
а, это видимо
* 10 'табельный №
* 20 'фамилия
* 20 'имя
* 20 'отчество
* 5 'разряд
* 5 'цех
Всё в куче, так??
0
Памирыч
28.10.2011, 19:16     Проект на тему "Создание и обработка данных"
  #20
 Комментарий модератора 
Ципихович Эндрю, тебе все неймется...
Если так интересно про произвольный доступ - создай тему.

Alex77755, в следующий раз просто не продолжай разговор.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2011, 19:16

Мультимедийный проект на тему "Солнечная система"
Задали курсач на тему &quot;Солнечная система&quot;,помогите пожалуйста,подкиньте идей)

Продам дипломный проект с программой на тему "Автоматизация документооборота сервиса по ремонту комп. техники"
Прродам дипломный проект со всеми документами и программой на тему:Автоматизация документооборота...

Обработка "null" в MS Access "Приведение типа "|DBNull" к типу "String" является недопустимым"
Здравствуйте. Работаю с базой MS Access Вывожу в DataGridView таблицу Проблема следующая, если у...

Обработка текстовых данных Word. "ThisDocument" не является членом "Globals"
код с ошибкой: Imports Microsoft.Office.Interop.Word Enum ТипАлфавит Русский ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru