Vamos a ver si consigo explicarme. Te voy a poner el ejemplo suponiendo que atributo se repita dos veces, si fuera mas, en los if habría que hacer lo miso con If c=3 then... Supongamos que tienes una tabla Atributo, que tiene los campos Atributo y Casos. Y tienes otra tabla llamada Casos, con Id(Autonumerico), Atributo y Caso.
Con la tabla Atributo crea un formulario(da igual si es en columna o continuos). En el diseño del formulario ponle un botón de comando y en sus propiedades-eventos-Al hacer clic ponle
DoCmd.SetWarnings False
DoCmd.GoToRecord , , acFirst
Dim i As Integer
For i = 1 To Form.Recordset.RecordCount
Dim a, b, c As Integer
a = DLast("casos", "atributo", "atributo=forms!atributo!atributo")
c = DCount("casos", "atributo", "atributo=forms!atributo!atributo")
If c = 1 Then
DoCmd.RunSQL "insert into casos(atributo,casos)values(atributo,casos)"
Else
b = Casos & "," & DLast("casos", "atributo", "atributo=forms!atributo!atributo")
DoCmd.RunSQL "insert into casos(atributo,casos)values(atributo,'" & b & "')"
If DCount("atributo", "casos", "atributo=forms!atributo!atributo") > 1 Then
DoCmd.RunSQL "delete * from casos where id= DMax(""nz([id])"", ""casos"", ""atributo=forms!atributo!atributo"")"
End If
End If
DoCmd.GoToRecord , , acNext
Next
DoCmd. GoToRecord,, acFirst
Parece complicado pero te explico la secuencia
Lo de docmd. Setwarnings es para que no aparezcan las dichosas ventanitas de " Va a anexar...
Después le digo que vaya al primer registro. Lo de i=1... es para que vaya recorriendo los registros y que en cada registro cuente cuantos atributos repetidos hay en la tabla Atributos que coincidan con el del registro actual. Si sólo es uno, que lo deje como esta. Si hay mas, que inserte en la tabla Casos, el valor de atributo y en el campo Casos, que una el valor de caso, con el del siguiente registro
Luego le digo que vaya al siguiente registro, y que esto lo haga hasta llegar al final del formulario
De todas formas, si ves que es complicado(lo parece pero no es), y quieres, mándame un mensaje a [email protected] y te mando un ejemplo. Si lo haces, en el asunto de mensaje pon tu alias krlos ya que si no sé quien me escribe no los abro.