Problema Al Insertar Registro

Johnnara
19 de Agosto del 2004
Hola:
Tengo unos problemillas a la hora de insertar un nuevo registro en una tabla de access.
Este es el codigo que utilizo. Pueden echarme una mano ?. EL probema es que me duplica la clave principal de la tabla aun cuando le digo que aumente el valor maximo de la tabla +1.


Private Conexion As New ADODB.Connection


Conexion.Open("Provider=Microsoft.jet.oledb.4.0;" & Ruta & ";", "Admin", "")

Dim SqlA As String = "SELECT Count(Accesos.IdAcceso) AS CuentaAcceso, Accesos.Fecha," _
& "Accesos.Hora, Accesos.IdSocio, Accesos.IdActividad, Accesos.Permitido, " _
& "Accesos.IdAcceso, Max(Accesos.IdAcceso) as DMax " _
& "FROM Accesos " _
& "GROUP BY Accesos.Fecha, Accesos.Hora, Accesos.IdSocio, Accesos.IdActividad," _
& "Accesos.Permitido,Accesos.IdAcceso;"


With TablaAccesos
.ActiveConnection = Conexion
.Open(SqlA, , ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockPessimistic)
End With

TablaAccesos.Fields("IdAcceso").Value = TablaAccesos.Fields("DMax").Value + 1
TablaAccesos.Fields("Fecha").Value = Today
TablaAccesos.Fields("Hora").Value = Now
TablaAccesos.Fields("IdActividad").Value = Cliente.Fields("IdActividad").Value
\'TablaAccesos.Fields("Permitido").Value = False
\'TablaAccesos.Fields("Nota").Value = "Inactivo"

TablaAccesos.Update

No se si es esta la forma correcta de crear un nuevo registro pero estoy un pegado en visual net

Roberto
19 de Agosto del 2004
Lo que puedes hacer es poner el Id (Clave Principal) en lugar de Numérico como Autonumérico y no paserle ningún valor al insertar, ya que lo pondría el automáticamente.

Espero que esto te pueda ayudar.

Un Saludo Roberto.