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

Форум: MS ACCESS

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

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

 
 

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

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

тема: удалить записи из таблицы. 2003
 
 автор: Miami   (07.05.2009 в 04:45)   личное сообщение
 
 

Всем привет.
подскажите мне вот что:

В таблице tb1 есть набор записей. Есть поле "Номер".
В таблице temp, так же есть поле "Номер" и записи в эту таблицу добавляются вот так

For ixx = dobav_s To dobav_po
bso_temp.AddNew
bso_temp![Nomer] = Mid(CStr(ixx), 2, 10)
bso_temp.Update
Next


а теперь, после того как записи туда попали в таблицу temp, то надо чтобы удалились те, в которых поле "номер" в таблице temp и tb1 совпадают. То есть в итоге, должны остаться только те "номера", которых нет в главной таблице tb1.
пробовал сделать так, но не получается


With bso_temp
bso_temp.MoveFirst
  If bso_temp![Nomer] = rs![Номер] Then .Delete
bso_temp.MoveNext
End With
.

  Ответить  
 
 автор: Кабан   (07.05.2009 в 08:41)   личное сообщение
 
 

добавлять записи примерно так

currentdb.execute "insert into temp select tb1.Nomer from tb1",dbFailOnError

удалять

currentdb.execute "delete temp.* from temp where not temp.[Номер] in (select tb1.Nomer from tb1)" ,dbFailOnError

  Ответить  
 
 автор: Анатолий (Киев)   (07.05.2009 в 10:49)   личное сообщение
 
 

Т.е. вы сначала добавляете в таблицу кучу записей, а затем удаляете ненужные?
Это неразумно! Попробуйте так:

For ixx = dobav_s To dobav_po 

  s = Mid(CStr(ixx), 2, 10) 
  rs_tb1.FindFirst "[Номер]=" & s
 If rs_tb1.NoMatch then
  bso_temp.AddNew 
  bso_temp![Nomer] = s
  bso_temp.Update 
 End If
Next

  Ответить  
 
 автор: Miami   (08.05.2009 в 02:56)   личное сообщение
 
 

не получается..записи вообще не добавляются.
хмммм, а таблицы должны быть связаны? просто у меня таблица temp сама по себе

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