ник: час
Посоветуйте по отимизации кода...
Я сравниваю (rstOsnovna DAO.Recordset) и (rstHelnok DAO.Recordset) , одноимённые поля проверяю на разность содержащихся в них данных.Так как эти таблицы из разных офисов в них наверняка есть разница .
If Nz(rstOsnovna!NOMER) <> Nz(rstHelnok![NOMER]) Then raznicaECTb = 1
If Nz(rstOsnovna!NAME) <> Nz(rstHelnok![NAME]) Then raznicaECTb = 1
If Nz(rstOsnovna!NDATE) <> Nz(rstHelnok![NDATE]) Then raznicaECTb = 1
и т.д. ......................
всё бы не плохо но говорят ( If ) очень медленно работает и если два десятка полей, тысячи записей, то сравнение пройдёт долго.
потому я решил попробовать иначе...
Set Helndb = wsp.OpenDatabase(put_k_baze"Helnok.mdb")
Set rstOsnovna = CurrentDB.OpenRecordset("dog" , dbOpenDynaset)
Set rstHelnok = Helndb.OpenRecordset("dog1", dbOpenDynaset)
dim name_field as string
dim raznicaECTb as integer
raznicaECTb =0
Do Until rstHelnok.EOF = True
‘, но вот это место я незнаю как записать
‘надо как-то пробежаться по названию полей
‘сравнить их содержимое на наличие разницы
name_field =rstHelnok.name
If Nz(rstOsnovna!(name_field)) <> Nz(rstHelnok!(name_field) Then raznicaECTb = 1
Loop
if raznicaECTb = 1 then‘ и если хотя бы одно поле не совпадает по содержимому, то принять меры…
else
end if
Но может у кого-то есть другое , уже испытанное решение…