Actualizar tabla con DAO
Buenos días.
Mira tengo una tabla "Tb_Cooperativistas", donde tengo varios campos, como id_cooperativistas, num_coop, nom_coop, ap1_coop, baja, etc...
La cuestión es que tengo que actualizar el campo num_soc (número de socio), ya que al final del año, abra altas y bajas de cooperativistas (socios), entonces si por ejemplo el listado de altas esta así:
Socio nº1 ...
Socio nº2 ...
Socio nº4 ...
Socio nº6 ... Porque los socios nºs 3 y 5 se dieron de baja, al renumerar dicho campo tendrían que quedar de la siguiente forma:
Socio nº1
Socio nº2
Socio nº3 (Antiguo nº4)
Socio nº4 (Antiguo nº6)
Esto lo he conseguido hacer desde un formulario con un botón, al que le puesto el siguiente código:
Private Sub Comando10_Click()
Dim dbManejoWord As DAO.Database
Dim mitabla As DAO.Recordset
Dim Sql As String
Set dbManejoWord = CurrentDb()
Set mitabla = dbManejoWord.OpenRecordset("Tb_Cooperativistas", dbOpenDynaset)
Dim contador As Integer
contador = 1
mitabla.MoveFirst
While Not mitabla.EOF
mitabla.Edit
mitabla.Fields("num_coop") = contador
mitabla.Update
contador = contador + 1
mitabla.MoveNext
Wend
mitabla.Close
Set mitabla = Nothing
Set dbManejoWord = Nothing
Me.Lista8.Requery
End Sub
Y me funciona ok.
La cuestión es que si lo hago así se me actualizan todas las filas de la Tabla "Tb_Cooperativistas". Necesitaría hacerlo de forma que al pulsar el botón, me actualizase los cooperativistas de la cooperativa seleccionada en el formulario y que estén de alta...
¿Cómo puedo conseguir lo que necesito?
Muchas gracias.
AdOC
Mira tengo una tabla "Tb_Cooperativistas", donde tengo varios campos, como id_cooperativistas, num_coop, nom_coop, ap1_coop, baja, etc...
La cuestión es que tengo que actualizar el campo num_soc (número de socio), ya que al final del año, abra altas y bajas de cooperativistas (socios), entonces si por ejemplo el listado de altas esta así:
Socio nº1 ...
Socio nº2 ...
Socio nº4 ...
Socio nº6 ... Porque los socios nºs 3 y 5 se dieron de baja, al renumerar dicho campo tendrían que quedar de la siguiente forma:
Socio nº1
Socio nº2
Socio nº3 (Antiguo nº4)
Socio nº4 (Antiguo nº6)
Esto lo he conseguido hacer desde un formulario con un botón, al que le puesto el siguiente código:
Private Sub Comando10_Click()
Dim dbManejoWord As DAO.Database
Dim mitabla As DAO.Recordset
Dim Sql As String
Set dbManejoWord = CurrentDb()
Set mitabla = dbManejoWord.OpenRecordset("Tb_Cooperativistas", dbOpenDynaset)
Dim contador As Integer
contador = 1
mitabla.MoveFirst
While Not mitabla.EOF
mitabla.Edit
mitabla.Fields("num_coop") = contador
mitabla.Update
contador = contador + 1
mitabla.MoveNext
Wend
mitabla.Close
Set mitabla = Nothing
Set dbManejoWord = Nothing
Me.Lista8.Requery
End Sub
Y me funciona ok.
La cuestión es que si lo hago así se me actualizan todas las filas de la Tabla "Tb_Cooperativistas". Necesitaría hacerlo de forma que al pulsar el botón, me actualizase los cooperativistas de la cooperativa seleccionada en el formulario y que estén de alta...
¿Cómo puedo conseguir lo que necesito?
Muchas gracias.
AdOC
Respuesta de oscarlmv
1