Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2012, 12:16   #31
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

Спасибо Woodlin! Вы молодец! Последний вопрос как можно сделать, чтобы флажки обновлялись? А то постоянно нажимать F5 пользователи не будут. Update Screen в Excel есть, а в Access будет аналогично?
slone2179 вне форума Ответить с цитированием
Старый 04.03.2012, 16:21   #32
Woodlin
Форумчанин
 
Регистрация: 30.03.2010
Сообщений: 153
По умолчанию

Если я правильно понимаю о чём речь, попробуйте на событие флажка После обновления повесить такой код:
Код:
Me.Refresh
Woodlin вне форума Ответить с цитированием
Старый 04.03.2012, 18:28   #33
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

Спасибо огромное! Сколько и что нужно читать в день, чтобы программировать без проблем?
slone2179 вне форума Ответить с цитированием
Старый 05.03.2012, 11:51   #34
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

Последний вопрос, добавляю кнопку разделить в форме second_step. Выделяем к примеру запись Hello Количество 700. Нажимаю кнопку Разделить появляется окно с двумя полями, для того, чтобы 700 разбить на числа: Вбиваю 300 в одно поле и 400 в другое.
было:
Hello 700
В итоге получаем после разбивки:
Hello 300
Hello 400
slone2179 вне форума Ответить с цитированием
Старый 05.03.2012, 14:20   #35
Woodlin
Форумчанин
 
Регистрация: 30.03.2010
Сообщений: 153
По умолчанию

Добавлена таблица Quantity, где содержится количество. Создана связь с табл COLLECTION.
Ввод значений после разбивки производится в форме frm_Set_Quantity, вызывается из формы second_step
Источник записей second_step - запрос qry_Quantity.
Вложения
Тип файла: rar CO5.rar (52.5 Кб, 6 просмотров)
Woodlin вне форума Ответить с цитированием
Старый 05.03.2012, 20:11   #36
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

Спасибо, Woodlin! Да в Access с VBA все возможно. Если используется запрос, куда нужно поставить условие на следующее?
Запись число 150 в первое поле вбиваю 100, а во втором автоматом (чтобы не было ошибки) число 50?
slone2179 вне форума Ответить с цитированием
Старый 05.03.2012, 20:12   #37
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

По-подробнее:
Hello 150
Нажимаю кнопку Разбить
В первое поле вбиваю 100
Во втором автоматом 50, т.е. если я ставлю число к примеру 80 вылетает ошибка.
slone2179 вне форума Ответить с цитированием
Старый 05.03.2012, 21:32   #38
Woodlin
Форумчанин
 
Регистрация: 30.03.2010
Сообщений: 153
По умолчанию

В форме frm_Set_Quantity на поле Quantity в событие до обновления поместите код:
Код:
Private Sub Quantity_BeforeUpdate(Cancel As Integer)
Dim me_Rst As Recordset '-- будет клон рекордсета формы
Dim S As Single         '-- Сумма количеств
Dim id_Curr As Long     '-- id текущей записи формы

id_Curr = Me.Id
Set me_Rst = Me.RecordsetClone

If me_Rst.RecordCount = 0 Then Exit Sub

    me_Rst.MoveFirst
    
    Do Until me_Rst.EOF
        If me_Rst!Id <> id_Curr Then
            S = S + me_Rst!Quantity
        End If
        me_Rst.MoveNext
    Loop
    
    
    If S + Me.Quantity.Text > Me.Количество_Первоначальное Then
        MsgBox "Ошибка!"
        Cancel = True
    End If
End Sub
Woodlin вне форума Ответить с цитированием
Старый 05.03.2012, 22:52   #39
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

Ну все я убит. Спасибо. Я сейчас делаю копию таблицы откуда будут данные, т.к. исходная таблица нужна без изменений. А в копии будут разбивки сохранятся и т.п.
slone2179 вне форума Ответить с цитированием
Старый 06.03.2012, 13:51   #40
slone2179
Форумчанин
 
Аватар для slone2179
 
Регистрация: 22.04.2011
Сообщений: 155
По умолчанию

А можно сделать, чтобы в следующем поле выводился остаток? К примеру первоначальное значение 5, в первое поле ввожу 4, то в следующем появляется цифра 1. Где это указать в цикле, если конечно я двигаюсь в верном направлении

Do Until me_Rst.EOF
If me_Rst!Id <> id_Curr Then
S = S + me_Rst!Quantity
End If
me_Rst.MoveNext
Loop
slone2179 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос на выборку и отчет на этот запрос Camelot_2012 Microsoft Office Access 2 21.12.2011 16:48
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
[HELP] Запрос/Отчет AlexandrSN Microsoft Office Access 2 24.03.2009 00:59
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50