Объединение по условию

terkin_vv
Дата: 17.12.2015 06:16:50
Здравствуйте! В базе необходимо объединить записи как указано на рисунке. Как реализовать? Кусок базы прилагаю)
terkin_vv
Дата: 17.12.2015 06:18:21
terkin_vv,
ПЕНСИОНЕРКА
Дата: 17.12.2015 09:06:13
terkin_vv,

не поняла, что надо получить
УДДата ВУДФабулаСтатьячастьпунктПримечаниеЭпизодДата совершенияРешениеДата решения
20080/2304.12.2008Н/Л тайно похитило запчасти1582В ППЛ, средней тяжести, подлежит прекращению в 2015112.11.2008приостановлено за неустановлением04.02.2009
Akina
Дата: 17.12.2015 09:12:04
terkin_vv
К сообщению приложен файл (Для форума.rar - 25Kb)

Прежде чем выкладывать - проверяй, что выкладываешь. База - битая...

terkin_vv
необходимо объединить записи как указано на рисунке

Что должно являться итогом такого объединения? Удаление второй записи и перенос данных из неё в первую? Запрос, объединяющий эти записи? По каким полям идентифицируется запись? что делать, если два неидентифицирующих поля неNULLевые, но не совпадают?
terkin_vv
Дата: 17.12.2015 09:30:16
Akina,

База не битая, просто 64 битная))), выкладываю в другом формате)

Итогом объединения хотелось бы видеть Удаление второй записи и перенос данных из неё в первую. Запись идентифицируется по номеру делу и дате возбуждения.
Akina
Дата: 17.12.2015 09:39:52
terkin_vv
Итогом объединения хотелось бы видеть Удаление второй записи и перенос данных из неё в первую.

Сформулируйте чёткий однозначный критерий, согласно которому нужно именно первую обновить, а вторую удалить, а не наоборот.
Akina
Дата: 17.12.2015 09:40:21
И ответьте всё-таки на вопрос
Akina
что делать, если два неидентифицирующих поля неNULLевые, но не совпадают?
terkin_vv
Дата: 17.12.2015 09:48:40
Akina,
Если честно, то еще не решил, но как вариант либо убивать одну из записей (что чревато, по моему мнению, потерей информации), либо дописывать одну в другую через разделитель (например ";"), либо оставлять и удалять потом вручную(
terkin_vv
Дата: 17.12.2015 10:44:41
Akina,

Удалить необходимо будет запись в которой будут пустые не идентифицирующие поля
-Практикант-
Дата: 17.12.2015 13:34:14
terkin_vv, потестируйте такой код
Dim DB As DAO.Database, RSD As DAO.Recordset, RSM As DAO.Recordset, fld As DAO.Field
Dim sq$, sf$
  Set DB = CurrentDb
  sq = "SELECT * FROM Дела ORDER BY УД, [Дата ВУД], Код"
  Set RSD = DB.OpenRecordset(sq)
  sq = "SELECT T1.* FROM Дела As T1 " & _
       "WHERE T1.Код=(SELECT Min(T2.Код) FROM Дела As T2 " & _
       "WHERE T2.УД=T1.УД And  T2.[Дата ВУД]=T1.[Дата ВУД]) " & _
       "ORDER BY T1.УД, T1.[Дата ВУД]"
  Set RSM = DB.OpenRecordset(sq)
  Do Until RSM.EOF Or RSD.EOF
    If RSM!Код = RSD!Код Then
      RSD.MoveNext
    ElseIf RSM!УД = RSD!УД And RSD![Дата ВУД] = RSM![Дата ВУД] Then
      RSM.Edit
      For Each fld In RSM.Fields
        sf = fld.Name
        If Len(RSM(sf) & "") = 0 Then RSM(sf) = RSD(sf)
      Next
      RSM.Update
      RSD.Delete
      RSD.MoveNext
    Else
      RSM.MoveNext
    End If
  Loop
  Set fld = Nothing: RSD.Close: RSM.Close
  Set RSD = Nothing: Set RSM = Nothing: Set DB = Nothing