Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите новичку
 
 автор: ars_bs   (20.04.2008 в 03:59)   личное сообщение
 
 

этот код не работает с большим числом записей, подскажите как правильно сделать расчет и тем более это все работает медленно а хочется побыстрее

Sub raschet()
' открываем таблицу raschet
Dim rs As New ADODB.Recordset
rs.Open "raschet", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'переходим на первую запись
rs.MoveFirst
'выполняем условия пока недостигнем конца таблицы
Do Until rs.EOF
'условие периода
If rs("period").Value = Forms![forma1]![period]![period] Then
' произведен или нет учет
If rs("uchet").Value = False Then
' выбирам как расчитывать
Select Case rs("kod_vid_rab").Value
Case "1"
rs("itog").Value = rs("cena").Value * rs("chas").Value * rs("kty").Value - rs("vichet").Value
' rs("kol").Value = 0
'rs.Update
Case "2"
rs("itog") = rs("cena").Value * rs("kol").Value - rs("vichet").Value
rs("chas").Value = 0
rs("kty").Value = 0
'rs.Update
End Select
'Call vidrabot
End If
End If
rs.MoveNext
'rs.Update
Loop
'rs.Update
rs.Close
Set rs = Nothing
MsgBox "Расчет окончен"
End Sub

  Ответить  
 
 автор: ars_bs   (20.04.2008 в 13:34)   личное сообщение
 
 

вот придумал еще работает гараздо быстрей ка вы думаете, только вот как программно отключить подтверждение изменения поля, знаю что гдето есть а где немогу найти подскажите плиз
Dim sq1 As String
Dim sq2 As String
sq1 = "update raschet set itog=chas*cena*kty where (((raschet.period)=[Forms]![forma1]![period]![period]))and (((raschet.kod_vid_rab) =1)) "
sq2 = "update raschet set itog =kol*cena where (((raschet.period)=[Forms]![forma1]![period]![period]))and (((raschet.kod_vid_rab) =2)) "
DoCmd.RunSQL sq1
DoCmd.RunSQL sq2
Forms![forma1]![ïîä÷èíåííàÿ ôîðìà raschet].Requery

  Ответить  
 
 автор: ГлазастыйМышь   (20.04.2008 в 21:47)   личное сообщение
 
 

DoCmd.SetWarning False - отключить подтверждение

DoCmd.SetWarning True - вернуть

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList