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

Несовсем работает код. Ошибка

14.12.2010, 13:24. Показов 1074. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уменя уже была проблема с такой ошибкой, при дублировании записей N-раз, но вроде она исчезла....Теперь опять та же ошибка появляется при условии когда lit<>1.... В чем проблема?
Вот весь код

PureBasic
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
Private Sub cmd_n_copy_Click()
On Error GoTo error_main
 
Dim dveri As Recordset
Set dveri = CurrentDb().OpenRecordset("dveri")
 
Dim n_s As String
Dim n As Integer
Dim schet As Integer
Dim otvet1 As Integer
Dim otvet2 As Integer
Dim lit As Long
Dim lit_n As Long
Dim lit_cc As Long
 
Me.Refresh
 
otvet1 = MsgBox("Создать несколько подобных изделий в рамках этого договора ?", vbOKCancel)
If otvet1 = 2 Then
MsgBox "Отменено пользователем"
Exit Sub
End If
 
n_s = InputBox("введите количество дверей в договоре") 'выводим форму для ввода
n = Val(n_s) 'переводим string в integer
 
If n = 0 Then
MsgBox "Ошибка ввода", vbCritical 'обрабатываем неправильный ввод
Exit Sub
End If
 
lit = Forms!Двери_Е!litera
 
If lit = 1 Then
lit_n = 1
lit_cc = 2
End If
 
If lit <> 1 Then
If lit = 0 Then
otvet2 = MsgBox("Начальный номер изделия в договоре 0." & Chr(10) & _
"Исправить на 1 ?", vbOKCancel, "Предупреждение")
If otvet2 = 1 Then
lit_n = 1
lit_cc = 2
End If
If otvet2 = 2 Then
MsgBox "Отменено пользователем"
Exit Sub
End If
End If
 
If lit <> 1 And Not lit = 0 Then
otvet2 = MsgBox("Начальный номер изделия в договоре не равен 1." & Chr(10) & _
"Исправить?", vbYesNoCancel, "Предупреждение")
If otvet2 = 7 Then
lit_n = lit
lit_cc = lit + 1
in_otvet = MsgBox("Нумерация будет продолжена с " & lit_cc & "-го изделия", _
vbOKCancel, "Предупредждение")
If in_otvet = 2 Then
MsgBox "Отменено пользователем"
Exit Sub
End If
End If
If otvet2 = 6 Then
lit_n = 1
lit_cc = 2
End If
If otvet2 = 2 Then
MsgBox "Отменено пользователем"
Exit Sub
End If
End If
End If
 
Forms!Двери_Е!litera = lit_n
 
schet = n - lit_n
If schet < 0 Then
MsgBox "Ошибка ввода - текущий номер изделия больше чем у последнего", _
vbCritical 'обрабатываем неправильный ввод
Exit Sub
End If
If schet = 0 Then
MsgBox "Ошибка ввода - текущий номер изделия совпадает с последним", _
vbCritical
Exit Sub
End If
 
Do Until schet = 0 'запускаем цикл копирования
schet = schet - 1 '{!}f переписать на уровне записей
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.RunCommand acCmdRecordsGoToNew
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdPaste
Forms!Двери_Е!litera = lit_cc
Forms!Двери_Е.Refresh
lit_cc = lit_cc + 1
DoCmd.GoToRecord acDataForm, "Двери_Е", acLast
Loop
 
Exit Sub
 
error_main:
MsgBox err.Description
Exit Sub
 
End Sub
P.S Самое главное, когда все таблицы, запросы, отчеты, формы в Аксе - то все работает, А вот когда талицы в Мускуле, а в Аксе линкованные таблицы через ОDBC, начинает некоторые части кода не работать....
Миниатюры
Несовсем работает код. Ошибка  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.12.2010, 13:24
Ответы с готовыми решениями:

Установка нового процессора на несовсем новую материнскую плату.
Установка нового проца на не совсем новую мать . Вот такой расклад . Не знаю как быть . Деньги на проц насобирал . Потянет ли его моя...

Код не работает где ошибка?
Вот код, должен вернуть результат обработки $sing_hash но ksort выдает ошибку 1 параметр array_push тоже самое.... Не могу найти ошибку...

Не работает код. Ошибка в коде
Игра угадай число. мы загадываем комп угадывает. половинным делением... &lt;script type=&quot;text/javascript&quot;&gt; var min =...

7
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 5
14.12.2010, 19:00  [ТС]
Вот что необходимо получить из этого кода...
1). Когда поле Forms!Двери_Е!litera = 0, нажимаем "Копировать N-раз" вылазит сообщение "Создать несколько подобных изделий в рамках этого договора?", нажимаем ОК, вылазит InputBox "Введите кол-во дверей в договоре", вводим например 5 и нажимаем ОК. Вылазит "Предупреждение" с сообщением "начальный номер изделия в договоре 0. Исправить на 1?", нажимаем ОК. В итоге получаем что первая запись в поле litera = 0 изменяется на 1 а затем происходит клонирование всех записей в форме, при этом поле litera изменяется до 5,
т. е первая запись litera = 0 изменяется на 1, значит itera = 1,
вторая запись litera = 2
третья запись litera = 3
и т.д все записи изменяются до 5.... или другими словами N раз, А все остальные поля одинаковые.

2) когда поле Forms!Двери_Е!litera = 1, нажимаем "Копировать N-раз" вылазит сообщение "Создать несколько подобных изделий в рамках этого договора?", нажимаем ОК, вылазит InputBox "Введите кол-во дверей в договоре", вводим например 5 и нажимаем ОК. Происходит опять же клонирование записей с изменением по порядку поля litera на N раз, т.е опять же до 5, но при этом поле первой записи уже имеет litera = 1, значит оно нетрогается.......а все остальное как в примере пункта 1

3) когда поле Forms!Двери_Е!litera >1, нажимаем "Копировать N-раз" вылазит сообщение "Создать несколько подобных изделий в рамках этого договора?", нажимаем ОК, вылазит InputBox "Введите кол-во дверей в договоре", вводим например 5 и нажимаем ОК. Вылазит "Предупреждение" с сообщением "начальный номер изделия в договоре не равен 1. Исправить?", Нажимаем ДА. В итоге получаем что первая запись в поле itera >1 изменяется на 1 а затем происходит клонирование всех записей в форме, при этом поле litera изменяется до 5 по порядку......тоже самое что и в примере 1-го пункта.


4)например у нас Forms!Двери_Е!litera >1 (например равно 5), нажимаем "Копировать N-раз" вылазит сообщение "Создать несколько подобных изделий в рамках этого договора?", нажимаем ОК, вылазит InputBox "Введите кол-во дверей в договоре", вводим число больше чем в поле litera, там мы установили 5, например 10 () и нажимаем ОК. Вылазит "Предупреждение" с сообщением "начальный номер изделия в договоре не равен 1. Исправить?", Нажимаем НЕТ, вылазит "Предупреждение" с сообщением "Нумерация будет продолжена с litera+1 изделия" (в нашем случае, это значит с 6-го изделия). Нажимаем ОК. Получаем что
первая запись поле litera=5
вторая запись поле litera=6,
третья запись поле litera=7
и так далее до 10
При этом все остальные поля в форме просто на просто дулируются....

В пункте мы отрабатывали нажатие на кнопку НЕТ в отличии от пункта 3....



Вот что мне необходимо получить из этого кода.....Все это прекрастно работает в Аксе....А вот если таблицы линкованные через ODBC в Мускул, где находятся все данные.... то половина из того что мне надо не работает....

Помогите народ....а то я замучался неполучается ничего....
0
 Аватар для Елена
2454 / 797 / 24
Регистрация: 18.08.2009
Сообщений: 1,697
15.12.2010, 06:29
lexalex, удобнее будет работать с вашим кодом, если Вы дадите форму и ее источник (в акцессе)
0
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 5
15.12.2010, 09:29  [ТС]
Цитата Сообщение от Елена Посмотреть сообщение
lexalex, удобнее будет работать с вашим кодом, если Вы дадите форму и ее источник (в акцессе)
форма конструктор, источником является поидее запрос, который берет все поля из таблицы dveri, только в запросе сортировка присутствует.....
Миниатюры
Несовсем работает код. Ошибка   Несовсем работает код. Ошибка  
0
 Аватар для Елена
2454 / 797 / 24
Регистрация: 18.08.2009
Сообщений: 1,697
15.12.2010, 09:33
lexalex, опять не то.. Для того, чтобы посмотреть, в чем ошибка, нам нужны таблица, запрос, форма в базе акцессовской. Во-первых для того, чтобы каждый раз не создавать у себя базу, подобную Вашей, во-вторых, Вы могли допустить ошибки в типах данных и т.п., по картинкам этого не увидишь. Поэтому сделайте новую базу, в нее скиньте таблицу, запрос, форму, оставьте в них несколько значений для работы, сожмите и заархивируйте
0
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 5
15.12.2010, 09:45  [ТС]
Цитата Сообщение от Елена Посмотреть сообщение
lexalex, опять не то.. Для того, чтобы посмотреть, в чем ошибка, нам нужны таблица, запрос, форма в базе акцессовской. Во-первых для того, чтобы каждый раз не создавать у себя базу, подобную Вашей, во-вторых, Вы могли допустить ошибки в типах данных и т.п., по картинкам этого не увидишь. Поэтому сделайте новую базу, в нее скиньте таблицу, запрос, форму, оставьте в них несколько значений для работы, сожмите и заархивируйте
тогда встречный вопрос..... у вас есть сервер Мускула?
в начале я уже писал.... что этот код который я представил в Аксе работает нормально.....но вот когда таблицы все скинуты в Мускул, а в Аксе находятся только линкованные таблицы, запросы, отчеты, и формы..... почему то код начинает неработать и вылазит ошибка представленная выше.....
0
 Аватар для Елена
2454 / 797 / 24
Регистрация: 18.08.2009
Сообщений: 1,697
15.12.2010, 10:01
lexalex, извиняюсь, не поняла сразу, я думала, что из-за мускула только окно с предупреждением выходит.. в акцессе при работе с распределенной базой подобное предупреждение выходит, если по умолчанию в параметрах акцесса задана блокировка изменяемой записи
0
0 / 0 / 0
Регистрация: 14.12.2010
Сообщений: 5
15.12.2010, 10:11  [ТС]
Цитата Сообщение от Елена Посмотреть сообщение
lexalex, извиняюсь, не поняла сразу, я думала, что из-за мускула только окно с предупреждением выходит.. в акцессе при работе с распределенной базой подобное предупреждение выходит, если по умолчанию в параметрах акцесса задана блокировка изменяемой записи
вот Вам Параметры........вроде ничего нестоит-все нормально.....Вы на код глянте лучше-может че там не так.....и вообще как его можно переписать используя RecordSet?????
Миниатюры
Несовсем работает код. Ошибка  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2010, 10:11
Помогаю со студенческими работами здесь

Не работает код, ошибка сегментирования
Программа на C89. Компилятор GCC. /* Разработать заданные функции для иерархической (двухуровневой) структуры данных. Двухуровневый...

Ошибка 462, код работает через раз
Доброй ночи засыпаю и просыпаюсь уже несколько дней с мыслями, как решить проблему проблема в том, что при вставке из екселя в ворд,...

Не работает код. Где ошибка? (информация о процессах)
Вообщем код по сути должен вывести информацию о процессах. Но что то не выводит(( что не так делаю? может что не дописал?? unit Unit1; ...

Есть код, но он не полностью работает, в чем ошибка?
Вообще работает все хорошо , но как только добавляю две команды Unload Userform2 и Unload UserForm3 начинается проблема, он выполняет все...

В чем ошибка? В DataGridView не выводится таблица, но код работает
Короче, я подключил энтити, к dgv подключил БД, в formload вставил этот код BasketballSystem bs = new BasketballSystem(); var data =...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru